[Pkg-virtualbox-commits] [virtualbox] 01/02: Imported Upstream version 5.0.0~RC1-dfsg

Gianfranco Costamagna locutusofborg-guest at moszumanska.debian.org
Tue Jun 2 15:33:43 UTC 2015


This is an automated email from the git hooks/post-receive script.

locutusofborg-guest pushed a commit to annotated tag upstream/5.0.0_RC1-dfsg
in repository virtualbox.

commit 2e26cbb57b3c49ec0328912eb22ba2cc57cf42cb
Author: Gianfranco Costamagna <costamagnagianfranco at yahoo.it>
Date:   Tue Jun 2 17:16:53 2015 +0200

    Imported Upstream version 5.0.0~RC1-dfsg
---
 Config.kmk                                         |   12 +-
 configure                                          |    8 +-
 doc/manual/Makefile.kmk                            |  593 +++---
 doc/manual/docbook-htmlhelp-formatcfg.xsl          |   17 +
 doc/manual/docbook-refentry-to-man.xsl             |   31 +
 doc/manual/docbook-refentry-to-manual-sect1.xsl    |   94 +
 doc/manual/docbook2latex.xsl                       |  223 +-
 doc/manual/en_US/SDKRef.xml                        |   25 +-
 doc/manual/en_US/man_VBoxManage_extpack.xml        |  137 ++
 doc/manual/en_US/user_BasicConcepts.xml            |    7 +-
 doc/manual/en_US/user_Installation.xml             |    4 +-
 doc/manual/en_US/user_Introduction.xml             |   14 +-
 doc/manual/en_US/user_VBoxManage.xml               |  181 +-
 doc/manual/user_ChangeLogImpl.xml                  |   52 +-
 include/VBox/VBoxVideo.h                           |    7 +
 include/VBox/com/errorprint.h                      |  193 +-
 include/VBox/err.h                                 |   25 +-
 include/VBox/err.mac                               |    2 -
 include/VBox/intnetinline.h                        |   24 +-
 include/VBox/log.h                                 |    3 +
 include/VBox/settings.h                            |    3 +-
 include/VBox/shflsvc.h                             |   72 +-
 include/VBox/types.h                               |    6 +-
 include/VBox/vd.h                                  |   23 +-
 include/VBox/vmm/hm_svm.h                          |   25 +-
 include/VBox/vmm/iom.h                             |    4 -
 include/VBox/vmm/patm.h                            |    6 +-
 include/VBox/vmm/pdmaudioifs.h                     |   17 -
 include/VBox/vmm/pdmdev.h                          |   17 +-
 include/VBox/vmm/pdmdrv.h                          |   17 +-
 include/VBox/vmm/pdmifs.h                          |  171 --
 include/VBox/vmm/pdmnetinline.h                    |   48 +-
 include/VBox/vmm/pdmusb.h                          |    8 +-
 include/VBox/vmm/pgm.h                             |  152 +-
 include/VBox/vmm/vm.h                              |    2 +-
 include/VBox/vusb.h                                |   56 +-
 include/iprt/asm.h                                 |    8 +-
 include/iprt/asn1-generator-pass.h                 |   33 +-
 include/iprt/cdefs.h                               |   25 +-
 include/iprt/cpp/list.h                            |   45 +-
 include/iprt/cpuset.h                              |   52 +-
 include/iprt/err.h                                 |   13 +-
 include/iprt/log.h                                 | 1275 +++++++-----
 include/iprt/mangling.h                            |    5 +-
 include/iprt/mem.h                                 |   12 +-
 .../common/VBoxGuest/VBoxGuest-haiku-stubs.c       |   12 +-
 .../Additions/common/VBoxGuest/VBoxGuest-haiku.c   |    4 +-
 .../Additions/common/VBoxGuest/VBoxGuest-haiku.h   |    4 +-
 .../Additions/common/VBoxGuest/VBoxGuest-linux.c   |   14 +-
 .../VBoxGuestLib/VBoxGuestR3LibRuntimeXF86.cpp     |   14 +-
 src/VBox/Additions/common/crOpenGL/Makefile.kmk    |    7 +
 src/VBox/Additions/common/crOpenGL/pack/packspu.h  |    4 +-
 .../Additions/common/crOpenGL/pack/packspu_init.c  |   22 +-
 src/VBox/Additions/solaris/DRM/vboxvideo_drm.c     |    3 -
 .../Additions/solaris/Installer/postinstall.sh     |    2 +-
 src/VBox/Additions/solaris/Virtio/Virtio-solaris.c |    3 -
 .../Additions/solaris/Virtio/VirtioNet-solaris.c   |    3 -
 .../Additions/solaris/Virtio/VirtioPci-solaris.c   |    3 -
 .../Additions/solaris/Virtio/VirtioRing-solaris.c  |    3 -
 src/VBox/Additions/x11/VBoxClient/display.cpp      |   17 +-
 src/VBox/Additions/x11/VBoxClient/draganddrop.cpp  |  575 ++++--
 src/VBox/Additions/x11/VBoxClient/main.cpp         |    3 +-
 src/VBox/Additions/x11/vboxvideo/Makefile.kmk      |    2 +-
 src/VBox/Additions/x11/vboxvideo/vboxvideo.c       |   39 +-
 src/VBox/Debugger/DBGCCommands.cpp                 |    2 +-
 src/VBox/Debugger/DBGPlugInLinux.cpp               |   40 +-
 src/VBox/Devices/Audio/AudioMixBuffer.cpp          |  425 +++-
 src/VBox/Devices/Audio/AudioMixBuffer.h            |   55 +-
 src/VBox/Devices/Audio/AudioMixer.cpp              |   40 +-
 src/VBox/Devices/Audio/AudioMixer.h                |   30 +-
 src/VBox/Devices/Audio/DevIchAc97.cpp              |  362 +---
 src/VBox/Devices/Audio/DevIchHda.cpp               |  248 +--
 src/VBox/Devices/Audio/DevIchHdaCodec.cpp          |  147 +-
 src/VBox/Devices/Audio/DevIchHdaCodec.h            |   14 -
 src/VBox/Devices/Audio/DevSB16.cpp                 |  233 +--
 src/VBox/Devices/Audio/DrvAudio.cpp                |   26 +-
 src/VBox/Devices/Audio/DrvAudioCommon.cpp          |   12 +-
 src/VBox/Devices/Audio/DrvHostALSAAudio.cpp        |   10 +-
 src/VBox/Devices/Audio/DrvHostCoreAudio.cpp        |   94 +-
 src/VBox/Devices/Audio/DrvHostDSound.cpp           |   16 +-
 src/VBox/Devices/Audio/DrvHostNullAudio.cpp        |    2 +-
 src/VBox/Devices/Audio/DrvHostOSSAudio.cpp         |   14 +-
 src/VBox/Devices/Audio/DrvHostPulseAudio.cpp       |   44 +-
 src/VBox/Devices/Audio/alsaaudio.c                 | 1194 -----------
 src/VBox/Devices/Audio/audio.c                     | 2159 -------------------
 src/VBox/Devices/Audio/audio.h                     |  205 --
 src/VBox/Devices/Audio/audio_int.h                 |  338 ---
 src/VBox/Devices/Audio/audio_template.h            |  574 ------
 src/VBox/Devices/Audio/audiosniffer.c              |  679 ------
 src/VBox/Devices/Audio/coreaudio.c                 | 2179 --------------------
 src/VBox/Devices/Audio/dsound_template.h           |  227 --
 src/VBox/Devices/Audio/dsoundaudio.c               | 1351 ------------
 src/VBox/Devices/Audio/filteraudio.c               |  987 ---------
 src/VBox/Devices/Audio/mixeng.c                    |  377 ----
 src/VBox/Devices/Audio/mixeng.h                    |   68 -
 src/VBox/Devices/Audio/mixeng_template.h           |  208 --
 src/VBox/Devices/Audio/noaudio.c                   |  181 --
 src/VBox/Devices/Audio/ossaudio.c                  |  897 --------
 src/VBox/Devices/Audio/pulseaudio.c                |  866 --------
 src/VBox/Devices/Audio/rate_template.h             |  111 -
 src/VBox/Devices/Audio/solaudio.c                  |  871 --------
 src/VBox/Devices/Audio/testcase/Makefile.kmk       |    6 +-
 .../Devices/Audio/testcase/tstAudioMixBuffer.cpp   |  200 +-
 src/VBox/Devices/Audio/winaudio.c                  |  801 -------
 src/VBox/Devices/Bus/DevPciIch9.cpp                |    8 +-
 .../Graphics/BIOS/VBoxVgaBiosAlternative.asm       |  258 +--
 .../Graphics/BIOS/VBoxVgaBiosAlternative.md5sum    |    2 +-
 src/VBox/Devices/Graphics/DevVGA-SVGA.cpp          |   22 +-
 src/VBox/Devices/Graphics/DevVGA.cpp               |   15 +-
 src/VBox/Devices/Graphics/DevVGA_VBVA.cpp          | 1021 +++++----
 src/VBox/Devices/Makefile.kmk                      |  143 +-
 src/VBox/Devices/Network/DevE1000.cpp              |    2 +-
 src/VBox/Devices/Network/DevPCNet.cpp              |  119 +-
 src/VBox/Devices/Network/SrvIntNetR0.cpp           |   12 +-
 .../Devices/Network/lwip-new/src/core/ipv4/ip4.c   |    4 +-
 .../Network/lwip-new/vbox/include/lwip-log.h       |   15 +-
 src/VBox/Devices/Network/lwipopts.h                |    6 +-
 src/VBox/Devices/Network/slirp/bootp.c             |    2 +-
 src/VBox/Devices/Network/slirp/slirp.c             |   32 +-
 src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm   |  156 +-
 .../Devices/PC/BIOS/VBoxBiosAlternative.md5sum     |    2 +-
 src/VBox/Devices/Serial/DevSerial.cpp              |    2 +-
 src/VBox/Devices/Storage/DevAHCI.cpp               |   26 +-
 src/VBox/Devices/Storage/DrvVD.cpp                 |   23 +-
 src/VBox/Devices/USB/VUSBInternal.h                |   27 +-
 .../Devices/USB/solaris/USBProxyDevice-solaris.cpp |    3 -
 src/VBox/Devices/VMMDev/VMMDev.cpp                 |   14 +-
 src/VBox/Devices/build/VBoxDD.cpp                  |   33 +-
 src/VBox/Devices/build/VBoxDD.h                    |   23 +-
 src/VBox/Devices/testcase/Makefile.kmk             |    3 +-
 src/VBox/Devices/testcase/tstDeviceStructSize.cpp  |    5 +-
 .../Devices/testcase/tstDeviceStructSizeRC.cpp     |   10 +-
 .../Frontends/VBoxAutostart/VBoxAutostartStart.cpp |    4 +-
 .../Frontends/VBoxAutostart/VBoxAutostartStop.cpp  |    4 +-
 .../VBoxBalloonCtrl/VBoxModAPIMonitor.cpp          |    6 +-
 .../VBoxBalloonCtrl/VBoxModBallooning.cpp          |    2 +-
 .../Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp     |    4 +-
 .../Frontends/VBoxManage/VBoxInternalManage.cpp    |  262 +--
 src/VBox/Frontends/VBoxManage/VBoxManage.cpp       |  433 ++--
 src/VBox/Frontends/VBoxManage/VBoxManage.h         |   84 +-
 .../Frontends/VBoxManage/VBoxManageAppliance.cpp   |    6 +-
 .../VBoxManage/VBoxManageBandwidthControl.cpp      |   18 +-
 .../Frontends/VBoxManage/VBoxManageControlVM.cpp   |  103 +-
 .../Frontends/VBoxManage/VBoxManageDHCPServer.cpp  |   19 +-
 .../Frontends/VBoxManage/VBoxManageDebugVM.cpp     |  170 +-
 src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp   |   69 +-
 .../Frontends/VBoxManage/VBoxManageGuestCtrl.cpp   |   23 +-
 .../VBoxManage/VBoxManageGuestCtrlListener.cpp     |    6 +-
 .../Frontends/VBoxManage/VBoxManageGuestProp.cpp   |   35 +-
 src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp   |    6 +-
 .../Frontends/VBoxManage/VBoxManageHostonly.cpp    |  300 ++-
 src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp   |   66 +-
 src/VBox/Frontends/VBoxManage/VBoxManageList.cpp   |   30 +-
 .../Frontends/VBoxManage/VBoxManageMetrics.cpp     |   97 +-
 src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp   |  105 +-
 .../Frontends/VBoxManage/VBoxManageModifyVM.cpp    |   10 +-
 .../Frontends/VBoxManage/VBoxManageNATNetwork.cpp  |  154 +-
 .../Frontends/VBoxManage/VBoxManageSnapshot.cpp    |  141 +-
 .../VBoxManage/VBoxManageStorageController.cpp     |   76 +-
 src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp    |   14 +-
 src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp             |    7 +-
 src/VBox/Frontends/VBoxShell/vboxshell.py          |    4 +-
 src/VBox/Frontends/VirtualBox/Makefile.kmk         |   17 +-
 src/VBox/Frontends/VirtualBox/VirtualBox1.qrc      |    1 -
 .../Frontends/VirtualBox/VirtualBox1_hidpi.qrc     |    6 +-
 src/VBox/Frontends/VirtualBox/VirtualBox2.qrc      |    3 +-
 .../Frontends/VirtualBox/VirtualBox2_hidpi.qrc     |    7 +-
 .../VirtualBox/images/guesttools_16px.png          |  Bin 622 -> 631 bytes
 .../images/hidpi/guesttools_16px_hidpi.png         |  Bin 1366 -> 1388 bytes
 .../VirtualBox/images/hidpi/hostkey_16px_hidpi.png |  Bin 1345 -> 1366 bytes
 .../VirtualBox/images/hidpi/hostkey_24px_hidpi.png |  Bin 1910 -> 1974 bytes
 .../VirtualBox/images/hidpi/hostkey_32px_hidpi.png |  Bin 3017 -> 3108 bytes
 .../images/hidpi/hostkey_captured_16px_hidpi.png   |  Bin 1432 -> 1434 bytes
 .../hidpi/hostkey_captured_pressed_16px_hidpi.png  |  Bin 1416 -> 1411 bytes
 .../images/hidpi/hostkey_pressed_16px_hidpi.png    |  Bin 1321 -> 1350 bytes
 .../images/hidpi/hostkey_warning_16px_hidpi.png    |  Bin 1862 -> 1843 bytes
 .../images/hidpi/keyboard_16px_hidpi.png           |  Bin 1842 -> 1561 bytes
 .../images/hidpi/keyboard_24px_hidpi.png           |  Bin 2822 -> 2933 bytes
 .../images/hidpi/keyboard_32px_hidpi.png           |  Bin 4041 -> 4066 bytes
 .../images/hidpi/keyboard_settings_16px_hidpi.png  |  Bin 1647 -> 2300 bytes
 .../VirtualBox/images/hidpi/menubar_16px_hidpi.png |  Bin 0 -> 608 bytes
 .../images/hidpi/menubar_disabled_16px_hidpi.png   |  Bin 0 -> 531 bytes
 .../images/hidpi/menubar_settings_16px_hidpi.png   |  Bin 0 -> 1634 bytes
 .../hidpi/menubar_settings_disabled_16px_hidpi.png |  Bin 0 -> 1481 bytes
 .../VirtualBox/images/hidpi/os_type_16px_hidpi.png |  Bin 0 -> 839 bytes
 .../VirtualBox/images/hidpi/proxy_16px_hidpi.png   |  Bin 797 -> 891 bytes
 .../VirtualBox/images/hidpi/proxy_24px_hidpi.png   |  Bin 909 -> 1145 bytes
 .../VirtualBox/images/hidpi/proxy_32px_hidpi.png   |  Bin 1005 -> 1306 bytes
 .../images/hidpi/proxy_warning_16px_hidpi.png      |  Bin 1594 -> 1671 bytes
 .../VirtualBox/images/hidpi/refresh_16px_hidpi.png |  Bin 2246 -> 2197 bytes
 .../VirtualBox/images/hidpi/refresh_22px_hidpi.png |  Bin 3628 -> 3425 bytes
 .../VirtualBox/images/hidpi/refresh_24px_hidpi.png |  Bin 4212 -> 3955 bytes
 .../VirtualBox/images/hidpi/refresh_32px_hidpi.png |  Bin 5948 -> 5529 bytes
 .../images/hidpi/refresh_warning_16px_hidpi.png    |  Bin 2417 -> 2380 bytes
 .../images/hidpi/shared_clipboard_16px_hidpi.png   |  Bin 488 -> 583 bytes
 .../images/hidpi/vm_pause_16px_hidpi.png           |  Bin 705 -> 700 bytes
 .../images/hidpi/vm_pause_on_16px_hidpi.png        |  Bin 823 -> 811 bytes
 .../images/hidpi/vm_poweroff_16px_hidpi.png        |  Bin 1559 -> 1482 bytes
 .../images/hidpi/web_camera_16px_hidpi.png         |  Bin 1826 -> 1882 bytes
 .../hidpi/web_camera_unavailable_16px_hidpi.png    |  Bin 0 -> 2349 bytes
 .../web_camera_unavailable_disabled_16px_hidpi.png |  Bin 0 -> 2245 bytes
 .../Frontends/VirtualBox/images/hostkey_16px.png   |  Bin 681 -> 3317 bytes
 .../Frontends/VirtualBox/images/hostkey_24px.png   |  Bin 948 -> 940 bytes
 .../Frontends/VirtualBox/images/hostkey_32px.png   |  Bin 1345 -> 1366 bytes
 .../VirtualBox/images/hostkey_captured_16px.png    |  Bin 693 -> 668 bytes
 .../images/hostkey_captured_pressed_16px.png       |  Bin 702 -> 718 bytes
 .../VirtualBox/images/hostkey_pressed_16px.png     |  Bin 680 -> 665 bytes
 .../VirtualBox/images/hostkey_warning_16px.png     |  Bin 790 -> 775 bytes
 .../Frontends/VirtualBox/images/keyboard_16px.png  |  Bin 399 -> 615 bytes
 .../Frontends/VirtualBox/images/keyboard_24px.png  |  Bin 1108 -> 979 bytes
 .../Frontends/VirtualBox/images/keyboard_32px.png  |  Bin 1842 -> 1561 bytes
 .../VirtualBox/images/keyboard_settings_16px.png   |  Bin 664 -> 833 bytes
 .../Frontends/VirtualBox/images/proxy_16px.png     |  Bin 484 -> 525 bytes
 .../Frontends/VirtualBox/images/proxy_24px.png     |  Bin 620 -> 683 bytes
 .../Frontends/VirtualBox/images/proxy_32px.png     |  Bin 797 -> 891 bytes
 .../VirtualBox/images/proxy_warning_16px.png       |  Bin 725 -> 724 bytes
 .../Frontends/VirtualBox/images/refresh_16px.png   |  Bin 900 -> 881 bytes
 .../Frontends/VirtualBox/images/refresh_22px.png   |  Bin 1366 -> 1322 bytes
 .../Frontends/VirtualBox/images/refresh_24px.png   |  Bin 1587 -> 1536 bytes
 .../Frontends/VirtualBox/images/refresh_32px.png   |  Bin 2264 -> 2198 bytes
 .../VirtualBox/images/refresh_warning_16px.png     |  Bin 915 -> 911 bytes
 .../VirtualBox/images/shared_clipboard_16px.png    |  Bin 344 -> 382 bytes
 .../images/{ => unused}/vm_pause_32px.png          |  Bin
 .../{hidpi => unused}/vm_pause_32px_hidpi.png      |  Bin
 .../images/{ => unused}/vm_pause_disabled_32px.png |  Bin
 .../vm_pause_disabled_32px_hidpi.png               |  Bin
 .../Frontends/VirtualBox/images/vm_pause_16px.png  |  Bin 386 -> 355 bytes
 .../VirtualBox/images/vm_pause_on_16px.png         |  Bin 446 -> 420 bytes
 .../VirtualBox/images/vm_poweroff_16px.png         |  Bin 791 -> 736 bytes
 .../VirtualBox/images/web_camera_16px.png          |  Bin 756 -> 765 bytes
 .../images/web_camera_unavailable_16px.png         |  Bin 885 -> 863 bytes
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts | 1828 +++++++++++++---
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts | 1878 ++++++++++++-----
 .../Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts   | 1878 ++++++++++++-----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts | 1842 +++++++++++++----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts | 1828 +++++++++++-----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts | 1868 +++++++++++++----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts |   16 +-
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts | 1860 +++++++++++++----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts | 1715 ++++++++-------
 .../Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts   | 1823 +++++++++++-----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts | 1743 +++++++++-------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts | 1820 +++++++++++-----
 .../Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts   | 1754 +++++++++-------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts | 1882 ++++++++++++-----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts | 1739 ++++++++++------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts | 1774 +++++++++++++---
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts | 1833 +++++++++++++---
 .../Frontends/VirtualBox/nls/VirtualBox_km_KH.ts   | 1713 +++++++++------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts | 1793 +++++++++++++---
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts | 1717 +++++++++------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts | 2165 ++++++++++++++-----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts | 1760 +++++++++-------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts | 1740 ++++++++++------
 .../Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts   | 1788 +++++++++++++---
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts | 1741 +++++++++-------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts | 1856 +++++++++++++----
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts | 1727 +++++++++-------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts | 1740 ++++++++++------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts | 1734 ++++++++++------
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts | 1817 +++++++++++++---
 src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts | 1836 ++++++++++++-----
 .../Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts   | 1592 +++++++-------
 .../Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts   | 1789 +++++++++++++---
 .../Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts   | 1807 +++++++++++++---
 .../Frontends/VirtualBox/src/UIVMInfoDialog.cpp    |    4 +-
 .../Frontends/VirtualBox/src/VBoxFBOverlay.cpp     |    2 +-
 .../VirtualBox/src/VBoxTakeSnapshotDlg.ui          |    3 +
 .../src/converter/UIConverterBackendCOM.cpp        |   28 +-
 .../src/converter/UIConverterBackendGlobal.cpp     |   10 +-
 .../VirtualBox/src/extensions/QIArrowSplitter.cpp  |    9 +-
 .../src/extensions/QIStatusBarIndicator.cpp        |    6 +-
 .../src/extensions/graphics/QIGraphicsView.cpp     |  109 +
 .../src/extensions/graphics/QIGraphicsView.h       |   46 +
 .../VirtualBox/src/extradata/UIExtraDataDefs.cpp   |    1 -
 .../VirtualBox/src/extradata/UIExtraDataDefs.h     |   36 +-
 .../src/extradata/UIExtraDataManager.cpp           |   24 +-
 .../VirtualBox/src/extradata/UIExtraDataManager.h  |    4 -
 .../VirtualBox/src/globals/UIActionPool.cpp        |   10 +-
 .../VirtualBox/src/globals/UIIconPool.cpp          |    9 +-
 .../VirtualBox/src/globals/UIMessageCenter.cpp     |  100 +-
 .../VirtualBox/src/globals/VBoxGlobal.cpp          |   39 +-
 .../Frontends/VirtualBox/src/medium/UIMedium.cpp   |   27 +-
 .../Frontends/VirtualBox/src/medium/UIMedium.h     |   12 +-
 .../VirtualBox/src/medium/UIMediumEnumerator.cpp   |   55 +-
 .../VirtualBox/src/medium/UIMediumManager.cpp      |   10 +-
 .../src/net/UINetworkManagerIndicator.cpp          |    9 +-
 src/VBox/Frontends/VirtualBox/src/precomp.cpp      |    3 +
 .../VirtualBox/src/runtime/UIActionPoolRuntime.cpp |  145 +-
 .../VirtualBox/src/runtime/UIActionPoolRuntime.h   |    3 +
 .../runtime/UIAddDiskEncryptionPasswordDialog.cpp  |   22 +-
 .../VirtualBox/src/runtime/UIDnDHandler.cpp        |   23 +-
 .../VirtualBox/src/runtime/UIDnDHandler.h          |    4 +-
 .../VirtualBox/src/runtime/UIDnDMIMEData.cpp       |    3 +
 .../VirtualBox/src/runtime/UIFrameBuffer.cpp       |   21 +-
 .../VirtualBox/src/runtime/UIIndicatorsPool.cpp    |    7 +-
 .../VirtualBox/src/runtime/UIMachineLogic.cpp      |   81 +-
 .../VirtualBox/src/runtime/UIMachineLogic.h        |    4 +-
 .../VirtualBox/src/runtime/UIMachineView.cpp       |   32 +-
 .../VirtualBox/src/runtime/UIMachineView.h         |    6 +
 .../VirtualBox/src/runtime/UIMachineWindow.cpp     |    2 +-
 .../src/runtime/UIMenuBarEditorWindow.cpp          |    1 +
 .../VirtualBox/src/runtime/UIMultiScreenLayout.cpp |    6 +-
 .../Frontends/VirtualBox/src/runtime/UISession.cpp |    6 +-
 .../src/runtime/UIStatusBarEditorWindow.cpp        |    8 +-
 .../fullscreen/UIMachineLogicFullscreen.cpp        |   74 +-
 .../src/runtime/normal/UIMachineViewNormal.cpp     |   42 +-
 .../src/runtime/normal/UIMachineViewNormal.h       |    6 +-
 .../src/runtime/scale/UIMachineViewScale.cpp       |   32 +-
 .../src/runtime/scale/UIMachineViewScale.h         |   10 +-
 .../runtime/seamless/UIMachineLogicSeamless.cpp    |   14 +-
 .../src/selector/UIActionPoolSelector.cpp          |   86 +-
 .../VirtualBox/src/selector/UISelectorWindow.cpp   |   81 +-
 .../VirtualBox/src/selector/VBoxSnapshotsWgt.cpp   |   54 +-
 .../graphics/chooser/UIGChooserHandlerMouse.cpp    |    1 +
 .../graphics/chooser/UIGChooserItemMachine.cpp     |   19 +-
 .../selector/graphics/chooser/UIGChooserModel.cpp  |   15 +-
 .../selector/graphics/chooser/UIGChooserModel.h    |    1 +
 .../selector/graphics/chooser/UIGChooserView.cpp   |    4 +-
 .../src/selector/graphics/chooser/UIGChooserView.h |    8 +-
 .../selector/graphics/details/UIGDetailsView.cpp   |    4 +-
 .../src/selector/graphics/details/UIGDetailsView.h |    8 +-
 .../graphics/details/UIGMachinePreview.cpp         |   33 +-
 .../src/settings/VBoxSettingsSelector.cpp          |   13 +-
 .../src/settings/global/UIGlobalSettingsDisplay.ui |    6 +-
 .../settings/global/UIGlobalSettingsExtension.cpp  |   16 +-
 .../src/settings/global/UIGlobalSettingsGeneral.ui |    4 +-
 .../src/settings/global/UIGlobalSettingsInput.cpp  |   10 +-
 .../settings/global/UIGlobalSettingsNetwork.cpp    |   52 +-
 .../global/UIGlobalSettingsNetworkDetailsHost.ui   |    4 +-
 .../global/UIGlobalSettingsNetworkDetailsNAT.ui    |   10 +-
 .../src/settings/global/UIGlobalSettingsProxy.ui   |    4 +-
 .../src/settings/global/UIGlobalSettingsUpdate.ui  |    2 +-
 .../src/settings/machine/UIMachineSettingsAudio.ui |    2 +-
 .../settings/machine/UIMachineSettingsDisplay.cpp  |   22 +-
 .../settings/machine/UIMachineSettingsDisplay.ui   |   61 +-
 .../settings/machine/UIMachineSettingsGeneral.cpp  |    2 +-
 .../settings/machine/UIMachineSettingsGeneral.ui   |    2 +-
 .../settings/machine/UIMachineSettingsInterface.ui |    6 +-
 .../settings/machine/UIMachineSettingsNetwork.cpp  |    6 +-
 .../settings/machine/UIMachineSettingsNetwork.ui   |   10 +-
 .../settings/machine/UIMachineSettingsParallel.cpp |   10 +-
 .../src/settings/machine/UIMachineSettingsSF.cpp   |   45 +-
 .../settings/machine/UIMachineSettingsSFDetails.ui |    2 +-
 .../settings/machine/UIMachineSettingsSerial.cpp   |   10 +-
 .../settings/machine/UIMachineSettingsSerial.ui    |    4 +-
 .../settings/machine/UIMachineSettingsStorage.cpp  |  110 +-
 .../settings/machine/UIMachineSettingsStorage.ui   |   14 +-
 .../settings/machine/UIMachineSettingsSystem.cpp   |   14 +-
 .../settings/machine/UIMachineSettingsSystem.ui    |   32 +-
 .../src/settings/machine/UIMachineSettingsUSB.cpp  |   69 +-
 .../src/settings/machine/UIMachineSettingsUSB.ui   |    6 +-
 .../machine/UIMachineSettingsUSBFilterDetails.ui   |   16 +-
 .../src/widgets/UIApplianceEditorWidget.cpp        |   43 +-
 .../VirtualBox/src/widgets/UIFilmContainer.cpp     |    2 +-
 .../VirtualBox/src/widgets/UIMiniToolBar.cpp       |    6 +-
 .../src/widgets/UINameAndSystemEditor.cpp          |    2 +-
 .../VirtualBox/src/widgets/UIPopupBox.cpp          |   25 +-
 .../src/widgets/UIPortForwardingTable.cpp          |   37 +-
 .../src/widgets/VBoxFilePathSelectorWidget.cpp     |    8 +-
 .../src/widgets/VBoxOSTypeSelectorButton.cpp       |    5 +-
 .../src/wizards/clonevd/UIWizardCloneVD.cpp        |    2 +-
 .../wizards/clonevd/UIWizardCloneVDPageBasic1.cpp  |    6 +-
 .../wizards/clonevd/UIWizardCloneVDPageBasic2.cpp  |    4 +-
 .../wizards/clonevd/UIWizardCloneVDPageBasic3.cpp  |   12 +-
 .../wizards/clonevd/UIWizardCloneVDPageBasic4.cpp  |    8 +-
 .../wizards/clonevd/UIWizardCloneVDPageExpert.cpp  |   12 +-
 .../src/wizards/clonevm/UIWizardCloneVM.cpp        |    7 +-
 .../wizards/clonevm/UIWizardCloneVMPageBasic2.cpp  |    6 +-
 .../UIWizardExportAppPageBasic1.cpp                |    6 +-
 .../VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp |    2 +-
 .../src/wizards/newvd/UIWizardNewVDPageBasic1.cpp  |    4 +-
 .../src/wizards/newvd/UIWizardNewVDPageBasic2.cpp  |   12 +-
 .../src/wizards/newvd/UIWizardNewVDPageBasic3.cpp  |   10 +-
 .../src/wizards/newvd/UIWizardNewVDPageExpert.cpp  |    6 +-
 .../src/wizards/newvm/UIWizardNewVMPageBasic3.cpp  |   16 +-
 .../src/wizards/newvm/UIWizardNewVMPageExpert.cpp  |   10 +-
 src/VBox/GuestHost/DragAndDrop/DnDURIList.cpp      |   32 +-
 src/VBox/GuestHost/OpenGL/include/cr_error.h       |    2 +-
 src/VBox/GuestHost/OpenGL/util/error.c             |    2 +-
 src/VBox/HostDrivers/Support/SUPDrv.cpp            |    7 +-
 src/VBox/HostDrivers/Support/SUPDrvIOC.h           |    4 +-
 src/VBox/HostDrivers/Support/SUPLib.cpp            |    6 +-
 .../HostDrivers/Support/darwin/SUPLib-darwin.cpp   |    4 +-
 .../HostDrivers/Support/freebsd/SUPLib-freebsd.cpp |    4 +-
 .../HostDrivers/Support/linux/SUPLib-linux.cpp     |    4 +-
 src/VBox/HostDrivers/Support/os2/SUPLib-os2.cpp    |    4 +-
 .../HostDrivers/Support/solaris/SUPDrv-solaris.c   |    4 -
 .../HostDrivers/Support/solaris/SUPLib-solaris.cpp |    4 +-
 src/VBox/HostDrivers/Support/win/winstub.com       |  Bin 128 -> 0 bytes
 .../VBoxNetAdp/solaris/VBoxNetAdp-solaris.c        |    4 -
 .../VBoxNetFlt/linux/VBoxNetFlt-linux.c            |  185 +-
 .../VBoxNetFlt/solaris/VBoxNetFlt-solaris.c        |    4 -
 .../VBoxNetFlt/solaris/VBoxNetFltBow-solaris.c     |    4 -
 .../HostDrivers/VBoxUSB/solaris/USBLib-solaris.cpp |    3 -
 .../HostDrivers/VBoxUSB/solaris/VBoxUSB-solaris.c  |    4 -
 .../VBoxUSB/solaris/VBoxUSBMon-solaris.c           |    4 -
 .../HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp |    5 +-
 src/VBox/HostServices/GuestControl/service.cpp     |   10 +-
 .../SharedOpenGL/crserver/crservice.cpp            |    4 +-
 .../crserverlib/presenter/server_presenter.cpp     |   36 +-
 .../HostServices/SharedOpenGL/crserverlib/server.h |    2 +-
 .../SharedOpenGL/crserverlib/server_main.c         |    6 +-
 src/VBox/Installer/darwin/Makefile.kmk             |    4 +-
 src/VBox/Installer/linux/rpm/rules                 |    2 +-
 src/VBox/Installer/solaris/Makefile.kmk            |    8 +-
 src/VBox/Installer/solaris/checkinstall.sh         |  114 +-
 src/VBox/Main/Makefile.kmk                         |   13 +-
 src/VBox/Main/glue/com.cpp                         |   15 -
 src/VBox/Main/glue/string.cpp                      |   51 +-
 src/VBox/Main/idl/VirtualBox.xidl                  |   98 +-
 src/VBox/Main/idl/apiwrap-server.xsl               |   45 +-
 src/VBox/Main/include/AudioAdapterImpl.h           |    3 +
 src/VBox/Main/include/AudioSnifferInterface.h      |   50 -
 src/VBox/Main/include/ConsoleImpl.h                |   34 +-
 src/VBox/Main/include/GuestDnDPrivate.h            |   13 +-
 src/VBox/Main/include/GuestDnDSourceImpl.h         |    6 +
 src/VBox/Main/include/GuestDnDTargetImpl.h         |   10 +
 src/VBox/Main/include/MachineImpl.h                |   30 +-
 src/VBox/Main/include/StorageControllerImpl.h      |    1 +
 src/VBox/Main/include/USBControllerImpl.h          |    4 +-
 src/VBox/Main/include/VirtualBoxBase.h             |  112 +-
 src/VBox/Main/include/Wrapper.h                    |    8 +-
 src/VBox/Main/src-all/Global.cpp                   |    4 +-
 src/VBox/Main/src-all/Logging.cpp                  |    5 +-
 src/VBox/Main/src-all/SharedFolderImpl.cpp         |    2 +-
 src/VBox/Main/src-all/VirtualBoxBase.cpp           |   31 +-
 src/VBox/Main/src-client/AudioSnifferInterface.cpp |  289 ---
 src/VBox/Main/src-client/ConsoleImpl.cpp           |   73 +-
 src/VBox/Main/src-client/ConsoleImpl2.cpp          |  118 +-
 src/VBox/Main/src-client/ConsoleVRDPServer.cpp     |   60 +-
 src/VBox/Main/src-client/DisplayImplLegacy.cpp     |   14 +-
 src/VBox/Main/src-client/DrvAudioVRDE.cpp          |   16 +-
 src/VBox/Main/src-client/GuestCtrlImpl.cpp         |    6 +-
 src/VBox/Main/src-client/GuestCtrlPrivate.cpp      |   14 +-
 src/VBox/Main/src-client/GuestDnDPrivate.cpp       |   55 +-
 src/VBox/Main/src-client/GuestDnDSourceImpl.cpp    |  129 +-
 src/VBox/Main/src-client/GuestDnDTargetImpl.cpp    |  122 +-
 src/VBox/Main/src-client/GuestImpl.cpp             |    2 +-
 src/VBox/Main/src-client/GuestSessionImpl.cpp      |    8 +-
 src/VBox/Main/src-client/GuestSessionImplTasks.cpp |    8 +-
 src/VBox/Main/src-client/HGCM.cpp                  |    2 +-
 src/VBox/Main/src-client/MachineDebuggerImpl.cpp   |   11 +-
 src/VBox/Main/src-client/SessionImpl.cpp           |    2 +-
 src/VBox/Main/src-client/VBoxDriversRegister.cpp   |   10 +-
 src/VBox/Main/src-client/VMMDevInterface.cpp       |   12 +-
 src/VBox/Main/src-server/ApplianceImplExport.cpp   |    4 +-
 src/VBox/Main/src-server/ApplianceImplImport.cpp   |   40 +-
 src/VBox/Main/src-server/AudioAdapterImpl.cpp      |   71 +
 src/VBox/Main/src-server/HostImpl.cpp              |    5 +
 src/VBox/Main/src-server/MachineImpl.cpp           |  112 +-
 src/VBox/Main/src-server/MediumImpl.cpp            |   15 +-
 src/VBox/Main/src-server/MediumLock.cpp            |    4 +-
 src/VBox/Main/src-server/Performance.cpp           |   91 +-
 src/VBox/Main/src-server/PerformanceImpl.cpp       |   26 +-
 src/VBox/Main/src-server/SnapshotImpl.cpp          |   28 +-
 src/VBox/Main/src-server/StorageControllerImpl.cpp |  101 +-
 src/VBox/Main/src-server/SystemPropertiesImpl.cpp  |    4 +-
 src/VBox/Main/src-server/USBControllerImpl.cpp     |   56 +-
 src/VBox/Main/src-server/VirtualBoxImpl.cpp        |   14 +-
 .../Main/src-server/darwin/PerformanceDarwin.cpp   |    2 +-
 .../Main/src-server/linux/PerformanceLinux.cpp     |    2 +-
 src/VBox/Main/src-server/win/svcmain.cpp           |    2 +-
 src/VBox/Main/testcase/tstAPI.cpp                  |    2 -
 src/VBox/Main/testcase/tstGuestCtrlContextID.cpp   |    3 -
 src/VBox/Main/testcase/tstGuestCtrlParseBuffer.cpp |    3 -
 src/VBox/Main/testcase/tstMediumLock.cpp           |    3 -
 src/VBox/Main/webservice/vboxweb.cpp               |    9 +-
 src/VBox/Main/xml/Settings.cpp                     |   38 +-
 src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp    |    2 +-
 src/VBox/NetworkServices/NAT/lwipopts.h            |    8 +-
 src/VBox/NetworkServices/NAT/pxtcp.c               |    7 +
 .../NetworkServices/NetLib/VBoxNetBaseService.cpp  |    2 +-
 src/VBox/Runtime/VBox/VBoxRTImp.def                |    5 +-
 src/VBox/Runtime/VBox/logbackdoor-redirect.cpp     |   22 +-
 src/VBox/Runtime/common/log/log.cpp                |  123 +-
 src/VBox/Runtime/common/log/logrel.cpp             |   40 +-
 src/VBox/Runtime/common/misc/assert.cpp            |    4 +-
 src/VBox/Runtime/common/misc/getoptargv.cpp        |   33 +-
 .../r0drv/linux/threadctxhooks-r0drv-linux.c       |    2 +-
 .../r0drv/solaris/threadctxhooks-r0drv-solaris.c   |    2 +-
 src/VBox/Runtime/r3/init.cpp                       |    2 +-
 src/VBox/Runtime/r3/posix/dir-posix.cpp            |   18 +-
 src/VBox/Runtime/testcase/tstRTGetOptArgv.cpp      |   25 +-
 src/VBox/Storage/testcase/vbox-img.cpp             |   81 +-
 src/VBox/VMM/Makefile.kmk                          |   10 +-
 src/VBox/VMM/VMMAll/CSAMAll.cpp                    |  125 ++
 src/VBox/VMM/VMMAll/HMAll.cpp                      |   13 +-
 src/VBox/VMM/VMMAll/IEMAll.cpp                     |  938 +++++----
 src/VBox/VMM/VMMAll/IOMAll.cpp                     |  263 ---
 src/VBox/VMM/VMMAll/IOMAllMMIO.cpp                 |  461 +++--
 src/VBox/VMM/VMMAll/PATMAll.cpp                    |   26 +-
 src/VBox/VMM/VMMAll/PDMAllCritSect.cpp             |    2 +-
 src/VBox/VMM/VMMAll/PGMAllBth.h                    |   97 +-
 src/VBox/VMM/VMMAll/PGMAllHandler.cpp              |   19 +-
 src/VBox/VMM/VMMAll/PGMAllPhys.cpp                 |  756 ++++---
 src/VBox/VMM/VMMAll/PGMAllPool.cpp                 |   41 +-
 src/VBox/VMM/VMMAll/SELMAll.cpp                    |  135 +-
 src/VBox/VMM/VMMAll/TRPMAll.cpp                    |   39 +
 src/VBox/VMM/VMMR0/HMR0.cpp                        |    4 +-
 src/VBox/VMM/VMMR0/HMSVMR0.cpp                     |   56 +-
 src/VBox/VMM/VMMR0/HMVMXR0.cpp                     |   20 +-
 src/VBox/VMM/VMMR0/PDMR0Device.cpp                 |   16 +-
 src/VBox/VMM/VMMR0/VMMR0.cpp                       |    5 +-
 src/VBox/VMM/VMMR0/VMMR0.def                       |    4 +-
 src/VBox/VMM/VMMR3/CPUM.cpp                        |    4 +-
 src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp                 |   11 +-
 src/VBox/VMM/VMMR3/CSAM.cpp                        |   73 +-
 src/VBox/VMM/VMMR3/DBGFLog.cpp                     |    2 +-
 src/VBox/VMM/VMMR3/EM.cpp                          |   15 -
 src/VBox/VMM/VMMR3/EMHM.cpp                        |   96 -
 src/VBox/VMM/VMMR3/EMRaw.cpp                       |   92 +-
 src/VBox/VMM/VMMR3/GIM.cpp                         |   28 +-
 src/VBox/VMM/VMMR3/HM.cpp                          |   10 +-
 src/VBox/VMM/VMMR3/IOM.cpp                         |    7 +-
 src/VBox/VMM/VMMR3/PATM.cpp                        |   37 +-
 src/VBox/VMM/VMMR3/PDM.cpp                         |   30 +-
 src/VBox/VMM/VMMR3/PDMDevHlp.cpp                   |   22 +-
 src/VBox/VMM/VMMR3/PDMLdr.cpp                      |   58 +-
 src/VBox/VMM/VMMR3/PGM.cpp                         |    8 +-
 src/VBox/VMM/VMMR3/PGMHandler.cpp                  |  148 +-
 src/VBox/VMM/VMMR3/PGMPhys.cpp                     |    6 +-
 src/VBox/VMM/VMMR3/PGMPhysRWTmpl.h                 |    6 +-
 src/VBox/VMM/VMMR3/PGMPool.cpp                     |    4 +-
 src/VBox/VMM/VMMR3/SELM.cpp                        |  138 +-
 src/VBox/VMM/VMMR3/TRPM.cpp                        |   60 +-
 src/VBox/VMM/VMMR3/VMM.cpp                         |   25 +-
 src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp           |    2 +-
 src/VBox/VMM/VMMR3/VMMTests.cpp                    |   16 +-
 src/VBox/VMM/VMMRC/CSAMRC.cpp                      |   22 +-
 src/VBox/VMM/VMMRC/IOMRC.cpp                       |  255 ++-
 src/VBox/VMM/VMMRC/PATMRC.cpp                      |   94 +-
 src/VBox/VMM/VMMRC/PDMRCDevice.cpp                 |   16 +-
 src/VBox/VMM/VMMRC/SELMRC.cpp                      |  471 +++--
 src/VBox/VMM/VMMRC/TRPMRC.cpp                      |    8 +-
 src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp              |   14 +-
 src/VBox/VMM/VMMRC/VMMRC.def                       |    4 +-
 src/VBox/VMM/include/CSAMInternal.h                |    3 +-
 src/VBox/VMM/include/EMHandleRCTmpl.h              |   12 -
 src/VBox/VMM/include/EMInternal.h                  |    5 -
 src/VBox/VMM/include/HMInternal.h                  |    5 +-
 src/VBox/VMM/include/IEMInternal.h                 |    6 +
 src/VBox/VMM/include/PATMInternal.h                |    2 +
 src/VBox/VMM/include/PDMInternal.h                 |    6 +-
 src/VBox/VMM/include/PGMInternal.h                 |   24 +-
 src/VBox/VMM/include/SELMInternal.h                |   25 +-
 src/VBox/VMM/include/TRPMInternal.h                |   29 +-
 src/VBox/VMM/include/VMMInternal.h                 |    1 -
 src/VBox/VMM/testcase/tstVMStruct.h                |    3 +
 src/VBox/ValidationKit/testdriver/vbox.py          |    4 +-
 src/VBox/ValidationKit/testdriver/vboxwrappers.py  |    4 +-
 src/recompiler/Sun/crt/stdio.h                     |    4 +-
 src/recompiler/VBoxREMWrapper.cpp                  |    8 +-
 src/recompiler/VBoxRecompiler.c                    |   32 +-
 src/recompiler/osdep.h                             |    4 +-
 src/recompiler/qemu-log.h                          |    4 +-
 556 files changed, 53532 insertions(+), 41121 deletions(-)

diff --git a/Config.kmk b/Config.kmk
index 8032eef..d0c9580 100644
--- a/Config.kmk
+++ b/Config.kmk
@@ -220,9 +220,9 @@ VBOX_BUILD_PUBLISHER =
 # Note! The BETA[n],ALPHA[n],RC[n] indicators should be inserted before the
 #       publisher so that RTStrVersionCompare have a chance of comparing
 #       prerelease from different publishers correctly.
-VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_BETA4$(VBOX_BUILD_PUBLISHER)
+VBOX_VERSION_STRING = $(VBOX_VERSION_STRING_RAW)_RC1$(VBOX_BUILD_PUBLISHER)
 # Just the BETA[n],ALPHA[n],RC[n] indicators. Set to empty string for release.
-VBOX_VERSION_PRERELEASE = BETA4
+VBOX_VERSION_PRERELEASE = RC1
 
 # Force the additions.sh script to get an exact additions build when we're doing the release.
 ifeq ($(int-mod $(VBOX_VERSION_BUILD),2),0)
@@ -383,8 +383,8 @@ VBOX_WITH_PREALLOC_RAM_BY_DEFAULT =
 VBOX_WITH_DEBUGGER = 1
 # Enable the debugger GUI.
 VBOX_WITH_DEBUGGER_GUI = 1
-# Enables the first step using IEM (the interpreter).
-VBOX_WITH_FIRST_IEM_STEP = 1
+# Enables the second step using IEM (the interpreter).
+#VBOX_WITH_2ND_IEM_STEP = 1
 ## @}
 
 
@@ -420,8 +420,6 @@ VBOX_WITH_ALSA = 1
 VBOX_WITH_PULSE = 1
 # Enable PCI passthrough support.
 VBOX_WITH_PCI_PASSTHROUGH = 1
-# Enable PDM based audio driver
-VBOX_WITH_PDM_AUDIO_DRIVER  = 1
 # Enable statically linked dbus support.
 if1of ($(KBUILD_TARGET), linux solaris)
  VBOX_WITH_DBUS = 1
@@ -6051,7 +6049,7 @@ endif
 SVN                    ?= svn$(HOSTSUFF_EXE)
 VBOX_SVN_REV_KMK        = $(PATH_OUT)/revision.kmk
 ifndef VBOX_SVN_REV
- VBOX_SVN_REV_FALLBACK := $(patsubst %:,,  $Rev: 100374 $  )
+ VBOX_SVN_REV_FALLBACK := $(patsubst %:,,  $Rev: 100731 $  )
  VBOX_SVN_DEP          := $(firstword $(wildcard $(PATH_ROOT)/.svn/wc.db $(abspath $(PATH_ROOT)/../.svn/wc.db) $(abspath $(PATH_ROOT)/../../.svn/wc.db) $(PATH_ROOT)/.svn/entries))
  ifeq ($(which $(SVN)),)
   VBOX_SVN_DEP         :=
diff --git a/configure b/configure
index a77f450..930428d 100755
--- a/configure
+++ b/configure
@@ -1513,11 +1513,11 @@ check_qt4()
 extern "C" int main(void)
 {
   printf("found version %s", QT_VERSION_STR);
-#if QT_VERSION >= 0x040602
+#if QT_VERSION >= 0x040800
   printf(", OK.\n");
   return 0;
 #else
-  printf(", expected version 4.6.2 or higher\n");
+  printf(", expected version 4.8.0 or higher\n");
   return 1;
 #endif
 }
@@ -1546,11 +1546,11 @@ EOF
 extern "C" int main(void)
 {
   printf("found version %s", QT_VERSION_STR);
-#if QT_VERSION >= 0x040602
+#if QT_VERSION >= 0x040800
   printf(", OK.\n");
   return 0;
 #else
-  printf(", expected version 4.6.2 or higher\n");
+  printf(", expected version 4.8.0 or higher\n");
   return 1;
 #endif
 }
diff --git a/doc/manual/Makefile.kmk b/doc/manual/Makefile.kmk
index ce14e49..a05b1fa 100644
--- a/doc/manual/Makefile.kmk
+++ b/doc/manual/Makefile.kmk
@@ -49,21 +49,123 @@ SUB_DEPTH = ../..
 include $(KBUILD_PATH)/subheader.kmk
 
 
-##########################################################################################
 #
-#  Globals
+# Globals
 #
-##########################################################################################
-VBOX_PATH_MANUAL_SRC := $(PATH_SUB_CURRENT)
+
+# Error out if someone tries to override old globals.
+ifdef HTMLHELPOPTS
+ $(error HTMLHELPOPTS was renamed to VBOX_HTMLHELP_OPTS!)
+endif
+ifdef DOCBOOKPATH
+ $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!)
+endif
+ifdef DOCBOOKPATH
+ $(error DOCBOOKPATH was renamed to VBOX_PATH_DOCBOOK!)
+endif
+ifdef XML_CATALOG
+ $(error XML_CATALOG was renamed to VBOX_XML_CATALOG!)
+endif
+ifdef VBOX_XML_CATALOG_DOCBOOK
+ $(error XML_CATALOG_DOCBOOK was renamed to VBOX_XML_CATALOG_DOCBOOK!)
+endif
+ifdef VBOXMANAGEPATH
+ $(error VBOXMANAGEPATH was renamed to VBOXMANAGEHELP_PATH!)
+endif
+ifdef PDFLATEX_INTERACTION
+ $(error PDFLATEX_INTERACTION was renamed to VBOX_PDFLATEX_INTERACTION!)
+endif
+ifdef PDFLATEX
+ $(error PDFLATEX was renamed to VBOX_PDFLATEX_CMD!)
+endif
+ifdef HHC
+ $(error HHC was renamed to VBOX_HHC!)
+endif
+
+# Source and output locations.
+VBOX_PATH_MANUAL_SRC     := $(PATH_SUB_CURRENT)
 VBOX_PATH_MANUAL_OUTBASE := $(PATH_TARGET)/manual
-BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
+
+# tool locations
+ifndef VBOX_OSE
+ # use docbook from our tools directory
+ VBOX_PATH_DOCBOOK        ?= $(PATH_DEVTOOLS)/common/DocBook/v1.69.1
+ VBOX_PATH_DOCBOOK_DTD    ?= $(PATH_DEVTOOLS)/common/docbook-xml/v4.3
+ VBOX_XML_CATALOG         ?= $(VBOX_PATH_MANUAL_OUTBASE)/catalog
+ VBOX_XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook
+else
+ # use docbook of the build host
+ VBOX_PATH_DOCBOOK        ?= http://docbook.sourceforge.net/release/xsl/current/
+endif
+
+# xsltproc with the catalog trick if applicable.
+ifdef VBOX_XML_CATALOG
+ VBOX_XSLTPROC_WITH_CAT    = $(REDIRECT) -E "XML_CATALOG_FILES=$(VBOX_XML_CATALOG)" -- $(VBOX_XSLTPROC)
+else
+ VBOX_XSLTPROC_WITH_CAT    = $(VBOX_XSLTPROC)
+endif
+
+VBOXMANAGEHELP_PATH       ?= $(PATH_STAGE_BIN)/VBoxManageHelp$(SUFF_EXE)
+
+ # VBOX_PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
+ #                                             without catting the log a million times.
+VBOX_PDFLATEX_INTERACTION ?= batchmode
+ifeq ($(KBUILD_HOST),win)
+ ifndef VBOX_PDFLATEX
+  VBOX_PDFLATEX           := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/miktex-portable/*/miktex/bin/pdflatex.exe)))
+  ifneq ($(VBOX_PDFLATEX),)
+   VBOX_PDFLATEX_CMD       = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION)
+  endif
+ endif
+ ifndef VBOX_PDFLATEX
+  # Tell MiKTeX to automatically download packages if system wide install.
+  VBOX_PDFLATEX           := pdflatex
+  VBOX_PDFLATEX_CMD        = $(VBOX_PDFLATEX) -halt-on-error -interaction $(VBOX_PDFLATEX_INTERACTION) --enable-installer
+ endif
+else
+ VBOX_PDFLATEX            ?= pdflatex
+ VBOX_PDFLATEX_HALT        = $(shell ( $(VBOX_PDFLATEX) -version | head -1 | grep 141592 > /dev/null ) && echo -halt-on-error )
+ VBOX_PDFLATEX_CMD         = pdflatex $(VBOX_PDFLATEX_HALT) -interaction $(VBOX_PDFLATEX_INTERACTION)
+endif
+
+# Windows HTML Help Workshop compiler (stupid thing always returns an error!)
+VBOX_HHC = -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe
+
+
+# Additional xsltproc options when generating
+VBOX_HTMLHELP_OPTS ?=
+
+# SDK related globals.
+VBOX_MANUAL_APIREF_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml
+VBOX_DOC_XIDL_SRC      = $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl
+VBOX_DOC_XIDL_SRC_TMP  = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.xidl.tmp
+
+##
+# Non-pattern-rule approach to editing XSLT files.
+# $(evalcall2 def_vbox_replace_paths_in_xslt)
+# @param    1   The XSLT source file.
+# @param    2   Optional output subdirectory.
+define def_vbox_replace_paths_in_xslt
+OTHER_CLEAN += $$(VBOX_PATH_MANUAL_OUTBASE)/$2$(notdir $1)
+$$(VBOX_PATH_MANUAL_OUTBASE)/$2$(notdir $1): $1 | $$$$(dir $$$$@)
+	$$(call MSG_GENERATE,,$$@,$$<)
+	$$(QUIET)$$(SED) \
+		-e 's|@VBOX_PATH_DOCBOOK@|$$(VBOX_PATH_DOCBOOK)|g' \
+		-e 's|@VBOX_PATH_MANUAL_SRC@|$$(VBOX_PATH_MANUAL_SRC)|g' \
+		-e 's|@VBOX_PATH_MANUAL_OUTBASE@|$$(VBOX_PATH_MANUAL_OUTBASE)|g' \
+		\
+		-e 's|@CFGPATH@|$$(VBOX_PATH_MANUAL_SRC)|g' \
+		-e 's|@TARGETPATH@|$$(@D)|g' \
+		--output "$$(@)" $$<
+endef
+
 
 
-##########################################################################################
 #
-#  Main targets
+# Targets
 #
-##########################################################################################
+
+BLDDIRS += $(VBOX_PATH_MANUAL_OUTBASE)
 
 ifdef VBOX_WITH_DOCS
  if defined(VBOX_ONLY_SDK) || defined(VBOX_WITH_DOCS_SDKREF)
@@ -76,10 +178,9 @@ ifdef VBOX_WITH_DOCS
 
  ifdef VBOX_WITH_DOCS_CHM
   VBOX_PATH_BIN_CHM = $(PATH_STAGE_BIN)/VirtualBox.chm
- else
+ else  # Do not build chm.
   VBOX_PATH_BIN_CHM =
-        # do not build
- endif # !VBOX_WITH_DOCS_CHM
+ endif
 
  ifndef VBOX_ONLY_SDK
   VBOX_MANUAL_PACK += \
@@ -137,6 +238,9 @@ ifdef VBOX_WITH_DOCS
  VBOX_MANUAL_XML_FILES_INCL_CHANGELOG = $(VBOX_MANUAL_XML_FILES) \
  	user_ChangeLog.xml
 
+ VBOX_MANUAL_XML_REFENTRY_FILES = \
+ 	man_VBoxManage_extpack.xml
+
  VBOX_SDKREF_XML_FILES = \
  	SDKRef.xml
 
@@ -169,90 +273,115 @@ ifdef VBOX_WITH_DOCS
  endif
 
  OTHER_CLEAN += \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES), $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG))) \
- 	$(foreach f,en_US,                    $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_SDKREF_XML_FILES))) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES), $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_MANUAL_LATEX_FILES_TARGET))) \
- 	$(foreach f,en_US,                    $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_SDKREF_LATEX_FILES_TARGET))) \
- 	$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/, \
- 		catalog docbook \
- 		UserManual.fo) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES), $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/, \
- 		docbook-htmlhelp-formatcfg.xsl \
+ 	$(VBOX_XML_CATALOG) \
+ 	$(VBOX_XML_CATALOG_DOCBOOK) \
+ 	$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/, \
+ 		$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG) \
+               $(VBOX_MANUAL_XML_REFENTRY_FILES) \
+ 		$(VBOX_MANUAL_LATEX_FILES_TARGET) \
+		$(VBOX_MANUAL_PNG_FILES_$(lang)) \
+ 		$(notdir $(VBOX_MANUAL_TEX_UNICODE_FILES)) \
+		$(addprefix HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(lang))) \
+               html-single/UserManual.html \
+               $(addprefix html-chunks/ HTMLHelp/, index.html go01.html) \
+               $(foreach n,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 \
+			,html-chunks/ch$(n).html \
+			HTMLHelp/ch$(n).html \
+			$(foreach d2,0 1 2 3 4 5 6 7 8 9,$(foreach d1,0 1 2 3 4 5 6 7 8 9,HTMLHelp/ch$(n)s$(d2)$(d1).html)) ) \
+               $(foreach n,a b c \
+			,html-chunks/ap$(n).html \
+			HTMLHelp/ap$(n).html \
+               	$(foreach s,01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20,HTMLHelp/ap$(n)s$(s).html) ) \
+               HTMLHelp/toc.hhc \
+               HTMLHelp/htmlhelp.hhp \
+		docbook-htmlhelp-formatcfg.xsl \
 		docbook-html-one-page-formatcfg.xsl \
 		docbook-html-chunks-formatcfg.xsl \
- 		titlepage-htmlhelp.xsl )) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_MANUAL_PNG_FILES_$(f)))) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(f)))) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/UserManual.pdf) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/VirtualBox.chm) \
+ 		titlepage-htmlhelp.xsl \
+		UserManual.pdf \
+		VirtualBox.chm \
+		)) \
+ 	$(VBOX_PATH_MANUAL_OUTBASE)/$(VBOX_MANUAL_XML_CHANGELOG) \
  	$(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/UserManual_$(f).pdf) \
  	$(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm) \
  	$(PATH_STAGE_BIN)/UserManual.pdf \
  	$(PATH_STAGE_BIN)/VirtualBox.chm \
- 	$(foreach f,en_US,$(VBOX_PATH_MANUAL_OUTBASE)/$f/SDKRef.pdf) \
- 	$(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf \
- 	$(wildcard $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/*.h*)) \
- 	$(foreach f,$(VBOX_MANUAL_LANGUAGES),\
- 		$(patsubst $(VBOX_PATH_MANUAL_SRC)/texfiles/unicode/%,$(VBOX_PATH_MANUAL_OUTBASE)/$f/%, \
- 			$(VBOX_MANUAL_TEX_UNICODE_FILES))) \
- 	$(VBOX_PATH_MANUAL_OUTBASE)/$(VBOX_MANUAL_XML_CHANGELOG)
+       \
+ 	$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/, \
+		$(VBOX_SDKREF_XML_FILES) \
+		$(VBOX_SDKREF_LATEX_FILES_TARGET) \
+		SDKRef.pdf \
+		) \
+	$(VBOX_DOC_XIDL_SRC_TMP) \
+	$(VBOX_MANUAL_APIREF_TMP) \
+ 	$(PATH_STAGE_BIN)/sdk/docs/SDKRef.pdf
 
 endif # VBOX_WITH_DOCS
 
 
 
-##########################################################################################
-#
-#  Options
-#
-##########################################################################################
-
-HTMLHELPOPTS =
-
-
-##########################################################################################
 #
-#  Preparations
+# To avoid network I/O for fetching DTDs, we generate catalogs mapping the public
+# entity IDs to local files.  (Obviously, only done when we have local files.)
 #
-##########################################################################################
-
-# tool locations
-ifndef VBOX_OSE
- # use docbook from our tools directory
- DOCBOOKPATH         ?= $(PATH_DEVTOOLS)/common/DocBook/v1.69.1
- DOCBOOKDTDPATH      ?= $(PATH_DEVTOOLS)/common/docbook-xml/v4.3
- XML_CATALOG         ?= $(VBOX_PATH_MANUAL_OUTBASE)/catalog
- XML_CATALOG_DOCBOOK ?= $(VBOX_PATH_MANUAL_OUTBASE)/docbook
-else
- # use docbook of the build host
- DOCBOOKPATH         ?= http://docbook.sourceforge.net/release/xsl/current/
-endif
-VBOXMANAGEPATH       ?= $(PATH_STAGE_BIN)/VBoxManageHelp$(SUFF_EXE)
+ifdef VBOX_XML_CATALOG
+# Create a catalog file for xsltproc that points to docbook catalog.
+$(VBOX_XML_CATALOG): $(MAKEFILE_CURRENT) | $$(dir $$@)
+	$(call MSG_L1,Creating catalog $@)
+	$(QUIET)$(RM) -f $@.tmp $@
+	$(QUIET)$(APPEND) $@.tmp '<?xml version="1.0"?>'
+	$(QUIET)$(APPEND) $@.tmp '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
+	$(QUIET)$(APPEND) $@.tmp '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
+	$(QUIET)$(APPEND) $@.tmp '  <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML"      catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML"           catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <delegateURI uriStartString="http://www.oasis-open.org/docbook/"         catalog="file:///$(VBOX_XML_CATALOG_DOCBOOK)"/>'
+	$(QUIET)$(APPEND) $@.tmp '</catalog>'
+	$(QUIET)$(MV) -f $@.tmp $@
 
- # PDFLATEX_INTERACTION = errorstopmode - Use this when you wants to figure out build failures
- #                                        without catting the log a million times.
- PDFLATEX_INTERACTION ?= batchmode
-ifeq ($(KBUILD_HOST),win)
- ifndef VBOX_PDFLATEX
-  VBOX_PDFLATEX      := $(firstword $(rsort $(wildcard $(PATH_DEVTOOLS)/win.x86/miktex-portable/*/miktex/bin/pdflatex.exe)))
-  ifneq ($(VBOX_PDFLATEX),)
-   PDFLATEX           = $(VBOX_PDFLATEX) -halt-on-error -interaction $(PDFLATEX_INTERACTION)
-  endif
- endif
- ifndef PDFLATEX
-  # Tell MiKTeX to automatically download packages if system wide install.
-  VBOX_PDFLATEX      := pdflatex
-  PDFLATEX            = $(VBOX_PDFLATEX) -halt-on-error -interaction $(PDFLATEX_INTERACTION) --enable-installer
- endif
-else
- PDFLATEX_HALT        = $(shell \
- 	( pdflatex -version | head -1 | grep 141592 > /dev/null ) && echo -halt-on-error )
- PDFLATEX             = pdflatex $(PDFLATEX_HALT) -interaction $(PDFLATEX_INTERACTION)
+# Create a docbook catalog file for xsltproc that points to the local docbook files.
+$(VBOX_XML_CATALOG_DOCBOOK): $(MAKEFILE_CURRENT) | $$(dir $$@)
+	$(call MSG_L1,Creating catalog $@)
+	$(QUIET)$(RM) -f $@.tmp $@
+	$(QUIET)$(APPEND) $@.tmp '<?xml version="1.0"?>'
+	$(QUIET)$(APPEND) $@.tmp '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
+	$(QUIET)$(APPEND) $@.tmp '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.3//EN"          uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbpoolx.mod"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML V4.3//EN"                                uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML V4.4//EN"                                uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/docbookx.dtd"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.3//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbcentx.mod"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.3//EN"                 uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbnotnx.mod"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.3//EN" uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbgenent.mod"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.3//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/dbhierx.mod"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"               uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/soextblx.dtd"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.3//EN"               uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/calstblx.dtd"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(VBOX_PATH_DOCBOOK_DTD)"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"   uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsa.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsb.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"        uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsc.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsn.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"          uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amso.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-amsr.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN"                  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-box.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN"                      uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr1.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"                  uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-cyr2.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN"                     uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-dia.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk1.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN"                      uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk2.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk3.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"             uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-grk4.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat1.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN"                         uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-lat2.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"           uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-num.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Publishing//EN"                            uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-pub.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES General Technical//EN"                     uri="file:///$(VBOX_PATH_DOCBOOK_DTD)/ent/iso-tech.ent"/>'
+	$(QUIET)$(APPEND) $@.tmp '</catalog>'
+	$(QUIET)$(MV) -f $@.tmp $@
 endif
 
-# Windows HTML Help Workshop compiler (stupid thing always returns an error!)
-HHC = -$(EXEC_X86_WIN32) $(VBOX_PATH_HTML_HELP_WORKSHOP)/hhc.exe
-
 
 ##########################################################################################
 #
@@ -312,42 +441,73 @@ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/user_ChangeL
 	               -e 's/<!--\$$VIRTUALBOX_CHANGELOG_IMPL-->//' \
 	               --output $@ $@.tmp
 	var=`$(SED) -n '/!--\$$VIRTUALBOX_CHANGELOG_IMPL-->/p' $<`; \
-	               test -n "$${var}" && \
-	               $(SED) -e 's/<?xml version=\"1.0\" encoding=\"UTF-8\"?>//g' \
-	                       --append $@ $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml; \
-                       true
+		test -n "$${var}" \
+		&& $(SED) -e 's/<?xml version=\"1.0\" encoding=\"UTF-8\"?>//g' \
+			--append $@ $(VBOX_PATH_MANUAL_SRC)/user_ChangeLogImpl.xml; \
+       	true
 	$(QUIET)$(SED) -e '/<!--\$$VIRTUALBOX_CHANGELOG_IMPL-->/,$$!d' \
 	               -e 's/<!--\$$VIRTUALBOX_CHANGELOG_IMPL-->//' --append $@ $@.tmp
+	$(QUIET)$(RM) -f -- "$@.tmp"
 
+# TODO: figure why the rule below doesn't cause kmk to rebuild the manual when a man page changes!
+$(foreach lang,$(VBOX_MANUAL_LANGUAGES), \
+$(eval $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/user_VBoxManage.xml: $(VBOX_PATH_MANUAL_SRC)/$(lang)/user_VBoxManage.xml \
+	$$(addprefix $$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES)))))
+
+# user_VBoxManage.xml currently needs some extra processing to stitch in the VBoxManage usage blob.
 $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/user_VBoxManage.xml): \
 		$(VBOX_PATH_MANUAL_OUTBASE)/% : \
 		$(VBOX_PATH_MANUAL_SRC)/% \
-		$(VBOXMANAGEPATH) | $$(dir $$@)
+               $$(addprefix $$(@D)/,$$(filter man_VBoxManage%,$$(VBOX_MANUAL_XML_REFENTRY_FILES))) \
+		$(VBOX_XML_CATALOG) \
+		$(VBOX_XML_CATALOG_DOCBOOK) \
+		$(VBOXMANAGEHELP_PATH) | $$(dir $$@)
 	$(call MSG_L1,Pre-processing [2] $(@F) to $@)
 	$(QUIET)$(RM) -f $@ $@.tmp $@.tmp2
-	$(QUIET)$(SED) -e 's/\$$VBOX_VERSION_MAJOR/$(VBOX_VERSION_MAJOR)/g' \
-	               -e 's/\$$VBOX_VERSION_MINOR/$(VBOX_VERSION_MINOR)/g' \
-	               -e 's/\$$VBOX_VERSION_BUILD/$(VBOX_VERSION_BUILD)/g' \
-	               -e 's/\$$VBOX_VERSION_STRING/$(VBOX_VERSION_STRING)/g' \
-	               -e 's/\$$VBOX_VENDOR/$(VBOX_VENDOR)/g' \
-	               -e 's/\$$VBOX_PRODUCT/$(VBOX_PRODUCT)/g' \
-	               -e 's/\$$VBOX_C_YEAR/$(VBOX_C_YEAR)/g' \
-	               --output $@.tmp $<
-	$(QUIET)$(SED) -e '1,/\$$VBOX_MANAGE_OUTPUT/!d' \
-	               -e 's/\$$VBOX_MANAGE_OUTPUT.*//' \
-	               --output $@ $@.tmp
+	$(QUIET)$(SED) \
+		-e 's/\$$VBOX_VERSION_MAJOR/$(VBOX_VERSION_MAJOR)/g' \
+		-e 's/\$$VBOX_VERSION_MINOR/$(VBOX_VERSION_MINOR)/g' \
+		-e 's/\$$VBOX_VERSION_BUILD/$(VBOX_VERSION_BUILD)/g' \
+		-e 's/\$$VBOX_VERSION_STRING/$(VBOX_VERSION_STRING)/g' \
+		-e 's/\$$VBOX_VENDOR/$(VBOX_VENDOR)/g' \
+		-e 's/\$$VBOX_PRODUCT/$(VBOX_PRODUCT)/g' \
+		-e 's/\$$VBOX_C_YEAR/$(VBOX_C_YEAR)/g' \
+		-e 's|@VBOX_PATH_DOCBOOK@|$(VBOX_PATH_DOCBOOK)|g' \
+		-e 's|@VBOX_PATH_MANUAL_SRC@|$(VBOX_PATH_MANUAL_SRC)|g' \
+		--output $@.tmp $<
+	$(QUIET)$(SED) \
+		-e '1,/\$$VBOX_MANAGE_OUTPUT/!d' \
+	        -e 's/\$$VBOX_MANAGE_OUTPUT.*//' \
+	        --output $@.tmp3 $@.tmp
 	$(QUIET)$(REDIRECT) -wo $@.tmp2 -E 'VBOX_LOG_FLAGS=disabled' -E 'VBOX_LOG_DEST=nofile' \
 		$(if $(eq $(KBUILD_TARGET),darwin), -E 'DYLD_FALLBACK_LIBRARY_PATH=$(dir $(LIB_RUNTIME))') \
 		-- \
-		$(VBOXMANAGEPATH) --dumpopts
-	$(QUIET)$(SED) -e 's/</\</g' -e 's/>/\>/g' --append $@ $@.tmp2
-	$(QUIET)$(SED) -e '/\$$VBOX_MANAGE_OUTPUT/,$$!d' \
-	               -e 's/.*\$$VBOX_MANAGE_OUTPUT//' --append $@ $@.tmp
-	$(QUIET)$(RM) -f $@.tmp $@.tmp2
+		$(VBOXMANAGEHELP_PATH) --dumpopts
+	$(QUIET)$(SED) -e 's/</\</g' -e 's/>/\>/g' --append $@.tmp3 $@.tmp2
+	$(QUIET)$(SED) \
+		-e '/\$$VBOX_MANAGE_OUTPUT/,$$!d' \
+		-e 's/.*\$$VBOX_MANAGE_OUTPUT//' \
+		--append $@.tmp3 $@.tmp
+if 0 # Not currently needed.
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $@ \
+		$(VBOX_PATH_MANUAL_SRC)/usage-to-docbook-manual.xsl \
+		$@.tmp3
+else
+	$(QUIET)$(CP) $@.tmp3 $@
+endif
+	$(QUIET)$(RM) -f $@.tmp $@.tmp2 $@.tmp3
+
+
+# Morph man pages into manual sections.
+$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/,$(VBOX_MANUAL_XML_REFENTRY_FILES))): \
+		$(VBOX_PATH_MANUAL_OUTBASE)/% : $(VBOX_PATH_MANUAL_SRC)/% \
+		$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl \
+		$(VBOX_VERSION_STAMP) | $$(dir $$@)
+	$(call MSG_GENERATE,,$@,$<)
+	$(QUIET)$(RM) -f $@
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $@ \
+		$(VBOX_PATH_MANUAL_SRC)/docbook-refentry-to-manual-sect1.xsl $<
 
-VBOX_MANUAL_APIREF_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef_apiref.xml
-VBOX_DOC_XIDL_SRC = $(PATH_ROOT)/src/VBox/Main/idl/VirtualBox.xidl
-VBOX_DOC_XIDL_SRC_TMP = $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.xidl.tmp
 
 $(VBOX_DOC_XIDL_SRC_TMP): $(VBOX_DOC_XIDL_SRC) $(MAKEFILE_CURRENT) | $$(dir $$@)
 	$(call MSG_L1,Generating $@)
@@ -380,90 +540,7 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.xml: \
 	$(QUIET)$(SED) -e '/<!--\$$VIRTUALBOX_MAIN_API_REFERENCE-->/,$$!d' \
 	               -e 's/<!--\$$VIRTUALBOX_MAIN_API_REFERENCE-->//' --append $@ $@.tmp
 #	$(QUIET)$(MV) -f $@.tmp $@
-
-
-##########################################################################################
-#
-#  Rules: Create or preprocess files for xsltproc
-#  (preliminary step for both CHM and PDF generation)
-#
-##########################################################################################
-
-# Create a catalog file for xsltproc that points to docbook catalog.
-ifneq ($(XML_CATALOG),)
-$(XML_CATALOG): $(MAKEFILE_CURRENT) | $$(dir $$@)
-	$(call MSG_L1,Creating catalog $@)
-	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(APPEND) $@.tmp '<?xml version="1.0"?>'
-	$(QUIET)$(APPEND) $@.tmp '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
-	$(QUIET)$(APPEND) $@.tmp '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
-	$(QUIET)$(APPEND) $@.tmp '  <delegatePublic publicIdStartString="-//OASIS/ENTITIES DocBook XML"      catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <delegatePublic publicIdStartString="-//OASIS/DTD DocBook XML"           catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <delegateURI uriStartString="http://www.oasis-open.org/docbook/"         catalog="file:///$(XML_CATALOG_DOCBOOK)"/>'
-	$(QUIET)$(APPEND) $@.tmp '</catalog>'
-	$(QUIET)$(MV) -f $@.tmp $@
-
-# Create a docbook catalog file for xsltproc that points to the local docbook files.
-$(XML_CATALOG_DOCBOOK): $(MAKEFILE_CURRENT) | $$(dir $$@)
-	$(call MSG_L1,Creating catalog $@)
-	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(APPEND) $@.tmp '<?xml version="1.0"?>'
-	$(QUIET)$(APPEND) $@.tmp '<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">'
-	$(QUIET)$(APPEND) $@.tmp '<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.3//EN"          uri="file:///$(DOCBOOKDTDPATH)/dbpoolx.mod"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML V4.3//EN"                                uri="file:///$(DOCBOOKDTDPATH)/docbookx.dtd"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML V4.4//EN"                                uri="file:///$(DOCBOOKDTDPATH)/docbookx.dtd"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.3//EN"        uri="file:///$(DOCBOOKDTDPATH)/dbcentx.mod"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.3//EN"                 uri="file:///$(DOCBOOKDTDPATH)/dbnotnx.mod"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.3//EN" uri="file:///$(DOCBOOKDTDPATH)/dbgenent.mod"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.3//EN"        uri="file:///$(DOCBOOKDTDPATH)/dbhierx.mod"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"               uri="file:///$(DOCBOOKDTDPATH)/soextblx.dtd"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.3//EN"               uri="file:///$(DOCBOOKDTDPATH)/calstblx.dtd"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <rewriteURI         uriStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///$(DOCBOOKDTDPATH)"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"   uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsa.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsb.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"        uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsc.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsn.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"          uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amso.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-amsr.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN"                  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-box.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN"                      uri="file:///$(DOCBOOKDTDPATH)/ent/iso-cyr1.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"                  uri="file:///$(DOCBOOKDTDPATH)/ent/iso-cyr2.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN"                     uri="file:///$(DOCBOOKDTDPATH)/ent/iso-dia.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk1.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN"                      uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk2.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk3.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"             uri="file:///$(DOCBOOKDTDPATH)/ent/iso-grk4.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-lat1.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN"                         uri="file:///$(DOCBOOKDTDPATH)/ent/iso-lat2.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"           uri="file:///$(DOCBOOKDTDPATH)/ent/iso-num.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES Publishing//EN"                            uri="file:///$(DOCBOOKDTDPATH)/ent/iso-pub.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '  <public publicId="ISO 8879:1986//ENTITIES General Technical//EN"                     uri="file:///$(DOCBOOKDTDPATH)/ent/iso-tech.ent"/>'
-	$(QUIET)$(APPEND) $@.tmp '</catalog>'
-	$(QUIET)$(MV) -f $@.tmp $@
-endif
-
-# intermediate step to do some variable replacement in the XSL configuration
-$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/docbook-htmlhelp-formatcfg.xsl): \
-		$(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl $(MAKEFILE_CURRENT) | $$(dir $$@)
-	$(call MSG_L1,Pre-processing $(@F) to $@)
-	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
-	               -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
-	               -e 's|\$$TARGETPATH|$(@D)|g' --output $@.tmp $<
-	$(QUIET)$(MV) -f $@.tmp $@
-
-# Prepare the XSL file for our title page, htmlhelp variant.
-$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/titlepage-htmlhelp.xsl): \
-		$(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xml $(MAKEFILE_CURRENT) | $$(dir $$@)
-	$(call MSG_L1,xsltproc $<)
-	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet -o $@.tmp $(DOCBOOKPATH)/template/titlepage.xsl $<
-	$(QUIET)$(MV) -f $@.tmp $@
+	$(QUIET)$(RM) -f -- "$@.tmp"
 
 
 ##########################################################################################
@@ -476,7 +553,7 @@ ifndef VBOX_OSE
 # copy ucs.sty and related files
 $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/ucs.sty):
 	$(call MSG_L1,Copying unicode support for LaTeX)
-	$(QUIET)$(CP) $(VBOX_MANUAL_TEX_UNICODE_FILES) $(@D)
+	$(QUIET)$(INSTALL_STAGING) -- $(VBOX_MANUAL_TEX_UNICODE_FILES) "$(@D)"
 endif
 
 # copy the PNG files.
@@ -486,7 +563,7 @@ local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)
 $(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
 		$$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
 	$$(call MSG_L1,Copying temporary $$< => $$@)
-	$$(QUIET)$$(CP) -f $$< $$@
+	$$(QUIET)$$(INSTALL_STAGING) -- '$$<' '$$(@D)'
 endef
 
 $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_pdf)))
@@ -516,10 +593,10 @@ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/UserManual.p
 		  $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/,$(VBOX_MANUAL_PNG_FILES_$(f)))) | $$(dir $$@)
 # PDF generation via Latex: generate the .tex file
 	$(call MSG_L1,pdflatex $< (four passes) -> $@)
-	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
-	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
-	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
-	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(PDFLATEX) UserManual.tex
+	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
+	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
+	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
+	$(QUIET)$(REDIRECT) -w+ti /dev/null -C $(@D) -- $(VBOX_PDFLATEX_CMD) UserManual.tex
 	$(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log
 	$(QUIET)$(SED) -n \
 		-e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \
@@ -538,7 +615,8 @@ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/UserManual.t
 #   generate TeX source from processed docbook and store it in UserManual.tex.tmp;
 #   pass current language to xsltproc in TARGETLANG variable (extract it from the
 #   current directory, should become "de_DE" or the like)
-	$(QUIET)$(VBOX_XSLTPROC) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG $(notdir $(@D)) -o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG $(notdir $(@D)) \
+		-o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
 #   for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
 	$(QUIET)$(SED) \
@@ -549,12 +627,9 @@ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/UserManual.t
 	$(QUIET)$(RM) -f $@.tmp
 
 
-##########################################################################################
 #
-#  SDKRef.pdf
+# SDKRef.pdf
 #
-##########################################################################################
-
 $(VBOX_PATH_SDK)/docs/SDKRef.pdf: \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex \
 		$(if $(VBOX_OSE),,$(VBOX_PATH_MANUAL_OUTBASE)/en_US/ucs.sty) \
@@ -562,9 +637,9 @@ $(VBOX_PATH_SDK)/docs/SDKRef.pdf: \
 # PDF generation via Latex: generate the .tex file
 	$(QUIET)$(MKDIR) -p $(VBOX_PATH_SDK)/docs
 	$(call MSG_L1,pdflatex $< (three passes))
-	$(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
-	$(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
-	$(QUIET)$(REDIRECT) -C $(<D) -- $(PDFLATEX) SDKRef.tex
+	$(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
+	$(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
+	$(QUIET)$(REDIRECT) -C $(<D) -- $(VBOX_PDFLATEX_CMD) SDKRef.tex
 	$(QUIET)$(SED) -ne '/Warning: Hyper reference/p' $(basename $<).log
 	$(QUIET)$(SED) -n \
 		-e '/Warning: There were \(undefined references\|multiply-defined labels\)/{p; q 1}' \
@@ -573,11 +648,13 @@ $(VBOX_PATH_SDK)/docs/SDKRef.pdf: \
 	$(call MSG_L1,Fresh LaTeX-generated PDF is now at $@)
 
 # generate temporary LaTeX source from processed XML
-$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_SDKREF_XML_FILES)) $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $(MAKEFILE_CURRENT)
+$(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: $(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_SDKREF_XML_FILES)) \
+		$(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $(MAKEFILE_CURRENT)
 	$(call MSG_L1,Generating $@ from DocBook XML)
 	$(QUIET)$(RM) -f $(addprefix $(@D/),$(VBOX_SDKREF_LATEX_FILES_TARGET))
 #	generate TeX source from processed docbook and store it in SDKRef.tex.tmp
-	$(QUIET)$(VBOX_XSLTPROC) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG en_US -o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) $(XSLTPROC_VERBOSE) --xinclude --nonet --stringparam TARGETLANG en_US \
+		-o $@.tmp $(VBOX_PATH_MANUAL_SRC)/docbook2latex.xsl $<
 #	for pretty quotes, replace " with `` or '' depending on whether it's at the start of a word;
 #   the \QUOTE{} was inserted by docbook2latex.xsl for all quotes _outside_ of screen sections
 	$(QUIET)$(SED) \
@@ -588,73 +665,87 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/SDKRef.tex: $(addprefix $(VBOX_PATH_MANUAL_OUT
 	$(QUIET)$(RM) -f $@.tmp
 
 
-##########################################################################################
-#
-#  VirtualBox.chm
-#
-##########################################################################################
-
-#
-# Main rule for the .chm file (target of OTHERS at the top):
-# We first generate a .hhp help source file from the preprocessed
-# DocBook XML files, as defined above,  then feed that into the
-# Microsoft Help Compiler.
-#
 
 ifdef VBOX_WITH_DOCS_CHM
-$(PATH_STAGE_BIN)/VirtualBox.chm: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.chm
+ #
+ # VirtualBox.chm
+ #
+ # We first generate a .hhp help source file from the preprocessed
+ # DocBook XML files, as defined above, then feed that into the
+ # Microsoft Help Compiler.
+ #
+ $(PATH_STAGE_BIN)/VirtualBox.chm: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/VirtualBox.chm
 	$(QUIET)$(CP) $< $@
 	$(call MSG_L1,Fresh CHM is now at $@)
 
-$(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm): \
+ $(foreach f,$(VBOX_MANUAL_ADD_LANGUAGES),$(PATH_STAGE_BIN)/VirtualBox_$(f).chm): \
 	$(PATH_STAGE_BIN)/VirtualBox_%.chm : $(VBOX_PATH_MANUAL_OUTBASE)/%/VirtualBox.chm
 	$(QUIET)$(CP) $< $@
 	$(call MSG_L1,Fresh CHM is now at $@)
 
-$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/VirtualBox.chm): \
+ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/VirtualBox.chm): \
 		$(VBOX_PATH_MANUAL_OUTBASE)/%/VirtualBox.chm: \
 		$(VBOX_PATH_MANUAL_OUTBASE)/%/HTMLHelp/htmlhelp.hhp \
 		$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/,$(VBOX_MANUAL_PNG_FILES_$(f))))
 	$(call MSG_L1,hhc $<,=> $@)
 	$(QUIET)$(RM) -f $@
-	$(QUIET)$(HHC) $(subst /,\\,$<)
+	$(QUIET)$(VBOX_HHC) $(subst /,\\,$<)
+
+
+ # intermediate step to do some variable replacement in the XSL configuration
+ $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/docbook-htmlhelp-formatcfg.xsl): \
+		$(VBOX_PATH_MANUAL_SRC)/docbook-htmlhelp-formatcfg.xsl $(MAKEFILE_CURRENT) | $$(dir $$@)
+	$(call MSG_GENERATE,,$@,$<)
+	$(QUIET)$(RM) -f $@
+	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
+	               -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
+	               -e 's|\$$TARGETPATH|$(@D)|g' --output $@ $<
+
+ # Prepare the XSL file for our title page, htmlhelp variant.
+ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/titlepage-htmlhelp.xsl): \
+		$(VBOX_PATH_MANUAL_SRC)/titlepage-htmlhelp.xml $(MAKEFILE_CURRENT) | $$(dir $$@)
+	$(call MSG_L1,xsltproc $<)
+	$(QUIET)$(RM) -f $@.tmp $@
+	$(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet -o $@.tmp $(VBOX_PATH_DOCBOOK)/template/titlepage.xsl $<
+	$(QUIET)$(MV) -f $@.tmp $@
+
 
-$(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/htmlhelp.hhp): \
+ $(foreach f,$(VBOX_MANUAL_LANGUAGES),$(VBOX_PATH_MANUAL_OUTBASE)/$f/HTMLHelp/htmlhelp.hhp): \
 		$(VBOX_PATH_MANUAL_OUTBASE)/%/HTMLHelp/htmlhelp.hhp: \
 		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/%/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
 		$(VBOX_PATH_MANUAL_OUTBASE)/%/docbook-htmlhelp-formatcfg.xsl \
 		$(VBOX_PATH_MANUAL_OUTBASE)/%/titlepage-htmlhelp.xsl \
-		$(XML_CATALOG) \
-		$(XML_CATALOG_DOCBOOK)
+		$(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK)
 	$(call MSG_L1,xsltproc $<,=> $@)
 	$(QUIET)$(RM) -f $@
 	$(QUIET)$(MKDIR) -p $(@D)
-	$(QUIET)$(if $(XML_CATALOG),XML_CATALOG_FILES=$(XML_CATALOG)) \
-		$(VBOX_XSLTPROC) --xinclude --nonet --output $(@D)/ \
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output $(@D)/ \
 		--stringparam htmlhelp.chm \
 		$(subst /,\\,$(@D)/../VirtualBox.chm) \
 		$(HTMLHELPOPTS) $(@D)/../docbook-htmlhelp-formatcfg.xsl \
 		$<
 
-# copy the PNG files.
-# Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
-define def_vbox_cp_images_html
-local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/HTMLHelp
-$$(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
+ # copy the PNG files.
+ # Note: out_dir needs to be referenced with an escaped $ so it doesn't expand as eval expands it input.
+ define def_vbox_cp_images_html
+ local out_dir := $(VBOX_PATH_MANUAL_OUTBASE)/$(lang)/HTMLHelp
+ $$(addprefix $$(out_dir)/,$(VBOX_MANUAL_PNG_FILES_$(lang))): \
 			$$(out_dir)/%: $(VBOX_PATH_MANUAL_SRC)/$(lang)/% | $$$$(dir $$$$@)
 	$$(call MSG_L1,Copying temporary $$< => $$@)
 	$$(QUIET)$$(CP) -f $$< $$@
-endef
+ endef
 
-$(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_html)))
+ $(foreach lang,$(VBOX_MANUAL_LANGUAGES),$(eval $(def_vbox_cp_images_html)))
 
-# Packing the docs into a zip file
-$(PATH_STAGE_BIN)/VBoxDocumentation.zip: $(VBOX_MANUAL_PACK)
+ # Packing the docs into a zip file
+ $(PATH_STAGE_BIN)/VBoxDocumentation.zip: $(VBOX_MANUAL_PACK)
 	$(call MSG_L1,Packing documentation $@)
 	$(QUIET)$(RM) -f $@
 	$(QUIET)$(REDIRECT) -C $(PATH_STAGE_BIN) -- zip$(HOSTSUFF_EXE) -9 $@ $(notdir $^)
+
 endif # VBOX_WITH_DOCS_CHM
 
+
 ##########################################################################################
 #
 #  UserManual.html
@@ -666,7 +757,7 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-one-page-formatcfg.xsl: \
 		$(VBOX_PATH_MANUAL_SRC)/docbook-html-one-page-formatcfg.xsl $(MAKEFILE_CURRENT) | $$(dir $$@)
 	$(call MSG_L1,Pre-processing $(@F) to $@)
 	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
+	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
 	               -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
 	               -e 's|\$$TARGETPATH|$(@D)|g' --output $@.tmp $<
 	$(QUIET)$(MV) -f $@.tmp $@
@@ -675,7 +766,7 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-chunks-formatcfg.xsl: \
 		$(VBOX_PATH_MANUAL_SRC)/docbook-html-chunks-formatcfg.xsl $(MAKEFILE_CURRENT) | $$(dir $$@)
 	$(call MSG_L1,Pre-processing $(@F) to $@)
 	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
+	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
 	               -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
 	               -e 's|\$$TARGETPATH|$(@D)|g' --output $@.tmp $<
 	$(QUIET)$(MV) -f $@.tmp $@
@@ -684,9 +775,11 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html: \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-one-page-formatcfg.xsl \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.xml \
 		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
-		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
+		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
+		$(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) \
+		| $$(dir $$@)
 	$(call MSG_L1,xsltproc $<)
-	$(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet \
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet \
 		--output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-single/UserManual.html \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-one-page-formatcfg.xsl \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.xml
@@ -695,9 +788,11 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html: \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-chunks-formatcfg.xsl \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/UserManual.xml \
 		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_XML_FILES_INCL_CHANGELOG)) \
-		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US))
+		$(addprefix $(VBOX_PATH_MANUAL_OUTBASE)/en_US/,$(VBOX_MANUAL_PNG_FILES_en_US)) \
+		$(VBOX_XML_CATALOG) $(VBOX_XML_CATALOG_DOCBOOK) \
+		| $$(dir $$@)
 	$(call MSG_L1,xsltproc $<)
-	$(QUIET)$(VBOX_XSLTPROC) --xinclude --nonet \
+	$(QUIET)$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet \
 		--output $(VBOX_PATH_MANUAL_OUTBASE)/en_US/html-chunks/index.html \
 		--stringparam chunk.section.depth 0 \
 		$(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-html-chunks-formatcfg.xsl \
@@ -728,7 +823,7 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/docbook-changelog-formatcfg.xsl: \
 		$(VBOX_PATH_MANUAL_SRC)/docbook-changelog-formatcfg.xsl $(MAKEFILE_CURRENT) | $$(dir $$@)
 	$(call MSG_L1,Pre-processing $(@F) to $@)
 	$(QUIET)$(RM) -f $@.tmp $@
-	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(DOCBOOKPATH)|g' \
+	$(QUIET)$(SED) -e 's|\$$DOCBOOKPATH|$(VBOX_PATH_DOCBOOK)|g' \
 	               -e 's|\$$CFGPATH|$(VBOX_PATH_MANUAL_SRC)|g' \
 	               -e 's|\$$TARGETPATH|$(@D)|g' --output $@.tmp $<
 	$(QUIET)$(MV) -f $@.tmp $@
@@ -747,5 +842,23 @@ $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html: \
 
 cl-html: $(VBOX_PATH_MANUAL_OUTBASE)/en_US/ChangeLog.html
 
+
+##########################################################################################
+#
+#  VBoxManage man pages.
+#
+##########################################################################################
+$(evalcall2 def_vbox_replace_paths_in_xslt,docbook-refentry-to-man.xsl,)
+
+man-experiment: \
+		$(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage_extpack.xml \
+		$(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-man.xsl \
+		$(VBOX_XML_CATALOG) \
+		$(VBOX_XML_CATALOG_DOCBOOK)
+	$(VBOX_XSLTPROC_WITH_CAT) --xinclude --nonet --output z:/tmp/vboxmanage-extpack.1 \
+		$(VBOX_PATH_MANUAL_OUTBASE)/docbook-refentry-to-man.xsl \
+		$(VBOX_PATH_MANUAL_SRC)/en_US/man_VBoxManage_extpack.xml
+
+
 include $(FILE_KBUILD_SUB_FOOTER)
 
diff --git a/doc/manual/docbook-htmlhelp-formatcfg.xsl b/doc/manual/docbook-htmlhelp-formatcfg.xsl
index 6d19889..715bda1 100644
--- a/doc/manual/docbook-htmlhelp-formatcfg.xsl
+++ b/doc/manual/docbook-htmlhelp-formatcfg.xsl
@@ -6,4 +6,21 @@
 
 <xsl:include href="$TARGETPATH/titlepage-htmlhelp.xsl"/>
 
+<!-- for some reason, the default docbook stuff doesn't wrap simple <arg> elements
+     into HTML <code>, so with a default CSS a cmdsynopsis ends up with a mix of
+     monospace and proportional fonts.  Elsewhere we hack that in the CSS, here
+     that turned out to be harded, so we just wrap things in <code>, risking
+     nested <code> elements, but who cares as long as it works... -->
+<xsl:template match="group|arg">
+    <xsl:choose>
+        <xsl:when test="name(..) = 'arg' or name(..) = 'group'">
+            <xsl:apply-imports/>
+        </xsl:when>
+        <xsl:otherwise>
+            <code><xsl:apply-imports/></code>
+        </xsl:otherwise>
+    </xsl:choose>
+</xsl:template>
+
 </xsl:stylesheet>
+
diff --git a/doc/manual/docbook-refentry-to-man.xsl b/doc/manual/docbook-refentry-to-man.xsl
new file mode 100644
index 0000000..3ee660a
--- /dev/null
+++ b/doc/manual/docbook-refentry-to-man.xsl
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+    docbook-to-man.xsl:
+        XSLT stylesheet that renders a refentry into a troff manpage.
+
+    Copyright (C) 2006-2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+  <xsl:import href="@VBOX_PATH_DOCBOOK@/manpages/docbook.xsl"/>
+<!--  <xsl:import href="@VBOX_PATH_MANUAL_SRC@/common-formatcfg.xsl"/> -->
+
+  <!--
+  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
+  <xsl:strip-space elements="*"/>
+  -->
+
+
+</xsl:stylesheet>
+
diff --git a/doc/manual/docbook-refentry-to-manual-sect1.xsl b/doc/manual/docbook-refentry-to-manual-sect1.xsl
new file mode 100644
index 0000000..d8528d5
--- /dev/null
+++ b/doc/manual/docbook-refentry-to-manual-sect1.xsl
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!--
+    docbook-refentry-to-manual-sect1.xsl:
+        XSLT stylesheet for transforming a refentry (manpage)
+        to a sect1 for the user manual.
+
+    Copyright (C) 2006-2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+-->
+
+<xsl:stylesheet
+  version="1.0"
+  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  xmlns:str="http://xsltsl.org/string"
+  >
+
+  <xsl:import href="string.xsl"/>
+
+  <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
+  <xsl:strip-space elements="*"/>
+
+
+<!-- - - - - - - - - - - - - - - - - - - - - - -
+  global XSLT variables
+ - - - - - - - - - - - - - - - - - - - - - - -->
+
+
+
+<!-- - - - - - - - - - - - - - - - - - - - - - -
+  base operation is to copy.
+ - - - - - - - - - - - - - - - - - - - - - - -->
+
+<xsl:template match="node()|@*">
+  <xsl:copy>
+     <xsl:apply-templates select="node()|@*"/>
+  </xsl:copy>
+</xsl:template>
+
+
+<!-- - - - - - - - - - - - - - - - - - - - - - -
+
+ - - - - - - - - - - - - - - - - - - - - - - -->
+
+<!-- rename refentry to sect1 -->
+<xsl:template match="refentry">
+  <sect1>
+    <xsl:apply-templates select="node()|@*"/>
+  </sect1>
+</xsl:template>
+
+<!-- Remove refentryinfo, keeping the title element. -->
+<xsl:template match="refentryinfo">
+  <xsl:if test="./title">
+    <xsl:copy-of select="./title"/>
+  </xsl:if>
+</xsl:template>
+
+<!-- Morph refnamediv into a brief description. -->
+<xsl:template match="refnamediv">
+  <para>
+    <xsl:call-template name="capitalize">
+      <xsl:with-param name="text" select="normalize-space(./refpurpose)"/>
+    </xsl:call-template>
+    <xsl:text>.</xsl:text>
+  </para>
+</xsl:template>
+
+<!-- Remove refmeta. -->
+<xsl:template match="refmeta"/>
+
+<!-- Remove all remarks (for now). -->
+<xsl:template match="remark"/>
+
+
+<!--
+ Captializes the given text.
+ -->
+<xsl:template name="capitalize">
+  <xsl:param name="text"/>
+  <xsl:call-template name="str:to-upper">
+    <xsl:with-param name="text" select="substring($text,1,1)"/>
+  </xsl:call-template>
+  <xsl:value-of select="substring($text,2)"/>
+</xsl:template>
+
+</xsl:stylesheet>
+
diff --git a/doc/manual/docbook2latex.xsl b/doc/manual/docbook2latex.xsl
index 07045ef..665e7d8 100644
--- a/doc/manual/docbook2latex.xsl
+++ b/doc/manual/docbook2latex.xsl
@@ -115,6 +115,7 @@
 \usepackage{fancyvrb}
 \usepackage{alltt}
 \usepackage{color}
+\usepackage{scrextend}
 \definecolor{darkgreen}{rgb}{0,0.6,0}
 
 </xsl:text>
@@ -283,42 +284,62 @@
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='chapter'">
-        <xsl:text>&#x0a;&#x0a;\chapter{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\chapter{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='sect1'">
-        <xsl:text>&#x0a;&#x0a;\section{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\section{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='sect2'">
-        <xsl:text>&#x0a;&#x0a;\subsection{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\subsection{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='sect3'">
-        <xsl:text>&#x0a;&#x0a;\subsubsection{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\subsubsection{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='sect4'">
-        <xsl:text>&#x0a;&#x0a;\paragraph{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\paragraph{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='sect5'">
-        <xsl:text>&#x0a;&#x0a;\subparagraph{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\subparagraph{</xsl:text>
+        <xsl:apply-templates />
+        <xsl:text>}</xsl:text>
+      </xsl:when>
+      <xsl:when test="name(..)='refsect1'">
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\paragraph{</xsl:text>
+        <xsl:apply-templates />
+        <xsl:text>}&#x0a;\begin{addmargin}{1em}&#x0a;</xsl:text> <!-- addmargin is ended by refsect1 template way further down. -->
+      </xsl:when>
+      <xsl:when test="name(..)='refsect2'">
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\subparagraph{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='appendix'">
-        <xsl:text>&#x0a;&#x0a;\chapter{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\chapter{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
       <xsl:when test="name(..)='glossdiv'">
-        <xsl:text>&#x0a;&#x0a;\section*{</xsl:text>
+        <xsl:call-template name="xsltprocNewlineOutputHack"/>
+        <xsl:text>&#x0a;\section*{</xsl:text>
         <xsl:apply-templates />
         <xsl:text>}</xsl:text>
       </xsl:when>
@@ -416,7 +437,7 @@
   </xsl:template>
 
   <xsl:template match="para">
-    <xsl:if test="not(name(..)='footnote' or name(..)='note' or name(..)='warning')">
+    <xsl:if test="not(name(..)='footnote' or name(..)='note' or name(..)='warning' or (name(../..)='varlistentry' and position()=1))">
       <xsl:text>&#x0a;&#x0a;</xsl:text>
     </xsl:if>
     <xsl:apply-templates />
@@ -478,17 +499,36 @@
   </xsl:template>
 
   <xsl:template match="itemizedlist">
-    <xsl:text>&#x0a;&#x0a;\begin{itemize}&#x0a;</xsl:text>
+    <xsl:call-template name="xsltprocNewlineOutputHack"/>
+    <xsl:text>&#x0a;\begin{itemize}&#x0a;</xsl:text>
     <xsl:apply-templates />
     <xsl:text>&#x0a;\end{itemize}&#x0a;</xsl:text>
   </xsl:template>
 
   <xsl:template match="orderedlist">
-    <xsl:text>&#x0a;&#x0a;\begin{enumerate}&#x0a;</xsl:text>
+    <xsl:call-template name="xsltprocNewlineOutputHack"/>
+    <xsl:text>&#x0a;\begin{enumerate}&#x0a;</xsl:text>
     <xsl:apply-templates />
     <xsl:text>&#x0a;\end{enumerate}&#x0a;</xsl:text>
   </xsl:template>
 
+  <xsl:template match="variablelist">
+    <xsl:call-template name="xsltprocNewlineOutputHack"/>
+    <xsl:text>&#x0a;\begin{description}&#x0a;</xsl:text>
+    <xsl:apply-templates />
+    <xsl:text>&#x0a;\end{description}&#x0a;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="varlistentry">
+    <xsl:if test="not(./term) or not(./listitem) or count(*) != 2">
+      <xsl:message terminate="yes">Expected exactly one term and one listitem element in the varlistentry.</xsl:message>
+    </xsl:if>
+    <xsl:text>&#x0a;&#x0a;\item[</xsl:text>
+    <xsl:apply-templates select="term"/>
+    <xsl:text>] \hfill \\&#x0a;</xsl:text>
+    <xsl:apply-templates select="listitem/*"/>
+  </xsl:template>
+
   <xsl:template match="listitem">
     <xsl:text>&#x0a;&#x0a;\item </xsl:text>
     <xsl:apply-templates />
@@ -573,6 +613,136 @@
     </xsl:if>
   </xsl:template>
 
+  <!--
+     Turn the refsynopsisdiv part of a manpage into a named & indented paragraph.
+  -->
+  <xsl:template match="refsynopsisdiv">
+    <xsl:if test="name(*[1]) != 'cmdsynopsis'"><xsl:message terminate="yes">Expected refsynopsisdiv to start with cmdsynopsis</xsl:message></xsl:if>
+    <xsl:if test="title"><xsl:message terminate="yes">No title element supported in refsynopsisdiv</xsl:message></xsl:if>
+    <xsl:call-template name="xsltprocNewlineOutputHack"/>
+    <xsl:text>&#x0a;\paragraph{Synopsis} \hfill \\&#x0a;\begin{addmargin}{1em}&#x0a;</xsl:text>
+    <xsl:apply-templates />
+    <xsl:text>\end{addmargin}&#x0a;</xsl:text>
+  </xsl:template>
+
+  <!--
+    The refsect1 is used for 'Description' and such. Do same as with refsynopsisdiv
+    and turn it into a named & indented paragraph.
+
+    Note! If the section has a title, the title template way up above will begin
+          the addmargin stuff.  We'll just end it here.
+          If there is no title, we ASSUME (HACK ALERT) that this is part of the
+          VBoxManage Command Overview section in the manual.
+    -->
+  <xsl:template match="refsect1">
+    <xsl:if test="(name(*[1]) != 'title' and name(*[1]) != 'cmdsynopsis') or not(title) = not(cmdsynopsis)">
+      <xsl:message terminate="yes">Expected title or cmdsynopsis element as the first child of refsect1.</xsl:message>
+    </xsl:if>
+    <xsl:if test="not(title)">
+      <xsl:call-template name="xsltprocNewlineOutputHack"/>
+      <xsl:text>&#x0a;\begin{addmargin}{1em}&#x0a;</xsl:text>
+    </xsl:if>
+    <xsl:apply-templates/>
+    <xsl:text>&#x0a;\end{addmargin}&#x0a;</xsl:text>
+  </xsl:template>
+
+  <!--
+    The refsect2 element will be turned into a subparagraph if it has a title,
+    however, that didn't work out when it didn't have a title and started with
+    a cmdsynopsis instead (subcommand docs).  So, we're doing some trickery
+    here (HACK ALERT) for the non-title case to feign a paragraph.
+    -->
+  <xsl:template match="refsect2">
+    <xsl:if test="(name(*[1]) != 'title' and name(*[1]) != 'cmdsynopsis') or not(title) = not(cmdsynopsis)">
+      <xsl:message terminate="yes">Expected title or cmdsynopsis element as the first child of refsect2.</xsl:message>
+    </xsl:if>
+    <xsl:if test="not(title)">
+      <xsl:call-template name="xsltprocNewlineOutputHack"/>
+      <xsl:text>\vspace{1.2em}&#x0a;</xsl:text>
+    </xsl:if>
+    <xsl:apply-templates/>
+    <xsl:text>&#x0a;</xsl:text>
+  </xsl:template>
+
+
+  <!--
+    Command Synopsis elements.
+    -->
+  <xsl:template match="sbr">
+    <xsl:text>\linebreak</xsl:text>
+  </xsl:template>
+  <xsl:template match="refentry|refnamediv|refentryinfo|refmeta|refsect3|refsect4|refsect5|synopfragment|synopfragmentref|cmdsynopsis/info">
+    <xsl:message terminate="yes"><xsl:value-of select="name()"/> is not supported</xsl:message>
+  </xsl:template>
+
+  <xsl:template match="cmdsynopsis">
+    <xsl:text>&#x0a;\noindent\texttt{</xsl:text>
+    <xsl:apply-templates />
+    <xsl:text>}\linebreak</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="replaceable">
+    <xsl:choose>
+      <xsl:when test="not(ancestor::cmdsynopsis)">
+        <xsl:text>\texttt{\textit{</xsl:text>
+        <xsl:apply-templates />
+        <xsl:text>}}</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>\textit{</xsl:text>
+        <xsl:apply-templates />
+        <xsl:text>}</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="command|option">
+    <xsl:choose>
+      <xsl:when test="not(ancestor::cmdsynopsis)">
+        <xsl:text>\texttt{</xsl:text>
+        <xsl:apply-templates />
+        <xsl:text>}</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates />
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="arg|group">
+    <!-- separator char if we're not the first child -->
+    <xsl:if test="position() > 1">
+      <xsl:choose>
+        <xsl:when test="ancestor-or-self::*/@sepchar"><xsl:value-of select="ancestor-or-self::*/@sepchar"/></xsl:when>
+        <xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
+    <!-- open wrapping -->
+    <xsl:choose>
+      <xsl:when test="@choice = 'opt' or @choice = ''"> <xsl:text>[</xsl:text></xsl:when>
+      <xsl:when test="@choice = 'req'">                 <xsl:text>{</xsl:text></xsl:when>
+      <xsl:when test="@choice = 'plain'"/>
+      <xsl:otherwise><xsl:message terminate="yes">Invalid arg choice</xsl:message></xsl:otherwise>
+    </xsl:choose>
+    <!-- render the arg (TODO: may need to do more work here) -->
+    <xsl:apply-templates />
+    <!-- repeat wrapping -->
+    <xsl:choose>
+      <xsl:when test="@rep = 'norepeat' or @rep = ''"/>
+      <xsl:when test="@rep = 'repeat'">                 <xsl:text>...</xsl:text></xsl:when>
+      <xsl:otherwise><xsl:message terminate="yes">Invalid rep choice</xsl:message></xsl:otherwise>
+    </xsl:choose>
+    <!-- close wrapping -->
+    <xsl:choose>
+      <xsl:when test="@choice = 'opt' or @choice = ''"> <xsl:text>]</xsl:text></xsl:when>
+      <xsl:when test="@choice = 'req'">                 <xsl:text>}</xsl:text></xsl:when>
+    </xsl:choose>
+  </xsl:template>
+
+
+  <!--
+    Generic element text magic.
+    -->
   <xsl:template match="//text()">
     <xsl:variable name="subst1">
       <xsl:call-template name="str:subst">
@@ -586,7 +756,14 @@
       <xsl:when test="(name(..)='screen') or (name(../..)='screen')">
         <xsl:value-of select="." />
       </xsl:when>
-      <xsl:when test="(name(..)='computeroutput') or (name(../..)='computeroutput') or (name(..)='code') or (name(../..)='code')">
+      <xsl:when test="(name(..) = 'computeroutput') or (name(../..) = 'computeroutput')
+                   or (name(..) = 'code')           or (name(../..) = 'code')
+                   or (name(..) = 'arg')            or (name(../..) = 'arg')
+                   or (name(..) = 'option')         or (name(../..) = 'option')
+                   or (name(..) = 'command')        or (name(../..) = 'command')
+                   or (name(..) = 'cmdsynopsis')    or (name(../..) = 'cmdsynopsis')
+                   or (name(..) = 'replaceable')    or (name(../..) = 'replaceable')
+                     ">
         <xsl:variable name="subst2">
           <xsl:call-template name="str:subst">
             <xsl:with-param name="text" select="$subst1" />
@@ -738,5 +915,27 @@
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
+
+  <!--
+       xsltprocNewlineOutputHack - emits a single new line.
+
+       Hack Alert! This template helps xsltproc split up the output text elements
+                   and avoid reallocating them into the MB range. Calls to this
+                   template is made occationally while generating larger output
+                   file.  It's not necessary for small stuff like header.
+
+                   The trick we're playing on xsltproc has to do with CDATA
+                   and/or the escape setting of the xsl:text element.  It forces
+                   xsltproc to allocate a new output element, thus preventing
+                   things from growing out of proportions and slowing us down.
+
+                   This was successfully employed to reduce a 18+ seconds run to
+                   around one second (possibly less due to kmk overhead).
+   -->
+  <xsl:template name="xsltprocNewlineOutputHack">
+      <xsl:text disable-output-escaping="yes"><![CDATA[
+]]></xsl:text>
+  </xsl:template>
+
 </xsl:stylesheet>
 
diff --git a/doc/manual/en_US/SDKRef.xml b/doc/manual/en_US/SDKRef.xml
index 0a2f45a..0b02af4 100644
--- a/doc/manual/en_US/SDKRef.xml
+++ b/doc/manual/en_US/SDKRef.xml
@@ -3906,7 +3906,10 @@ AuthResult AUTHCALL AuthEntry(
              </listitem>
            </itemizedlist>
           Small adjustments to the parameter lists have been made to reduce
-          the number of API calls when taking online snapshots etc.</para>
+          the number of API calls when taking online snapshots (no longer
+          needs explicit pausing), and taking a snapshot also returns now
+          the snapshot id (useful for finding the right snapshot if there
+          are non-unique snapshot names).</para>
         </listitem>
 
         <listitem>
@@ -3944,12 +3947,27 @@ AuthResult AUTHCALL AuthEntry(
         </listitem>
 
         <listitem>
+          <para>The method <xref linkend="IMachine__getStorageControllerByInstance"
+          xreflabel="IMachine::getStorageControllerByInstance()" /> now has an
+          additional parameter (first parameter), for specifying the storage
+          bus which the storage controller must be using. The method was not
+          useful before, as the instance numbers are only unique for a specfic
+          storage bus.</para>
+        </listitem>
+
+        <listitem>
           <para>The attribute <computeroutput>IMachine::sessionType</computeroutput>
           has been renamed to <xref linkend="IMachine__sessionName"
           xreflabel="IMachine::sessionName()" />. This cleans up the confusing
           terminology (as the session type is something different).</para>
         </listitem>
 
+        <listitem>
+          <para>The attribute <computeroutput>IMachine::guestPropertyNotificationPatterns</computeroutput>
+          has been removed. In practice it was not usable because it is too
+          global and didn't distinguish between API clients.</para>
+        </listitem>
+
         <listitem><para>Drag'n drop APIs were changed as follows:<itemizedlist>
 
           <listitem>
@@ -5761,9 +5779,8 @@ AuthResult AUTHCALL AuthEntry(
         <listitem>
           <para>New attributes in IMachine: <xref
           linkend="IMachine__accelerate3DEnabled"
-          xreflabel="accelerate3DEnabled" />, HWVirtExVPIDEnabled, <xref
-          linkend="IMachine__guestPropertyNotificationPatterns"
-          xreflabel="guestPropertyNotificationPatterns" />, <xref
+          xreflabel="accelerate3DEnabled" />, HWVirtExVPIDEnabled, 
+          <computeroutput>IMachine::guestPropertyNotificationPatterns</computeroutput>, <xref
           linkend="IMachine__CPUCount" xreflabel="CPUCount" />.</para>
         </listitem>
 
diff --git a/doc/manual/en_US/man_VBoxManage_extpack.xml b/doc/manual/en_US/man_VBoxManage_extpack.xml
new file mode 100644
index 0000000..880b217
--- /dev/null
+++ b/doc/manual/en_US/man_VBoxManage_extpack.xml
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    manpage, user manual, usage: VBoxManage extpack
+
+    Copyright (C) 2006-2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+
+ -->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
+<refentry id="vboxmanage-extpack" lang="en">
+
+  <refentryinfo>
+    <pubdate>$Date: 2015-06-01 08:41:36 +0200 (Mon, 01 Jun 2015) $</pubdate>
+    <title>VBoxManage extpack</title>
+  </refentryinfo>
+
+  <refmeta>
+    <manvolnum>1</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>VBoxManage-extpack</refname>
+    <refpurpose>extension package management</refpurpose>
+    <refclass>Oracle VM VirtualBox</refclass>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <cmdsynopsis><remark role="usage"/>
+      <command>VBoxManage extpack install</command>
+      <arg>--replace</arg>
+      <arg choice="req"><replaceable>tarball</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis><remark role="usage"/>
+      <command>VBoxManage extpack uninstall</command>
+      <arg>--force</arg>
+      <arg choice="req"><replaceable>name</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis><remark role="usage"/>
+      <command>VBoxManage extpack cleanup</command>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>Description</title>
+
+    <refsect2 id="vboxmanage-extpack-install">
+      <cmdsynopsis>
+        <command>VBoxManage extpack install</command>
+        <arg>--replace</arg>
+        <arg choice="req"><replaceable>tarball</replaceable></arg>
+      </cmdsynopsis>
+      <para>
+        Installs a new extension pack on the system.  This command will fail if an older
+        version of the same extension pack is already installed.  The
+        <option>--replace</option> option can be used to uninstall any
+        old package before the new one is installed.
+      </para>
+      <variablelist>
+        <varlistentry>
+          <term><option>--replace</option></term><listitem><para>Uninstall existing extension pack version.</para></listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>tarball</replaceable></term>
+          <listitem>
+            <para>The file containing the extension pack to be installed.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
+
+    <refsect2 id="vboxmanage-extpack-uninstall">
+      <cmdsynopsis>
+        <command>VBoxManage extpack uninstall</command>
+        <arg>--force</arg>
+        <arg choice="req"><replaceable>name</replaceable></arg>
+      </cmdsynopsis>
+      <para>
+        Uninstalls an extension pack from the system.  The subcommand will also succeed
+        in the case where the specified extension pack is not present on the system.
+        You can use <computeroutput>VBoxManage list extpacks</computeroutput> to show
+        the names of the extension packs which are currently installed.
+      </para>
+      <variablelist>
+        <varlistentry>
+          <term><option>--force</option></term>
+          <listitem>
+            <para>Overrides most refusals to uninstall an extension pack</para>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><replaceable>name</replaceable></term>
+          <listitem>
+            <para>The name of the extension pack to be uninstalled.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsect2>
+
+    <refsect2 id="vboxmanage-extpack-cleanup">
+      <cmdsynopsis>
+        <command>VBoxManage extpack cleanup</command>
+      </cmdsynopsis>
+      <para>
+        Used to remove temporariy files and directories that may have been left behind
+        if a previous install or uninstall command failed.
+      </para>
+    </refsect2>
+
+  </refsect1>
+
+<!-- TODO examples
+  <para>The following commands show examples how to list extension packs and
+  remove one:<screen>
+$ VBoxManage list extpacks
+Extension Packs: 1
+Pack no. 0:   Oracle VM VirtualBox Extension Pack
+Version:      4.1.12
+Revision:     77218
+Edition:
+Description:  USB 2.0 Host Controller, VirtualBox RDP, PXE ROM with E1000 support.
+VRDE Module:  VBoxVRDP
+Usable:       true
+Why unusable:
+$ VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
+0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
+Successfully uninstalled "Oracle VM VirtualBox Extension Pack".</screen></para>
+-->
+
+</refentry>
+
diff --git a/doc/manual/en_US/user_BasicConcepts.xml b/doc/manual/en_US/user_BasicConcepts.xml
index 5eb8ba7..0f3360d 100644
--- a/doc/manual/en_US/user_BasicConcepts.xml
+++ b/doc/manual/en_US/user_BasicConcepts.xml
@@ -1008,8 +1008,7 @@
 
     <para>On a Linux host, depending on your host configuration, you can also
     select between the OSS, ALSA or the PulseAudio subsystem. On newer Linux
-    distributions (Fedora 8 and above, Ubuntu 8.04 and above), the PulseAudio
-    subsystem should be preferred.</para>
+    distributions, the PulseAudio subsystem should be preferred.</para>
   </sect1>
 
   <sect1 id="settings-network">
@@ -1400,8 +1399,8 @@
     Alternatively, use the <computeroutput>VBoxManage</computeroutput> command
     line interface like this: <screen>VBoxManage modifyvm "VM name" --firmware efi</screen>
     To switch back to using the BIOS, use: <screen>VBoxManage modifyvm "VM name" --firmware bios</screen>One
-    notable user of EFI is Apple's Mac OS X, but recent Linuxes (such as Fedora
-    11) and Windows (starting with Vista) offer special versions that can be
+    notable user of EFI is Apple's Mac OS X, but more recent Linuxes
+    and Windows (starting with Vista) offer special versions that can be
     booted using EFI as well.</para>
 
     <para>Another possible use of EFI in VirtualBox is development and testing
diff --git a/doc/manual/en_US/user_Installation.xml b/doc/manual/en_US/user_Installation.xml
index fdff9ec..c5255be 100644
--- a/doc/manual/en_US/user_Installation.xml
+++ b/doc/manual/en_US/user_Installation.xml
@@ -264,7 +264,7 @@
 
       <itemizedlist>
         <listitem>
-          <para>Qt 4.6.2 or higher;</para>
+          <para>Qt 4.8.0 or higher;</para>
         </listitem>
 
         <listitem>
@@ -412,7 +412,7 @@
         Ubuntu Raring system. Use <computeroutput>dpkg</computeroutput> to
         install the Debian package:</para>
 
-        <screen>sudo dpkg -i virtualbox-4.3_$VBOX_VERSION_STRING_Ubuntu_raring_i386.deb</screen>
+        <screen>sudo dpkg -i virtualbox-5.0_$VBOX_VERSION_STRING_Ubuntu_raring_i386.deb</screen>
 
         <para>You will be asked to accept the VirtualBox Personal Use and
         Evaluation License. Unless you answer "yes" here, the installation
diff --git a/doc/manual/en_US/user_Introduction.xml b/doc/manual/en_US/user_Introduction.xml
index db429f1..8aaf5e6 100644
--- a/doc/manual/en_US/user_Introduction.xml
+++ b/doc/manual/en_US/user_Introduction.xml
@@ -437,7 +437,7 @@
       </listitem>
 
       <listitem>
-        <para><emphasis role="bold">Mac OS X</emphasis> hosts:<footnote>
+        <para><emphasis role="bold">Mac OS X</emphasis> hosts (64-bit):<footnote>
             <para>Preliminary Mac OS X support (beta stage) was added with
             VirtualBox 1.4, full support with 1.6. Mac OS X 10.4 (Tiger)
             support was removed with VirtualBox 3.1. Mac OS X 10.7 (Lion)
@@ -469,23 +469,23 @@
             1.4.</para>
           </footnote>). Among others, this includes:<itemizedlist>
             <listitem>
-              <para>Ubuntu 10.04 to 14.10</para>
+              <para>Ubuntu 10.04 to 15.04</para>
             </listitem>
 
             <listitem>
-              <para>Debian GNU/Linux 6.0 ("squeeze") and 7.0 ("wheezy")</para>
+              <para>Debian GNU/Linux 6.0 ("Squeeze") and 8.0 ("Jessie")</para>
             </listitem>
 
             <listitem>
-              <para>Oracle Enterprise Linux 5, Oracle Linux 6</para>
+              <para>Oracle Enterprise Linux 5, Oracle Linux 6 and 7</para>
             </listitem>
 
             <listitem>
-              <para>Redhat Enterprise Linux 5 and 6</para>
+              <para>Redhat Enterprise Linux 5, 6 and 7</para>
             </listitem>
 
             <listitem>
-              <para>Fedora Core 6 to 20</para>
+              <para>Fedora Core / Fedora 6 to 22</para>
             </listitem>
 
             <listitem>
@@ -493,7 +493,7 @@
             </listitem>
 
             <listitem>
-              <para>openSUSE 11.0, 11.1, 11.2, 11.3, 11.4, 12.1, 12.2, 13.1</para>
+              <para>openSUSE 11.4, 12.1, 12.2, 13.1</para>
             </listitem>
 
             <listitem>
diff --git a/doc/manual/en_US/user_VBoxManage.xml b/doc/manual/en_US/user_VBoxManage.xml
index dac01d0..037021c 100644
--- a/doc/manual/en_US/user_VBoxManage.xml
+++ b/doc/manual/en_US/user_VBoxManage.xml
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    user_VBoxManage.xml:
+      VBoxManage documentation for the user manual.
+
+      This XML document is also be used for generating the help text
+      built into VBoxManage as well as manpages (hacking in progress).
+
+    Copyright (C) 2006-2015 Oracle Corporation
+
+    This file is part of VirtualBox Open Source Edition (OSE), as
+    available from http://www.virtualbox.org. This file is free software;
+    you can redistribute it and/or modify it under the terms of the GNU
+    General Public License (GPL) as published by the Free Software
+    Foundation, in version 2 as it comes in the "COPYING" file of the
+    VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+    hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+
+ -->
 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
 <chapter id="vboxmanage">
@@ -2814,12 +2832,12 @@ Value: 2006.01.01</screen>
 
         <glossentry>
           <glossterm><computeroutput>hwvirtexclusive</computeroutput></glossterm>
-          <para>This specifies whether VirtualBox will make exclusive use of
+          <glossdef><para>This specifies whether VirtualBox will make exclusive use of
           the hardware virtualization extensions (Intel VT-x or AMD-V) of the
           host system's processor; see <xref linkend="hwvirt" />. If you wish to
           share these extensions with other hypervisors running at the same time,
           you must disable this setting. Doing so has negative performance implications.
-          </para>
+          </para></glossdef>
         </glossentry>
 
 
@@ -3067,43 +3085,80 @@ Value: 2006.01.01</screen>
     to control certain things inside a guest from the host. Please see <xref
     linkend="guestadd-guestcontrol" /> for an introduction.</para>
 
-    <para>Generally, the syntax is as follows:</para>
+    <para>There are two sets of subcommands here.  The first set requires guest
+      credentials to be specified, the second set does not.</para>
 
-    <screen>VBoxManage guestcontrol <uuid|vmname> <command></screen>
+    <para>The first set of subcommands are on the following form:</para>
 
-    <para>The following subcommands are available (where
-    <computeroutput><uuid|vmname></computeroutput>, in each case, can either be a
-    VM name or a VM UUID, as with the other VBoxManage commands):<itemizedlist>
-        <listitem>
-          <para><emphasis role="bold"><computeroutput>execute</computeroutput></emphasis>,
-          which allows for
-          executing a program/script (process) which already is installed and
-          runnable on the guest. This command only works while a VM is up and
-          running and has the following syntax:</para>
-
-          <screen>VBoxManage guestcontrol <uuid|vmname> exec[ute]
-            --image <path to program> --username <name>
-            [--passwordfile <file> | --password <password>]
-            [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"]
-            [--verbose] [--timeout <msec>]
-            [--wait-exit] [--wait-stdout] [--wait-stderr]
-            [--dos2unix] [--unix2dos]
-            -- [[<argument1>] ... [<argumentN>]]</screen>
+    <screen>VBoxManage guestcontrol <uuid|vmname> <sub-command>
+            [-v|--verbose] [-q|quiet] [--username <name>] [--domain <domain> ]
+            [--passwordfile <file> | --password <password>] ...
+    </screen>
 
-          <para>where the parameters mean: <glosslist>
-              <glossentry>
-                <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
+    <para>and the second set are on the following form:</para>
 
-                <glossdef>
-                  <para>The VM UUID or VM name. Mandatory.</para>
-                </glossdef>
-              </glossentry>
+    <screen>VBoxManage guestcontrol <uuid|vmname> <sub-command>
+            [-v|--verbose] [-q|quiet] ...
+    </screen>
 
-              <glossentry>
-                <glossterm><computeroutput>--image "<path to program>"</computeroutput></glossterm>
+    <para>where the common parameters are:
+      <glosslist>
+        <glossentry>
+          <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
+          <glossdef><para>The VM UUID or VM name. Mandatory.</para></glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>--username <name></computeroutput></glossterm>
+          <glossdef><para>Name of the user the process should run under. This
+            user must exist on the guest OS. If not specified the host user
+            name is used.</para>
+          </glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>--domain <domain></computeroutput></glossterm>
+          <glossdef><para>User domain for windows guests, optional.</para></glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>--passwordfile <file></computeroutput></glossterm>
+          <glossdef><para>Password of the specified user account to be read from
+            the given file. If not given, an empty password is assumed.</para></glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>--password <password></computeroutput></glossterm>
+          <glossdef><para>Password of the specified user account. If not given,
+            an empty password is assumed.</para></glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>-v|--verbose</computeroutput></glossterm>
+          <glossdef><para>Makes the sub-command execution more noisy.</para></glossdef>
+        </glossentry>
+        <glossentry>
+          <glossterm><computeroutput>-q|--quiet</computeroutput></glossterm>
+          <glossdef><para>Makes the sub-command execution more quiet.</para></glossdef>
+        </glossentry>
+      </glosslist>
+    </para>
 
-                <glossdef>
-                  <para>Absolute path and process name of process to execute
+    <para>The first set of subcommands:<itemizedlist>
+        <listitem>
+          <para><emphasis role="bold"><computeroutput>run</computeroutput></emphasis>,
+          allows you to execute a guest program waiting for it to complete and
+          forwarding stdout, stderr and stdin to/from the host.</para>
+
+          <screen>VBoxManage guestcontrol <uuid|vmname> run [common-options]
+            [--exe <path to executable>] [--timeout <msec>]
+            [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
+            [--ignore-operhaned-processes] [--no-profile]
+            [--no-wait-stdout|--wait-stdout]
+            [--no-wait-stderr|--wait-stderr]
+            [--dos2unix] [--unix2dos]
+            -- <program/arg0> [argument1] ... [argumentN]]
+          </screen>
+
+          <para>where the options are: <glosslist>
+              <glossentry>
+                <glossterm><computeroutput>--exe "<path to program>"</computeroutput></glossterm>
+                <glossdef><para>Guest path to the guest executable that should be executed.
                   in the guest, e.g.
                   <computeroutput>C:\Windows\System32\calc.exe</computeroutput></para>
                 </glossdef>
@@ -3141,9 +3196,9 @@ Value: 2006.01.01</screen>
               <glossentry>
                 <glossterm><computeroutput>--dos2unix</computeroutput></glossterm>
 
-                <glossdef>
+                <glossdef><para>
                   Converts output from DOS/Windows guests to UNIX-compatible
-                  line endings (CR + LF -> LF). Not implemented yet.
+                  line endings (CR + LF -> LF). Not implemented yet.</para>
                 </glossdef>
               </glossentry>
 
@@ -3186,10 +3241,9 @@ Value: 2006.01.01</screen>
               <glossentry>
                 <glossterm><computeroutput>--unix2dos</computeroutput></glossterm>
 
-                <glossdef>
+                <glossdef><para>
                   Converts output from a UNIX/Linux guests to DOS-/Windows-compatible
-                  line endings (LF -> CR + LF). Not implemented yet.
-                </glossdef>
+                  line endings (LF -> CR + LF). Not implemented yet.</para></glossdef>
               </glossentry>
 
               <glossentry>
@@ -4577,53 +4631,6 @@ Value: 2006.01.01</screen>
     network or host-only interface name.</para>
   </sect1>
 
-  <sect1 id="vboxmanage-extpack">
-    <title>VBoxManage extpack</title>
-
-    <para>The "extpack" command allows you to add or remove VirtualBox
-    extension packs, as described in <xref
-    linkend="intro-installing" />.<itemizedlist>
-        <listitem>
-          <para>To add a new extension pack, use <computeroutput>VBoxManage
-          extpack install <.vbox-extpack></computeroutput>. This command
-          will fail if an older version of the same extension pack is already
-          installed. The optional <computeroutput>--replace</computeroutput>
-          parameter can be used to uninstall the old package before the new
-          package is installed.</para>
-        </listitem>
-
-        <listitem>
-          <para>To remove a previously installed extension pack, use
-          <computeroutput>VBoxManage extpack uninstall
-          <name></computeroutput>. You can use
-          <computeroutput>VBoxManage list extpacks</computeroutput> to show
-          the names of the extension packs which are currently installed;
-          please see <xref linkend="vboxmanage-list" /> also. The optional
-          <computeroutput>--force</computeroutput> parameter can be used to
-          override the refusal of an extension pack to be uninstalled.</para>
-        </listitem>
-
-        <listitem>
-          <para>The <computeroutput>VBoxManage extpack
-          cleanup</computeroutput> command can be used to remove temporary
-          files and directories that may have been left behind if a previous
-          install or uninstall command failed.</para>
-        </listitem>
-      </itemizedlist></para>
-    <para>The following commands show examples how to list extension packs and
-    remove one:<screen>
-$ VBoxManage list extpacks
-Extension Packs: 1
-Pack no. 0:   Oracle VM VirtualBox Extension Pack
-Version:      4.1.12
-Revision:     77218
-Edition:
-Description:  USB 2.0 Host Controller, VirtualBox RDP, PXE ROM with E1000 support.
-VRDE Module:  VBoxVRDP
-Usable:       true
-Why unusable:
-$ VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
-0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
-Successfully uninstalled "Oracle VM VirtualBox Extension Pack".</screen></para>
-  </sect1>
+  <xi:include href="man_VBoxManage_extpack.xml" xpointer="element(/1)"
+    xmlns:xi="http://www.w3.org/2001/XInclude" />
 </chapter>
diff --git a/doc/manual/user_ChangeLogImpl.xml b/doc/manual/user_ChangeLogImpl.xml
index a493615..845bf44 100644
--- a/doc/manual/user_ChangeLogImpl.xml
+++ b/doc/manual/user_ChangeLogImpl.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
   <sect1>
-    <title>Version 5.0.0 Beta 4 (2015-05-18)</title>
+    <title>Version 5.0.0 Release Candidate 1 (2015-06-01)</title>
 
     <para>This is a major update. The following major new features
       were added:</para>
@@ -16,8 +16,9 @@
       <listitem>
         <para>Make more instruction set extensions available to the guest when
           running with hardware-assisted virtualization and nested paging. Among
-          others this includes: SSE 4.1, SSE4.2, AES-NI, <emphasis>POPCNT</emphasis>,
-          <emphasis>RDRAND</emphasis> and <emphasis>RDSEED</emphasis></para>
+          others this includes: SSE 4.1, SSE4.2, AVX, AVX-2, AES-NI,
+          <emphasis>POPCNT</emphasis>, <emphasis>RDRAND</emphasis> and
+          <emphasis>RDSEED</emphasis></para>
       </listitem>
 
       <listitem>
@@ -30,7 +31,13 @@
       </listitem>
 
       <listitem>
-        <para>Disk image encryption (see </para>
+        <para>Disk image encryption (see <xref linkend="diskencryption" />)</para>
+      </listitem>
+
+      <listitem>
+        <para>VMs can now be started in <emphasis>separate mode</emphasis>. The VM
+          process is started headless while the frontend runs as a separate process
+          which can be terminated without stopping the VM.</para>
       </listitem>
 
       <listitem>
@@ -73,8 +80,18 @@
     <itemizedlist>
 
       <listitem>
+        <para>VMM: improved timing on Solaris hosts with older VT-x hosts
+          without preemption timers</para>
+      </listitem>
+
+      <listitem>
+        <para>VMM: further improvements for TSC frequency measurements and
+          guest timekeeping</para>
+      </listitem>
+
+      <listitem>
         <para>GUI: improved HID LEDs synchronization for Mac and Windows hosts.
-          Phisical LEDs state now restored together with VM state restore.</para>
+          The physical LEDs state now restored together with the VM state.</para>
       </listitem>
 
       <listitem>
@@ -83,8 +100,7 @@
       </listitem>
 
       <listitem>
-        <para>VMM: improved timing on Solaris hosts with older VT-x hosts
-          without preemption timers</para>
+        <para>GUI: provide direct access to storage media in the VM selector</para>
       </listitem>
 
       <listitem>
@@ -95,6 +111,11 @@
       </listitem>
 
       <listitem>
+        <para>Guest Control: major overhaul, for example fixing wrong parameter quoting
+          (bug #13157)</para>
+      </listitem>
+
+      <listitem>
         <para>USB: added USB traffic capturing (see <xref linkend="usbtrafficcapturing" />)</para>
       </listitem>
 
@@ -132,6 +153,11 @@
       </listitem>
 
       <listitem>
+        <para>Main/Properties: properly drop transient guest properties when
+          the VM is powered off</para>
+      </listitem>
+
+      <listitem>
         <para>3D: fix potential race in which might cause a crash on VM
           termination</para>
       </listitem>
@@ -150,6 +176,16 @@
       </listitem>
 
       <listitem>
+        <para>Storage: added vbox-img standalone tool for direct manipulation
+          of virtual hard disk images without VBoxManage</para>
+      </listitem>
+
+      <listitem>
+        <para>ICH9: fixed the interrupt disable logic for MSI interrupts; should
+          fix old Linux guests with AHCI</para>
+      </listitem>
+
+      <listitem>
         <para>BIOS: fix for booting from SCSI CD/DVD media</para>
       </listitem>
 
@@ -172,7 +208,7 @@
 
       <listitem>
         <para>Windows Additions/WDDM: improved video memory utilization and
-          allow more/bigger guest screens with large resolutions (including HiDPI
+          allow more/bigger guest screens with large resolutions (including HiDPI)
         </para>
       </listitem>
 
diff --git a/include/VBox/VBoxVideo.h b/include/VBox/VBoxVideo.h
index 51ba3d1..b4e09c3 100644
--- a/include/VBox/VBoxVideo.h
+++ b/include/VBox/VBoxVideo.h
@@ -833,6 +833,8 @@ typedef struct VBVABUFFER
     uint8_t  au8Data[1]; /* variable size for the rest of the VBVABUFFER area in VRAM. */
 } VBVABUFFER;
 
+#define VBVA_MAX_RECORD_SIZE (128*_1M)
+
 /* guest->host commands */
 #define VBVA_QUERY_CONF32 1
 #define VBVA_SET_CONF32   2
@@ -928,6 +930,8 @@ typedef struct VBVAHOSTCMD
 #define VBOX_VBVA_CONF32_CURSOR_CAPABILITIES  4
 /** Returns the supported flags in VBVAINFOSCREEN::u8Flags. */
 #define VBOX_VBVA_CONF32_SCREEN_FLAGS 5
+/** Returns the max size of VBVA record. */
+#define VBOX_VBVA_CONF32_MAX_RECORD_SIZE 6
 
 typedef struct VBVACONF32
 {
@@ -1849,8 +1853,11 @@ typedef struct VBOXCMDVBVA_FLIP
 {
     VBOXCMDVBVA_HDR Hdr;
     VBOXCMDVBVA_ALLOCINFO src;
+    VBOXCMDVBVA_RECT aRects[1];
 } VBOXCMDVBVA_FLIP;
 
+#define VBOXCMDVBVA_SIZEOF_FLIPSTRUCT_MIN (RT_OFFSETOF(VBOXCMDVBVA_FLIP, aRects))
+
 typedef struct VBOXCMDVBVA_CLRFILL_HDR
 {
     VBOXCMDVBVA_HDR Hdr;
diff --git a/include/VBox/com/errorprint.h b/include/VBox/com/errorprint.h
index f6b49ec..43c1185 100644
--- a/include/VBox/com/errorprint.h
+++ b/include/VBox/com/errorprint.h
@@ -52,6 +52,49 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
                                 uint32_t ulLine);
 
 /**
+ * Extended macro that implements all the other CHECK_ERROR2XXX macros.
+ *
+ * Calls the method of the given interface and checks the return status code.
+ * If the status indicates failure, as much information as possible is reported
+ * about the error, including current source file and line.
+ *
+ * After reporting an error, the statement |stmtError| is executed.
+ *
+ * This macro family is intended for command line tools like VBoxManage, but
+ * could also be handy for debugging.
+ *
+ * @param   type        For defining @a hrc locally inside the the macro
+ *                      expansion, pass |HRESULT| otherwise |RT_NOTHING|.
+ * @param   hrc         Name of the HRESULT variable to assign the result of the
+ *                      method call to.
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @param   stmtError   Statement to be executed after reporting failures.  This
+ *                      can be a |break| or |return| statement, if so desired.
+ *
+ * @remarks Unlike CHECK_ERROR, CHECK_ERROR_RET and family, this macro family
+ *          does not presuppose a |rc| variable but instead either let the user
+ *          specify the variable to use or employs  a local variable |hrcCheck|
+ *          within its own scope.
+ *
+ * @sa      CHECK_ERROR2, CHECK_ERROR2I, CHECK_ERROR2_STMT, CHECK_ERROR2I_STMT,
+ *          CHECK_ERROR2_BREAK, CHECK_ERROR2I_BREAK, CHECK_ERROR2_RET,
+ *          CHECK_ERROR2I_RET
+ */
+#define CHECK_ERROR2_EX(type, hrc, iface, method, stmtError) \
+    if (1) { \
+        type hrc = iface->method; \
+        if (SUCCEEDED(hrc)) \
+        { /*likely*/ } \
+        else \
+        { \
+            com::GlueHandleComError(iface, #method, (hrc), __FILE__, __LINE__); \
+            stmtError; \
+        } \
+    } else do { /* nothing */ } while (0)
+
+
+/**
  *  Calls the given method of the given interface and then checks if the return
  *  value (COM result code) indicates a failure. If so, prints the failed
  *  function/line/file, the description of the result code and attempts to
@@ -60,6 +103,7 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
  *
  *  Used by command line tools or for debugging and assumes the |HRESULT rc|
  *  variable is accessible for assigning in the current scope.
+ * @sa CHECK_ERROR2, CHECK_ERROR2I
  */
 #define CHECK_ERROR(iface, method) \
     do { \
@@ -67,10 +111,31 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
         if (FAILED(rc)) \
             com::GlueHandleComError(iface, #method, rc, __FILE__, __LINE__); \
     } while (0)
+/**
+ * Simplified version of CHECK_ERROR2_EX, no error statement or type necessary.
+ *
+ * @param   hrc         Name of the HRESULT variable to assign the result of the
+ *                      method call to.
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @sa CHECK_ERROR2I, CHECK_ERROR2_EX
+ */
+#define CHECK_ERROR2(hrc, iface, method)            CHECK_ERROR2_EX(RT_NOTHING, hrc, iface, method, (void)1)
+/**
+ * Simplified version of CHECK_ERROR2_EX that uses an internal variable
+ * |hrcCheck| for holding the result and have no error statement.
+ *
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @sa CHECK_ERROR2, CHECK_ERROR2_EX
+ */
+#define CHECK_ERROR2I(iface, method)                CHECK_ERROR2_EX(HRESULT, hrcCheck, iface, method, (void)1)
+
 
 /**
  * Same as CHECK_ERROR except that it also executes the statement |stmt| on
  * failure.
+ * @sa CHECK_ERROR2_STMT, CHECK_ERROR2I_STMT
  */
 #define CHECK_ERROR_STMT(iface, method, stmt) \
     do { \
@@ -81,25 +146,33 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
             stmt; \
         } \
     } while (0)
-
 /**
- * Same as CHECK_ERROR_STMT except that it uses an internal variable |hrcCheck|
- * for holding the result.
+ * Simplified version of CHECK_ERROR2_EX (no @a hrc type).
+ *
+ * @param   hrc         Name of the HRESULT variable to assign the result of the
+ *                      method call to.
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @param   stmt        Statement to be executed after reporting failures.
+ * @sa CHECK_ERROR2I_STMT, CHECK_ERROR2_EX
  */
-#define CHECK_ERROR2_STMT(iface, method, stmt) \
-    do { \
-        HRESULT hrcCheck = iface->method; \
-        if (FAILED(hrcCheck)) \
-        { \
-            com::GlueHandleComError(iface, #method, hrcCheck, __FILE__, __LINE__); \
-            stmt; \
-        } \
-    } while (0)
+#define CHECK_ERROR2_STMT(hrc, iface, method, stmt) CHECK_ERROR2_EX(RT_NOTHING, hrc, iface, method, stmt)
+/**
+ * Simplified version of CHECK_ERROR2_EX that uses an internal variable
+ * |hrcCheck| for holding the result.
+ *
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @param   stmt        Statement to be executed after reporting failures.
+ * @sa CHECK_ERROR2_STMT, CHECK_ERROR2_EX
+ */
+#define CHECK_ERROR2I_STMT(iface, method, stmt)     CHECK_ERROR2_EX(HRESULT, hrcCheck, iface, method, stmt)
 
 
 /**
  *  Does the same as CHECK_ERROR(), but executes the |break| statement on
  *  failure.
+ * @sa CHECK_ERROR2_BREAK, CHECK_ERROR2I_BREAK
  */
 #ifdef __GNUC__
 # define CHECK_ERROR_BREAK(iface, method) \
@@ -125,10 +198,32 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
     } \
     else do {} while (0)
 #endif
+/**
+ * Simplified version of CHECK_ERROR2_EX that executes the |break| statement
+ * after error reporting (no @a hrc type).
+ *
+ * @param   hrc         The result variable (type HRESULT).
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @sa CHECK_ERROR2I_BREAK, CHECK_ERROR2_EX
+ */
+#define CHECK_ERROR2_BREAK(hrc, iface, method)      CHECK_ERROR2_EX(RT_NOTHING, hrc, iface, method, break)
+/**
+ * Simplified version of CHECK_ERROR2_EX that executes the |break| statement
+ * after error reporting and that uses an internal variable |hrcCheck| for
+ * holding the result.
+ *
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @sa CHECK_ERROR2_BREAK, CHECK_ERROR2_EX
+ */
+#define CHECK_ERROR2I_BREAK(iface, method)          CHECK_ERROR2_EX(HRESULT, hrcCheck, iface, method, break)
+
 
 /**
- *  Does the same as CHECK_ERROR(), but executes the |return ret| statement on
- *  failure.
+ * Does the same as CHECK_ERROR(), but executes the |return ret| statement on
+ * failure.
+ * @sa CHECK_ERROR2_RET, CHECK_ERROR2I_RET
  */
 #define CHECK_ERROR_RET(iface, method, ret) \
     do { \
@@ -139,50 +234,49 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
             return (ret); \
         } \
     } while (0)
-
 /**
- * Does the same as CHECK_ERROR(), but returns @a ret on failure.
+ * Simplified version of CHECK_ERROR2_EX that executes the |return (rcRet)|
+ * statement after error reporting.
  *
- * Unlike CHECK_ERROR and CHECK_ERROR_RET, this macro does not presuppose a
- * |rc| variable but instead employs a local variable |hrcCheck| in its own
- * scope.  This |hrcCheck| variable can be referenced by the @a rcRet
- * parameter.
+ * @param   iface       The interface pointer (can be a smart pointer object).
+ * @param   method      The method to invoke together with the parameters.
+ * @param   rcRet       What to return on failure.
+ */
+#define CHECK_ERROR2_RET(hrc, iface, method, rcRet) CHECK_ERROR2_EX(RT_NOTHING, hrc, iface, method, return (rcRet))
+/**
+ * Simplified version of CHECK_ERROR2_EX that executes the |return (rcRet)|
+ * statement after error reporting and that uses an internal variable |hrcCheck|
+ * for holding the result.
  *
  * @param   iface       The interface pointer (can be a smart pointer object).
  * @param   method      The method to invoke together with the parameters.
  * @param   rcRet       What to return on failure.  Use |hrcCheck| to return
  *                      the status code of the method call.
  */
-#define CHECK_ERROR2_RET(iface, method, rcRet) \
-    do { \
-        HRESULT hrcCheck = iface->method; \
-        if (FAILED(hrcCheck)) \
-        { \
-            com::GlueHandleComError(iface, #method, hrcCheck, __FILE__, __LINE__); \
-            return (rcRet); \
-        } \
-    } while (0)
+#define CHECK_ERROR2I_RET(iface, method, rcRet)     CHECK_ERROR2_EX(HRESULT, hrcCheck, iface, method, return (rcRet))
 
 
 /**
  * Check the progress object for an error and if there is one print out the
  * extended error information.
+ * @remarks Requires HRESULT variable named @a rc.
  */
 #define CHECK_PROGRESS_ERROR(progress, msg) \
     do { \
         LONG iRc; \
         rc = progress->COMGETTER(ResultCode)(&iRc); \
-        if (FAILED(iRc)) \
+        if (FAILED(rc) || FAILED(iRc)) \
         { \
-            rc = iRc; \
+            if (SUCCEEDED(rc)) rc = iRc; else iRc = rc; \
             RTMsgError msg; \
             com::GlueHandleComErrorProgress(progress, __PRETTY_FUNCTION__, iRc, __FILE__, __LINE__); \
         } \
     } while (0)
 
 /**
- *  Does the same as CHECK_PROGRESS_ERROR(), but executes the |break| statement
- *  on failure.
+ * Does the same as CHECK_PROGRESS_ERROR(), but executes the |break| statement
+ * on failure.
+ * @remarks Requires HRESULT variable named @a rc.
  */
 #ifdef __GNUC__
 # define CHECK_PROGRESS_ERROR_BREAK(progress, msg) \
@@ -190,23 +284,23 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
     ({ \
         LONG iRc; \
         rc = progress->COMGETTER(ResultCode)(&iRc); \
-        if (FAILED(iRc)) \
+        if (FAILED(rc) || FAILED(iRc)) \
         { \
-            rc = iRc; \
+            if (SUCCEEDED(rc)) rc = iRc; else iRc = rc; \
             RTMsgError msg; \
             com::GlueHandleComErrorProgress(progress, __PRETTY_FUNCTION__, iRc, __FILE__, __LINE__); \
             break; \
         } \
     })
 #else
-# define CHECK_PROGRESS_ERROR_BREAK(progress, msg) \
+#define CHECK_PROGRESS_ERROR_BREAK(progress, msg) \
     if (1) \
     { \
         LONG iRc; \
         rc = progress->COMGETTER(ResultCode)(&iRc); \
-        if (FAILED(iRc)) \
+        if (FAILED(rc) || FAILED(iRc)) \
         { \
-            rc = iRc; \
+            if (SUCCEEDED(rc)) rc = iRc; else iRc = rc; \
             RTMsgError msg; \
             com::GlueHandleComErrorProgress(progress, __PRETTY_FUNCTION__, iRc, __FILE__, __LINE__); \
             break; \
@@ -216,17 +310,20 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
 #endif
 
 /**
- *  Does the same as CHECK_PROGRESS_ERROR(), but executes the |return ret|
- *  statement on failure.
+ * Does the same as CHECK_PROGRESS_ERROR(), but executes the |return ret|
+ * statement on failure.
  */
 #define CHECK_PROGRESS_ERROR_RET(progress, msg, ret) \
     do { \
         LONG iRc; \
-        progress->COMGETTER(ResultCode)(&iRc); \
-        if (FAILED(iRc)) \
+        HRESULT hrcCheck = progress->COMGETTER(ResultCode)(&iRc); \
+        if (SUCCEEDED(hrcCheck) && SUCCEEDED(iRc)) \
+        { /* likely */ } \
+        else \
         { \
             RTMsgError msg; \
-            com::GlueHandleComErrorProgress(progress, __PRETTY_FUNCTION__, iRc, __FILE__, __LINE__); \
+            com::GlueHandleComErrorProgress(progress, __PRETTY_FUNCTION__, \
+                                            SUCCEEDED(hrcCheck) ? iRc : hrcCheck, __FILE__, __LINE__); \
             return (ret); \
         } \
     } while (0)
@@ -247,15 +344,17 @@ void GlueHandleComErrorProgress(ComPtr<IProgress> progress,
 #endif
 
 /**
- *  Does the same as ASSERT(), but executes the |return ret| statement if the
- *  expression to assert is false;
+ * Does the same as ASSERT(), but executes the |return ret| statement if the
+ * expression to assert is false;
+ * @remarks WARNING! @a expr is evalutated TWICE!
  */
 #define ASSERT_RET(expr, ret) \
     do { ASSERT(expr); if (!(expr)) return (ret); } while (0)
 
 /**
- *  Does the same as ASSERT(), but executes the |break| statement if the
- *  expression to assert is false;
+ * Does the same as ASSERT(), but executes the |break| statement if the
+ * expression to assert is false;
+ * @remarks WARNING! @a expr is evalutated TWICE!
  */
 #define ASSERT_BREAK(expr, ret) \
     if (1) { ASSERT(expr); if (!(expr)) break; } else do {} while (0)
diff --git a/include/VBox/err.h b/include/VBox/err.h
index c6cd7c7..235239d 100644
--- a/include/VBox/err.h
+++ b/include/VBox/err.h
@@ -206,18 +206,12 @@
 /** Reason for leaving RC: Unhandled IDT write.
  * Recompiler gets control. */
 #define VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT 1130
-/** Reason for leaving RC: Unhandled GDT write.
+/** Reason for leaving RC: Partly handled GDT write.
  * Recompiler gets control. */
 #define VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT 1131
-/** Reason for leaving RC: Unhandled Page Directory write.
- * Recompiler gets control. */
-#define VINF_EM_RAW_EMULATE_INSTR_PD_FAULT  1132
 /** Reason for leaving RC: jump inside generated patch jump.
  * Fatal error. */
 #define VERR_EM_RAW_PATCH_CONFLICT          (-1133)
-/** Reason for leaving RC: Hlt instruction.
- * Recompiler gets control. */
-#define VINF_EM_RAW_EMULATE_INSTR_HLT       1134
 /** Reason for leaving RZ: Ring-3 operation pending. */
 #define VINF_EM_RAW_TO_R3                   1135
 /** Reason for leaving RZ: Timer pending. */
@@ -2064,6 +2058,16 @@
 #define VERR_SVM_INVALID_GUEST_STATE                (-4059)
 /** Unknown or unrecognized SVM exit.  */
 #define VERR_SVM_UNKNOWN_EXIT                       (-4060)
+/** Internal SVM processing error no 1. */
+#define VERR_SVM_IPE_1                              (-4061)
+/** Internal SVM processing error no 2. */
+#define VERR_SVM_IPE_2                              (-4062)
+/** Internal SVM processing error no 3. */
+#define VERR_SVM_IPE_3                              (-4063)
+/** Internal SVM processing error no 4. */
+#define VERR_SVM_IPE_4                              (-4064)
+/** Internal SVM processing error no 5. */
+#define VERR_SVM_IPE_5                              (-4065)
 /** @} */
 
 
@@ -2645,6 +2649,13 @@
 #define VERR_MAIN_CONFIG_CONSTRUCTOR_IPE            (-6401)
 /** @} */
 
+/** @name VBox Drag and Drop Status Codes
+ * @{
+ */
+/** Guest side reported an error. */
+#define VERR_GSTDND_GUEST_ERROR                     (-6500)
+/** @} */
+
 
 /* SED-END */
 
diff --git a/include/VBox/err.mac b/include/VBox/err.mac
index 6151626..c2cde49 100644
--- a/include/VBox/err.mac
+++ b/include/VBox/err.mac
@@ -55,9 +55,7 @@
 %define VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT    1129
 %define VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT    1130
 %define VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT    1131
-%define VINF_EM_RAW_EMULATE_INSTR_PD_FAULT    1132
 %define VERR_EM_RAW_PATCH_CONFLICT    (-1133)
-%define VINF_EM_RAW_EMULATE_INSTR_HLT    1134
 %define VINF_EM_RAW_TO_R3    1135
 %define VINF_EM_RAW_TIMER_PENDING    1136
 %define VINF_EM_RAW_INTERRUPT_PENDING    1137
diff --git a/include/VBox/intnetinline.h b/include/VBox/intnetinline.h
index 77d8dbb..1d268e6 100644
--- a/include/VBox/intnetinline.h
+++ b/include/VBox/intnetinline.h
@@ -423,8 +423,8 @@ DECLINLINE(int) intnetRingAllocateFrameInternal(PINTNETRINGBUF pRingBuf, uint32_
             uint32_t offNew = offWriteInt + cb + sizeof(INTNETHDR);
             if (offNew >= pRingBuf->offEnd)
                 offNew = pRingBuf->offStart;
-            if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-                return VERR_WRONG_ORDER; /* race */
+            if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+            { /* likely */ } else return VERR_WRONG_ORDER; /* race */
             Log2(("intnetRingAllocateFrameInternal: offWriteInt: %#x -> %#x (1) (R=%#x T=%#x S=%#x)\n", offWriteInt, offNew, offRead, u8Type, cbFrame));
 
             PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
@@ -444,8 +444,8 @@ DECLINLINE(int) intnetRingAllocateFrameInternal(PINTNETRINGBUF pRingBuf, uint32_
         if (offRead - pRingBuf->offStart > cb) /* not >= ! */
         {
             uint32_t offNew = pRingBuf->offStart + cb;
-            if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-                return VERR_WRONG_ORDER; /* race */
+            if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+            { /* likely */ } else return VERR_WRONG_ORDER; /* race */
             Log2(("intnetRingAllocateFrameInternal: offWriteInt: %#x -> %#x (2) (R=%#x T=%#x S=%#x)\n", offWriteInt, offNew, offRead, u8Type, cbFrame));
 
             PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
@@ -464,8 +464,8 @@ DECLINLINE(int) intnetRingAllocateFrameInternal(PINTNETRINGBUF pRingBuf, uint32_
     else if (offRead - offWriteInt > cb + sizeof(INTNETHDR)) /* not >= ! */
     {
         uint32_t offNew = offWriteInt + cb + sizeof(INTNETHDR);
-        if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-            return VERR_WRONG_ORDER; /* race */
+        if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+        { /* likely */ } else return VERR_WRONG_ORDER; /* race */
         Log2(("intnetRingAllocateFrameInternal: offWriteInt: %#x -> %#x (3) (R=%#x T=%#x S=%#x)\n", offWriteInt, offNew, offRead, u8Type, cbFrame));
 
         PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
@@ -660,8 +660,8 @@ DECLINLINE(int) IntNetRingWriteFrame(PINTNETRINGBUF pRingBuf, const void *pvFram
             uint32_t offNew = offWriteInt + cb + sizeof(INTNETHDR);
             if (offNew >= pRingBuf->offEnd)
                 offNew = pRingBuf->offStart;
-            if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-                return VERR_WRONG_ORDER; /* race */
+            if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+            { /* likely */ } else return VERR_WRONG_ORDER; /* race */
             Log2(("IntNetRingWriteFrame: offWriteInt: %#x -> %#x (1)\n", offWriteInt, offNew));
 
             PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
@@ -685,8 +685,8 @@ DECLINLINE(int) IntNetRingWriteFrame(PINTNETRINGBUF pRingBuf, const void *pvFram
         if (offRead - pRingBuf->offStart > cb) /* not >= ! */
         {
             uint32_t offNew = pRingBuf->offStart + cb;
-            if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-                return VERR_WRONG_ORDER; /* race */
+            if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+            { /* likely */ } else return VERR_WRONG_ORDER; /* race */
             Log2(("IntNetRingWriteFrame: offWriteInt: %#x -> %#x (2)\n", offWriteInt, offNew));
 
             PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
@@ -709,8 +709,8 @@ DECLINLINE(int) IntNetRingWriteFrame(PINTNETRINGBUF pRingBuf, const void *pvFram
     else if (offRead - offWriteInt > cb + sizeof(INTNETHDR)) /* not >= ! */
     {
         uint32_t offNew = offWriteInt + cb + sizeof(INTNETHDR);
-        if (RT_UNLIKELY(!ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
-            return VERR_WRONG_ORDER; /* race */
+        if (RT_LIKELY(ASMAtomicCmpXchgU32(&pRingBuf->offWriteInt, offNew, offWriteInt)))
+        { /* likely */ } else return VERR_WRONG_ORDER; /* race */
         Log2(("IntNetRingWriteFrame: offWriteInt: %#x -> %#x (3)\n", offWriteInt, offNew));
 
         PINTNETHDR pHdr = (PINTNETHDR)((uint8_t *)pRingBuf + offWriteInt);
diff --git a/include/VBox/log.h b/include/VBox/log.h
index 0e5182d..70b8bfe 100644
--- a/include/VBox/log.h
+++ b/include/VBox/log.h
@@ -487,6 +487,8 @@ typedef enum LOGGROUP
     LOG_GROUP_MAIN_MEDIUMATTACHMENT,
     /** Main group, IMediumChangedEvent. */
     LOG_GROUP_MAIN_MEDIUMCHANGEDEVENT,
+    /** Main group, IMediumConfigChangedEvent. */
+    LOG_GROUP_MAIN_MEDIUMCONFIGCHANGEDEVENT,
     /** Main group, IMediumFormat. */
     LOG_GROUP_MAIN_MEDIUMFORMAT,
     /** Main group, IMediumRegisteredEvent. */
@@ -992,6 +994,7 @@ typedef enum LOGGROUP
     "MAIN_MEDIUM",  \
     "MAIN_MEDIUMATTACHMENT", \
     "MAIN_MEDIUMCHANGEDEVENT", \
+    "MAIN_MEDIUMCONFIGCHANGEDEVENT", \
     "MAIN_MEDIUMFORMAT", \
     "MAIN_MEDIUMREGISTEREDEVENT", \
     "MAIN_MOUSE",   \
diff --git a/include/VBox/settings.h b/include/VBox/settings.h
index 9ca23f8..cfcea0b 100644
--- a/include/VBox/settings.h
+++ b/include/VBox/settings.h
@@ -704,12 +704,14 @@ struct AudioAdapter
                 || (    (fEnabled        == a.fEnabled)
                      && (controllerType  == a.controllerType)
                      && (driverType      == a.driverType)
+                     && (properties      == a.properties)
                    );
     }
 
     bool                    fEnabled;
     AudioControllerType_T   controllerType;
     AudioDriverType_T       driverType;
+    settings::StringsMap properties;
 };
 
 /**
@@ -973,7 +975,6 @@ struct Hardware
     bool                fPageFusionEnabled;
 
     GuestPropertiesList llGuestProperties;
-    com::Utf8Str        strNotificationPatterns;
 
     IOSettings          ioSettings;             // requires settings version 1.10 (VirtualBox 3.2)
     HostPCIDeviceAttachmentList pciAttachments; // requires settings version 1.12 (VirtualBox 4.1)
diff --git a/include/VBox/shflsvc.h b/include/VBox/shflsvc.h
index e32da2e..be7fde1 100644
--- a/include/VBox/shflsvc.h
+++ b/include/VBox/shflsvc.h
@@ -221,13 +221,11 @@ DECLINLINE(PSHFLSTRING) ShflStringInitBuffer(void *pvBuffer, uint32_t u32Size)
  */
 DECLINLINE(bool) ShflStringIsValidOut(PCSHFLSTRING pString, uint32_t cbBuf)
 {
-    if (RT_UNLIKELY(cbBuf <= RT_UOFFSETOF(SHFLSTRING, String)))
-        return false;
-    if (RT_UNLIKELY((uint32_t)pString->u16Size + RT_UOFFSETOF(SHFLSTRING, String) > cbBuf))
-        return false;
-    if (RT_UNLIKELY(pString->u16Length >= pString->u16Size))
-        return false;
-    return true;
+    if (RT_LIKELY(cbBuf > RT_UOFFSETOF(SHFLSTRING, String)))
+        if (RT_LIKELY((uint32_t)pString->u16Size + RT_UOFFSETOF(SHFLSTRING, String) <= cbBuf))
+            if (RT_LIKELY(pString->u16Length < pString->u16Size))
+                return true;
+    return false;
 }
 
 /**
@@ -242,31 +240,39 @@ DECLINLINE(bool) ShflStringIsValidOut(PCSHFLSTRING pString, uint32_t cbBuf)
 DECLINLINE(bool) ShflStringIsValidIn(PCSHFLSTRING pString, uint32_t cbBuf, bool fUtf8Not16)
 {
     int rc;
-    if (RT_UNLIKELY(cbBuf <= RT_UOFFSETOF(SHFLSTRING, String)))
-        return false;
-    if (RT_UNLIKELY((uint32_t)pString->u16Size + RT_UOFFSETOF(SHFLSTRING, String) > cbBuf))
-        return false;
-    if (fUtf8Not16)
+    if (RT_LIKELY(cbBuf > RT_UOFFSETOF(SHFLSTRING, String)))
     {
-        /* UTF-8: */
-        if (RT_UNLIKELY(pString->u16Length >= pString->u16Size))
-            return false;
-        rc = RTStrValidateEncodingEx((const char *)&pString->String.utf8[0], pString->u16Length + 1,
-                                     RTSTR_VALIDATE_ENCODING_EXACT_LENGTH | RTSTR_VALIDATE_ENCODING_ZERO_TERMINATED);
-    }
-    else
-    {
-        /* UTF-16: */
-        if (RT_UNLIKELY(pString->u16Length & 1))
-            return false;
-        if (RT_UNLIKELY((uint32_t)sizeof(RTUTF16) + pString->u16Length > pString->u16Size))
-            return false;
-        rc = RTUtf16ValidateEncodingEx(&pString->String.ucs2[0], pString->u16Length / 2 + 1,
-                                       RTSTR_VALIDATE_ENCODING_EXACT_LENGTH | RTSTR_VALIDATE_ENCODING_ZERO_TERMINATED);
+        if (RT_LIKELY((uint32_t)pString->u16Size + RT_UOFFSETOF(SHFLSTRING, String) <= cbBuf))
+        {
+            if (fUtf8Not16)
+            {
+                /* UTF-8: */
+                if (RT_LIKELY(pString->u16Length < pString->u16Size))
+                {
+                    rc = RTStrValidateEncodingEx((const char *)&pString->String.utf8[0], pString->u16Length + 1,
+                                                 RTSTR_VALIDATE_ENCODING_EXACT_LENGTH | RTSTR_VALIDATE_ENCODING_ZERO_TERMINATED);
+                    if (RT_SUCCESS(rc))
+                        return true;
+                }
+            }
+            else
+            {
+                /* UTF-16: */
+                if (RT_LIKELY(!(pString->u16Length & 1)))
+                {
+                    if (RT_LIKELY((uint32_t)sizeof(RTUTF16) + pString->u16Length <= pString->u16Size))
+                    {
+                        rc = RTUtf16ValidateEncodingEx(&pString->String.ucs2[0], pString->u16Length / 2 + 1,
+                                                       RTSTR_VALIDATE_ENCODING_EXACT_LENGTH
+                                                       | RTSTR_VALIDATE_ENCODING_ZERO_TERMINATED);
+                        if (RT_SUCCESS(rc))
+                            return true;
+                    }
+                }
+            }
+        }
     }
-    if (RT_FAILURE(rc))
-        return false;
-    return true;
+    return false;
 }
 
 /**
@@ -282,9 +288,9 @@ DECLINLINE(bool) ShflStringIsValidOrNullIn(PCSHFLSTRING pString, uint32_t cbBuf,
 {
     if (pString)
         return ShflStringIsValidIn(pString, cbBuf, fUtf8Not16);
-    if (RT_UNLIKELY(cbBuf > 0))
-        return false;
-    return true;
+    if (RT_LIKELY(cbBuf == 0))
+        return true;
+    return false;
 }
 
 /** @} */
diff --git a/include/VBox/types.h b/include/VBox/types.h
index 7297f5a..cef783c 100644
--- a/include/VBox/types.h
+++ b/include/VBox/types.h
@@ -204,9 +204,6 @@ typedef enum VMSTATE
       || defined(DEBUG) \
       || defined(DOXYGEN_RUNNING) )
 # define VBOXSTRICTRC_STRICT_ENABLED 1
-# ifdef _MSC_VER
-#  pragma warning(disable:4190)
-# endif
 #endif
 
 /** We need RTERR_STRICT_RC.  */
@@ -282,6 +279,9 @@ private:
     VBOXSTRICTRC(int64_t rc)  : m_rc(-999)          { NOREF(rc); }
     /** @} */
 };
+# ifdef _MSC_VER
+#  pragma warning(disable:4190)
+# endif
 #else
 typedef int32_t VBOXSTRICTRC;
 #endif
diff --git a/include/VBox/vd.h b/include/VBox/vd.h
index 76d0c01..52828b8 100644
--- a/include/VBox/vd.h
+++ b/include/VBox/vd.h
@@ -264,31 +264,30 @@ typedef struct VBOXHDDRAW
  * Translate VD_OPEN_FLAGS_* to RTFile open flags.
  *
  * @return  RTFile open flags.
- * @param   uOpenFlags      VD_OPEN_FLAGS_* open flags.
+ * @param   fOpenFlags      VD_OPEN_FLAGS_* open flags.
  * @param   fCreate         Flag that the file should be created.
  */
-DECLINLINE(uint32_t) VDOpenFlagsToFileOpenFlags(unsigned uOpenFlags, bool fCreate)
+DECLINLINE(uint32_t) VDOpenFlagsToFileOpenFlags(unsigned fOpenFlags, bool fCreate)
 {
-    AssertMsg(!((uOpenFlags & VD_OPEN_FLAGS_READONLY) && fCreate), ("Image can't be opened readonly while being created\n"));
+    AssertMsg(!(fOpenFlags & VD_OPEN_FLAGS_READONLY) || !fCreate, ("Image can't be opened readonly while being created\n"));
 
-    uint32_t fOpen = 0;
-
-    if (RT_UNLIKELY(uOpenFlags & VD_OPEN_FLAGS_READONLY))
-        fOpen |= RTFILE_O_READ | RTFILE_O_DENY_NONE;
+    uint32_t fOpen;
+    if (fOpenFlags & VD_OPEN_FLAGS_READONLY)
+        fOpen = RTFILE_O_READ | RTFILE_O_DENY_NONE;
     else
     {
-        fOpen |= RTFILE_O_READWRITE;
+        fOpen = RTFILE_O_READWRITE;
 
-        if (RT_UNLIKELY(uOpenFlags & VD_OPEN_FLAGS_SHAREABLE))
+        if (fOpenFlags & VD_OPEN_FLAGS_SHAREABLE)
             fOpen |= RTFILE_O_DENY_NONE;
         else
             fOpen |= RTFILE_O_DENY_WRITE;
     }
 
-    if (RT_UNLIKELY(fCreate))
-        fOpen |= RTFILE_O_CREATE | RTFILE_O_NOT_CONTENT_INDEXED;
-    else
+    if (!fCreate)
         fOpen |= RTFILE_O_OPEN;
+    else
+        fOpen |= RTFILE_O_CREATE | RTFILE_O_NOT_CONTENT_INDEXED;
 
     return fOpen;
 }
diff --git a/include/VBox/vmm/hm_svm.h b/include/VBox/vmm/hm_svm.h
index 5cd73f8..8175d10 100644
--- a/include/VBox/vmm/hm_svm.h
+++ b/include/VBox/vmm/hm_svm.h
@@ -531,18 +531,19 @@ typedef union
 {
     struct
     {
-        uint32_t    u1Type              : 1;        /**< 0 = out, 1 = in */
-        uint32_t    u1Reserved          : 1;
-        uint32_t    u1STR               : 1;
-        uint32_t    u1REP               : 1;
-        uint32_t    u1OP8               : 1;
-        uint32_t    u1OP16              : 1;
-        uint32_t    u1OP32              : 1;
-        uint32_t    u1ADDR16            : 1;
-        uint32_t    u1ADDR32            : 1;
-        uint32_t    u1ADDR64            : 1;
-        uint32_t    u6Reserved          : 6;
-        uint32_t    u16Port             : 16;
+        uint32_t    u1Type              : 1;        /**< Bit 0: 0 = out, 1 = in */
+        uint32_t    u1Reserved          : 1;        /**< Bit 1: Reserved */
+        uint32_t    u1STR               : 1;        /**< Bit 2: String I/O (1) or not (0). */
+        uint32_t    u1REP               : 1;        /**< Bit 3: Repeat prefixed string I/O. */
+        uint32_t    u1OP8               : 1;        /**< Bit 4: 8-bit operand. */
+        uint32_t    u1OP16              : 1;        /**< Bit 5: 16-bit operand. */
+        uint32_t    u1OP32              : 1;        /**< Bit 6: 32-bit operand. */
+        uint32_t    u1ADDR16            : 1;        /**< Bit 7: 16-bit operand. */
+        uint32_t    u1ADDR32            : 1;        /**< Bit 8: 32-bit operand. */
+        uint32_t    u1ADDR64            : 1;        /**< Bit 9: 64-bit operand. */
+        uint32_t    u3SEG               : 3;        /**< BITS 12:10: Effective segment number. Added with decode assist in APM v3.17. */
+        uint32_t    u3Reserved          : 3;
+        uint32_t    u16Port             : 16;       /**< Bits 31:16: Port number. */
     } n;
     uint32_t    u;
 } SVMIOIOEXIT;
diff --git a/include/VBox/vmm/iom.h b/include/VBox/vmm/iom.h
index cd27b4a..61b3a2e 100644
--- a/include/VBox/vmm/iom.h
+++ b/include/VBox/vmm/iom.h
@@ -270,13 +270,9 @@ typedef FNIOMMMIOFILL *PFNIOMMMIOFILL;
 
 VMMDECL(VBOXSTRICTRC)   IOMIOPortRead(PVM pVM, PVMCPU pVCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue);
 VMMDECL(VBOXSTRICTRC)   IOMIOPortWrite(PVM pVM, PVMCPU pVCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue);
-VMMDECL(VBOXSTRICTRC)   IOMInterpretOUT(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu);
-VMMDECL(VBOXSTRICTRC)   IOMInterpretIN(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu);
 VMMDECL(VBOXSTRICTRC)   IOMIOPortReadString(PVM pVM, PVMCPU pVCpu, RTIOPORT Port, PRTGCPTR pGCPtrDst, PRTGCUINTREG pcTransfers, unsigned cb);
 VMMDECL(VBOXSTRICTRC)   IOMIOPortWriteString(PVM pVM, PVMCPU pVCpu, RTIOPORT Port, PRTGCPTR pGCPtrSrc, PRTGCUINTREG pcTransfers, unsigned cb);
-VMMDECL(VBOXSTRICTRC)   IOMInterpretINS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu);
 VMMDECL(VBOXSTRICTRC)   IOMInterpretINSEx(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t uPort, uint32_t uPrefix, DISCPUMODE enmAddrMode, uint32_t cbTransfer);
-VMMDECL(VBOXSTRICTRC)   IOMInterpretOUTS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu);
 VMMDECL(VBOXSTRICTRC)   IOMInterpretOUTSEx(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, uint32_t uPort, uint32_t uPrefix, DISCPUMODE enmAddrMode, uint32_t cbTransfer);
 VMMDECL(VBOXSTRICTRC)   IOMMMIORead(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, uint32_t *pu32Value, size_t cbValue);
 VMMDECL(VBOXSTRICTRC)   IOMMMIOWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, uint32_t u32Value, size_t cbValue);
diff --git a/include/VBox/vmm/patm.h b/include/VBox/vmm/patm.h
index e2f0e40..caef685 100644
--- a/include/VBox/vmm/patm.h
+++ b/include/VBox/vmm/patm.h
@@ -164,9 +164,9 @@ VMM_INT_DECL(int)       PATMSysCall(PVM pVM, PCPUMCTX pCtx, PDISCPUSTATE pCpu);
  * @{
  */
 
-VMMRC_INT_DECL(int)     PATMRCHandleInt3PatchTrap(PVM pVM, PCPUMCTXCORE pRegFrame);
-VMMRC_INT_DECL(int)     PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pRegFrame, RTRCPTR GCPtr, uint32_t cbWrite);
-VMMRC_INT_DECL(int)     PATMRCHandleIllegalInstrTrap(PVM pVM, PCPUMCTXCORE pRegFrame);
+VMMRC_INT_DECL(int)             PATMRCHandleInt3PatchTrap(PVM pVM, PCPUMCTXCORE pRegFrame);
+VMMRC_INT_DECL(VBOXSTRICTRC)    PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pRegFrame, RTRCPTR GCPtr, uint32_t cbWrite);
+VMMRC_INT_DECL(int)             PATMRCHandleIllegalInstrTrap(PVM pVM, PCPUMCTXCORE pRegFrame);
 
 /** @} */
 
diff --git a/include/VBox/vmm/pdmaudioifs.h b/include/VBox/vmm/pdmaudioifs.h
index ed77904..7a4ee3c 100644
--- a/include/VBox/vmm/pdmaudioifs.h
+++ b/include/VBox/vmm/pdmaudioifs.h
@@ -29,16 +29,6 @@
 #include <VBox/types.h>
 #include <iprt/list.h>
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-typedef struct
-{
-    int mute;
-    uint32_t r;
-    uint32_t l;
-} volume_t;
-#endif
-
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 typedef uint32_t PDMAUDIODRVFLAGS;
 
 /** No flags set. */
@@ -62,7 +52,6 @@ typedef enum PDMAUDIOFMT
     /** Hack to blow the type up to 32-bit. */
     AUD_FMT_32BIT_HACK = 0x7fffffff
 } PDMAUDIOFMT;
-#endif
 
 /**
  * Audio configuration of a certain backend.
@@ -102,7 +91,6 @@ typedef enum PDMAUDIOENDIANNESS
     PDMAUDIOENDIANNESS_32BIT_HACK = 0x7fffffff
 } PDMAUDIOENDIANNESS;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 typedef struct PDMAUDIOSTREAMCFG
 {
     /** Frequency in Hertz (Hz). */
@@ -114,7 +102,6 @@ typedef struct PDMAUDIOSTREAMCFG
     /** @todo Use RT_LE2H_*? */
     PDMAUDIOENDIANNESS enmEndianness;
 } PDMAUDIOSTREAMCFG, *PPDMAUDIOSTREAMCFG;
-#endif
 
 #if defined(RT_LITTLE_ENDIAN)
 # define PDMAUDIOHOSTENDIANNESS PDMAUDIOENDIANNESS_LITTLE
@@ -393,8 +380,6 @@ typedef struct PDMAUDIOGSTSTRMOUT
     PPDMAUDIOHSTSTRMOUT    pHstStrmOut;
 } PDMAUDIOGSTSTRMOUT, *PPDMAUDIOGSTSTRMOUT;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-
 /** Pointer to a audio connector interface. */
 typedef struct PDMIAUDIOCONNECTOR *PPDMIAUDIOCONNECTOR;
 /**
@@ -674,7 +659,5 @@ typedef struct PDMIHOSTAUDIO
 } PDMIHOSTAUDIO;
 #define PDMIHOSTAUDIO_IID                           "39feea4f-c824-4197-bcff-7d4a6ede7420"
 
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
 #endif /* ___VBox_vmm_pdmaudioifs_h */
 
diff --git a/include/VBox/vmm/pdmdev.h b/include/VBox/vmm/pdmdev.h
index 58c6571..f1cbdc7 100644
--- a/include/VBox/vmm/pdmdev.h
+++ b/include/VBox/vmm/pdmdev.h
@@ -160,9 +160,8 @@ typedef FNPDMDEVRESUME *PFNPDMDEVRESUME;
 /**
  * Power Off notification.
  *
- * This is only called when the VMR3PowerOff call is made on a running VM.  This
- * means that there is no notification if the VM was suspended before being
- * powered off.  There will also be no callback when hot plugging devices.
+ * This is always called when VMR3PowerOff is called.
+ * There will be no callback when hot plugging devices.
  *
  * @param   pDevIns     The device instance data.
  * @thread  EMT(0)
@@ -4242,10 +4241,10 @@ typedef struct PDMDEVINS
     do \
     { \
         PPDMDEVINS pDevInsTypeCheck = (pDevIns); NOREF(pDevInsTypeCheck); \
-        if (RT_UNLIKELY(!PDM_VERSION_ARE_COMPATIBLE((pDevIns)->u32Version, PDM_DEVINS_VERSION) )) \
-            return VERR_PDM_DEVINS_VERSION_MISMATCH; \
-        if (RT_UNLIKELY(!PDM_VERSION_ARE_COMPATIBLE((pDevIns)->pHlpR3->u32Version, PDM_DEVHLPR3_VERSION) )) \
-            return VERR_PDM_DEVHLPR3_VERSION_MISMATCH; \
+        if (RT_LIKELY(PDM_VERSION_ARE_COMPATIBLE((pDevIns)->u32Version, PDM_DEVINS_VERSION) )) \
+        { /* likely */ } else return VERR_PDM_DEVINS_VERSION_MISMATCH; \
+        if (RT_LIKELY(PDM_VERSION_ARE_COMPATIBLE((pDevIns)->pHlpR3->u32Version, PDM_DEVHLPR3_VERSION) )) \
+        { /* likely */ } else return VERR_PDM_DEVHLPR3_VERSION_MISMATCH; \
     } while (0)
 
 /**
@@ -4268,8 +4267,8 @@ typedef struct PDMDEVINS
     { \
         int rcValCfg = CFGMR3ValidateConfig((pDevIns)->pCfg, "/", pszValidValues, pszValidNodes, \
                                             (pDevIns)->pReg->szName, (pDevIns)->iInstance); \
-        if (RT_FAILURE(rcValCfg)) \
-            return rcValCfg; \
+        if (RT_SUCCESS(rcValCfg)) \
+        { /* likely */ } else return rcValCfg; \
     } while (0)
 
 /** @def PDMDEV_ASSERT_EMT
diff --git a/include/VBox/vmm/pdmdrv.h b/include/VBox/vmm/pdmdrv.h
index a616312..12cbfcc 100644
--- a/include/VBox/vmm/pdmdrv.h
+++ b/include/VBox/vmm/pdmdrv.h
@@ -174,10 +174,9 @@ typedef FNPDMDRVRESUME *PFNPDMDRVRESUME;
 /**
  * Power Off notification.
  *
- * This is only called when the VMR3PowerOff call is made on a running VM. This
- * means that there is no notification if the VM was suspended before being
- * powered of.  There will also be no callback when hot plugging devices or when
- * replumbing the driver stack.
+ * This is always called when VMR3PowerOff is called.
+ * There will be no callback when hot plugging devices or when replumbing the driver
+ * stack.
  *
  * @param   pDrvIns     The driver instance data.
  */
@@ -464,9 +463,9 @@ typedef struct PDMDRVINS
     do \
     { \
         PPDMDRVINS pDrvInsTypeCheck = (pDrvIns); NOREF(pDrvInsTypeCheck); \
-        if (RT_UNLIKELY(   !PDM_VERSION_ARE_COMPATIBLE((pDrvIns)->u32Version, PDM_DRVINS_VERSION) \
-                        || !PDM_VERSION_ARE_COMPATIBLE((pDrvIns)->pHlpR3->u32Version, PDM_DRVHLPR3_VERSION)) ) \
-            return; \
+        if (RT_LIKELY(   PDM_VERSION_ARE_COMPATIBLE((pDrvIns)->u32Version, PDM_DRVINS_VERSION) \
+                      && PDM_VERSION_ARE_COMPATIBLE((pDrvIns)->pHlpR3->u32Version, PDM_DRVHLPR3_VERSION)) ) \
+        { /* likely */ } else return; \
     } while (0)
 
 /**
@@ -489,8 +488,8 @@ typedef struct PDMDRVINS
     { \
         int rcValCfg = CFGMR3ValidateConfig((pDrvIns)->pCfg, "/", pszValidValues, pszValidNodes, \
                                             (pDrvIns)->pReg->szName, (pDrvIns)->iInstance); \
-        if (RT_FAILURE(rcValCfg)) \
-            return rcValCfg; \
+        if (RT_SUCCESS(rcValCfg)) \
+        { /* likely */ } else return rcValCfg; \
     } while (0)
 
 
diff --git a/include/VBox/vmm/pdmifs.h b/include/VBox/vmm/pdmifs.h
index 0c676eb..764f4b4 100644
--- a/include/VBox/vmm/pdmifs.h
+++ b/include/VBox/vmm/pdmifs.h
@@ -2839,177 +2839,6 @@ typedef struct PDMIVMMDEVCONNECTOR
 #define PDMIVMMDEVCONNECTOR_IID                 "aff90240-a443-434e-9132-80c186ab97d4"
 
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-/** Pointer to a network connector interface */
-typedef struct PDMIAUDIOCONNECTOR *PPDMIAUDIOCONNECTOR;
-/**
- * Audio connector interface (up).
- * No interface pair yet.
- */
-typedef struct PDMIAUDIOCONNECTOR
-{
-    DECLR3CALLBACKMEMBER(void, pfnRun,(PPDMIAUDIOCONNECTOR pInterface));
-
-/*    DECLR3CALLBACKMEMBER(int,  pfnSetRecordSource,(PPDMIAUDIOINCONNECTOR pInterface, AUDIORECSOURCE)); */
-
-} PDMIAUDIOCONNECTOR;
-/** PDMIAUDIOCONNECTOR interface ID. */
-#define PDMIAUDIOCONNECTOR_IID                  "85d52af5-b3aa-4b3e-b176-4b5ebfc52f47"
-
-/** @todo r=bird: the two following interfaces are hacks to work around the missing audio driver
- * interface. This should be addressed rather than making more temporary hacks. */
-
-/** Pointer to a Audio Sniffer Device port interface. */
-typedef struct PDMIAUDIOSNIFFERPORT *PPDMIAUDIOSNIFFERPORT;
-/**
- * Audio Sniffer port interface (down).
- * Pair with PDMIAUDIOSNIFFERCONNECTOR.
- */
-typedef struct PDMIAUDIOSNIFFERPORT
-{
-    /**
-     * Enables or disables sniffing.
-     *
-     * If sniffing is being enabled also sets a flag whether the audio must be also
-     * left on the host.
-     *
-     * @returns VBox status code
-     * @param pInterface      Pointer to this interface.
-     * @param fEnable         'true' for enable sniffing, 'false' to disable.
-     * @param fKeepHostAudio  Indicates whether host audio should also present
-     *                        'true' means that sound should not be played
-     *                        by the audio device.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnSetup,(PPDMIAUDIOSNIFFERPORT pInterface, bool fEnable, bool fKeepHostAudio));
-
-    /**
-     * Enables or disables audio input.
-     *
-     * @returns VBox status code
-     * @param pInterface      Pointer to this interface.
-     * @param fIntercept      'true' for interception of audio input,
-     *                        'false' to let the host audio backend do audio input.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnAudioInputIntercept,(PPDMIAUDIOSNIFFERPORT pInterface, bool fIntercept));
-
-    /**
-     * Audio input is about to start.
-     *
-     * @returns VBox status code.
-     * @param   pvContext       The callback context, supplied in the
-     *                          PDMIAUDIOSNIFFERCONNECTOR::pfnAudioInputBegin as pvContext.
-     * @param   iSampleHz       The sample frequency in Hz.
-     * @param   cChannels       Number of channels. 1 for mono, 2 for stereo.
-     * @param   cBits           How many bits a sample for a single channel has. Normally 8 or 16.
-     * @param   fUnsigned       Whether samples are unsigned values.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnAudioInputEventBegin,(PPDMIAUDIOSNIFFERPORT pInterface,
-                                                       void *pvContext,
-                                                       int iSampleHz,
-                                                       int cChannels,
-                                                       int cBits,
-                                                       bool fUnsigned));
-
-    /**
-     * Callback which delivers audio data to the audio device.
-     *
-     * @returns VBox status code.
-     * @param   pvContext       The callback context, supplied in the
-     *                          PDMIAUDIOSNIFFERCONNECTOR::pfnAudioInputBegin as pvContext.
-     * @param   pvData          Event specific data.
-     * @param   cbData          Size of the buffer pointed by pvData.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnAudioInputEventData,(PPDMIAUDIOSNIFFERPORT pInterface,
-                                                      void *pvContext,
-                                                      const void *pvData,
-                                                      uint32_t cbData));
-
-    /**
-     * Audio input ends.
-     *
-     * @param   pvContext       The callback context, supplied in the
-     *                          PDMIAUDIOSNIFFERCONNECTOR::pfnAudioInputBegin as pvContext.
-     */
-    DECLR3CALLBACKMEMBER(void, pfnAudioInputEventEnd,(PPDMIAUDIOSNIFFERPORT pInterface,
-                                                      void *pvContext));
-} PDMIAUDIOSNIFFERPORT;
-/** PDMIAUDIOSNIFFERPORT interface ID. */
-#define PDMIAUDIOSNIFFERPORT_IID                "8ad25d78-46e9-479b-a363-bb0bc0fe022f"
-
-
-/** Pointer to a Audio Sniffer connector interface. */
-typedef struct PDMIAUDIOSNIFFERCONNECTOR *PPDMIAUDIOSNIFFERCONNECTOR;
-
-/**
- * Audio Sniffer connector interface (up).
- * Pair with PDMIAUDIOSNIFFERPORT.
- */
-typedef struct PDMIAUDIOSNIFFERCONNECTOR
-{
-    /**
-     * AudioSniffer device calls this method when audio samples
-     * are about to be played and sniffing is enabled.
-     *
-     * @param   pInterface          Pointer to this interface.
-     * @param   pvSamples           Audio samples buffer.
-     * @param   cSamples            How many complete samples are in the buffer.
-     * @param   iSampleHz           The sample frequency in Hz.
-     * @param   cChannels           Number of channels. 1 for mono, 2 for stereo.
-     * @param   cBits               How many bits a sample for a single channel has. Normally 8 or 16.
-     * @param   fUnsigned           Whether samples are unsigned values.
-     * @thread  The emulation thread.
-     */
-    DECLR3CALLBACKMEMBER(void, pfnAudioSamplesOut,(PPDMIAUDIOSNIFFERCONNECTOR pInterface, void *pvSamples, uint32_t cSamples,
-                                                   int iSampleHz, int cChannels, int cBits, bool fUnsigned));
-
-    /**
-     * AudioSniffer device calls this method when output volume is changed.
-     *
-     * @param   pInterface          Pointer to this interface.
-     * @param   u16LeftVolume       0..0xFFFF volume level for left channel.
-     * @param   u16RightVolume      0..0xFFFF volume level for right channel.
-     * @thread  The emulation thread.
-     */
-    DECLR3CALLBACKMEMBER(void, pfnAudioVolumeOut,(PPDMIAUDIOSNIFFERCONNECTOR pInterface, uint16_t u16LeftVolume, uint16_t u16RightVolume));
-
-    /**
-     * Audio input has been requested by the virtual audio device.
-     *
-     * @param   pInterface          Pointer to this interface.
-     * @param   ppvUserCtx          The interface context for this audio input stream,
-     *                              it will be used in the pfnAudioInputEnd call.
-     * @param   pvContext           The context pointer to be used in PDMIAUDIOSNIFFERPORT::pfnAudioInputEvent.
-     * @param   cSamples            How many samples in a block is preferred in
-     *                              PDMIAUDIOSNIFFERPORT::pfnAudioInputEvent.
-     * @param   iSampleHz           The sample frequency in Hz.
-     * @param   cChannels           Number of channels. 1 for mono, 2 for stereo.
-     * @param   cBits               How many bits a sample for a single channel has. Normally 8 or 16.
-     * @thread  The emulation thread.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnAudioInputBegin,(PPDMIAUDIOSNIFFERCONNECTOR pInterface,
-                                                  void **ppvUserCtx,
-                                                  void *pvContext,
-                                                  uint32_t cSamples,
-                                                  uint32_t iSampleHz,
-                                                  uint32_t cChannels,
-                                                  uint32_t cBits));
-
-    /**
-     * Audio input has been requested by the virtual audio device.
-     *
-     * @param   pInterface          Pointer to this interface.
-     * @param   pvUserCtx           The interface context for this audio input stream,
-     *                              which was returned by pfnAudioInputBegin call.
-     * @thread  The emulation thread.
-     */
-    DECLR3CALLBACKMEMBER(void, pfnAudioInputEnd,(PPDMIAUDIOSNIFFERCONNECTOR pInterface,
-                                                 void *pvUserCtx));
-} PDMIAUDIOSNIFFERCONNECTOR;
-/** PDMIAUDIOSNIFFERCONNECTOR - The Audio Sniffer Driver connector interface. */
-#define PDMIAUDIOSNIFFERCONNECTOR_IID           "9d37f543-27af-45f8-8002-8ef7abac71e4"
-
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
 /**
  * Generic status LED core.
  * Note that a unit doesn't have to support all the indicators.
diff --git a/include/VBox/vmm/pdmnetinline.h b/include/VBox/vmm/pdmnetinline.h
index ac2bb6f..e60e9f6 100644
--- a/include/VBox/vmm/pdmnetinline.h
+++ b/include/VBox/vmm/pdmnetinline.h
@@ -67,38 +67,38 @@ DECLINLINE(bool) PDMNetGsoIsValid(PCPDMNETWORKGSO pGso, size_t cbGsoMax, size_t
 {
     PDMNETWORKGSOTYPE enmType;
 
-    if (RT_UNLIKELY(cbGsoMax < sizeof(*pGso)))
-        return false;
+    if (RT_LIKELY(cbGsoMax >= sizeof(*pGso)))
+    { /* likely */ } else return false;
 
     enmType = (PDMNETWORKGSOTYPE)pGso->u8Type;
-    if (RT_UNLIKELY( enmType <= PDMNETWORKGSOTYPE_INVALID || enmType >= PDMNETWORKGSOTYPE_END ))
-        return false;
+    if (RT_LIKELY( enmType > PDMNETWORKGSOTYPE_INVALID && enmType < PDMNETWORKGSOTYPE_END ))
+    { /* likely */ } else return false;
 
     /* all types requires both headers. */
-    if (RT_UNLIKELY( pGso->offHdr1 < sizeof(RTNETETHERHDR) ))
-        return false;
-    if (RT_UNLIKELY( pGso->offHdr2 <= pGso->offHdr1 ))
-        return false;
-    if (RT_UNLIKELY( pGso->cbHdrsTotal  <= pGso->offHdr2 ))
-        return false;
+    if (RT_LIKELY( pGso->offHdr1 >= sizeof(RTNETETHERHDR) ))
+    { /* likely */ } else return false;
+    if (RT_LIKELY( pGso->offHdr2 > pGso->offHdr1 ))
+    { /* likely */ } else return false;
+    if (RT_LIKELY( pGso->cbHdrsTotal > pGso->offHdr2 ))
+    { /* likely */ } else return false;
 
     /* min size of the 1st header(s). */
     switch (enmType)
     {
         case PDMNETWORKGSOTYPE_IPV4_TCP:
         case PDMNETWORKGSOTYPE_IPV4_UDP:
-            if (RT_UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 < RTNETIPV4_MIN_LEN ))
-                return false;
+            if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV4_MIN_LEN ))
+            { /* likely */ } else return false;
             break;
         case PDMNETWORKGSOTYPE_IPV6_TCP:
         case PDMNETWORKGSOTYPE_IPV6_UDP:
-            if (RT_UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 < RTNETIPV6_MIN_LEN ))
-                return false;
+            if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV6_MIN_LEN ))
+            { /* likely */ } else return false;
             break;
         case PDMNETWORKGSOTYPE_IPV4_IPV6_TCP:
         case PDMNETWORKGSOTYPE_IPV4_IPV6_UDP:
-            if (RT_UNLIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 < RTNETIPV4_MIN_LEN + RTNETIPV6_MIN_LEN ))
-                return false;
+            if (RT_LIKELY( (unsigned)pGso->offHdr2 - pGso->offHdr1 >= RTNETIPV4_MIN_LEN + RTNETIPV6_MIN_LEN ))
+            { /* likely */ } else return false;
             break;
         case PDMNETWORKGSOTYPE_INVALID:
         case PDMNETWORKGSOTYPE_END:
@@ -112,14 +112,14 @@ DECLINLINE(bool) PDMNetGsoIsValid(PCPDMNETWORKGSO pGso, size_t cbGsoMax, size_t
         case PDMNETWORKGSOTYPE_IPV4_TCP:
         case PDMNETWORKGSOTYPE_IPV6_TCP:
         case PDMNETWORKGSOTYPE_IPV4_IPV6_TCP:
-            if (RT_UNLIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 < RTNETTCP_MIN_LEN ))
-                return false;
+            if (RT_LIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 >= RTNETTCP_MIN_LEN ))
+            { /* likely */ } else return false;
             break;
         case PDMNETWORKGSOTYPE_IPV4_UDP:
         case PDMNETWORKGSOTYPE_IPV6_UDP:
         case PDMNETWORKGSOTYPE_IPV4_IPV6_UDP:
-            if (RT_UNLIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 < RTNETUDP_MIN_LEN ))
-                return false;
+            if (RT_LIKELY( (unsigned)pGso->cbHdrsTotal - pGso->offHdr2 >= RTNETUDP_MIN_LEN ))
+            { /* likely */ } else return false;
             break;
         case PDMNETWORKGSOTYPE_INVALID:
         case PDMNETWORKGSOTYPE_END:
@@ -128,10 +128,10 @@ DECLINLINE(bool) PDMNetGsoIsValid(PCPDMNETWORKGSO pGso, size_t cbGsoMax, size_t
     }
 
     /* There must be at more than one segment. */
-    if (RT_UNLIKELY( cbFrame <= pGso->cbHdrsTotal ))
-        return false;
-    if (RT_UNLIKELY( cbFrame - pGso->cbHdrsTotal < pGso->cbMaxSeg ))
-        return false;
+    if (RT_LIKELY( cbFrame > pGso->cbHdrsTotal ))
+    { /* likely */ } else return false;
+    if (RT_LIKELY( cbFrame - pGso->cbHdrsTotal >= pGso->cbMaxSeg ))
+    { /* likely */ } else return false;
 
     return true;
 }
diff --git a/include/VBox/vmm/pdmusb.h b/include/VBox/vmm/pdmusb.h
index 8b563eb..46b04e9 100644
--- a/include/VBox/vmm/pdmusb.h
+++ b/include/VBox/vmm/pdmusb.h
@@ -829,10 +829,10 @@ typedef struct PDMUSBINS
     do \
     { \
         PPDMUSBINS pUsbInsTypeCheck = (pUsbIns); NOREF(pUsbInsTypeCheck); \
-        if (RT_UNLIKELY(!PDM_VERSION_ARE_COMPATIBLE((pUsbIns)->u32Version, PDM_USBINS_VERSION) )) \
-            return VERR_PDM_USBINS_VERSION_MISMATCH; \
-        if (RT_UNLIKELY(!PDM_VERSION_ARE_COMPATIBLE((pUsbIns)->pHlpR3->u32Version, PDM_USBHLPR3_VERSION) )) \
-            return VERR_PDM_USBHLPR3_VERSION_MISMATCH; \
+        if (RT_LIKELY(PDM_VERSION_ARE_COMPATIBLE((pUsbIns)->u32Version, PDM_USBINS_VERSION) )) \
+        { /* likely */ } else return VERR_PDM_USBINS_VERSION_MISMATCH; \
+        if (RT_LIKELY(PDM_VERSION_ARE_COMPATIBLE((pUsbIns)->pHlpR3->u32Version, PDM_USBHLPR3_VERSION) )) \
+        { /* likely */ } else return VERR_PDM_USBHLPR3_VERSION_MISMATCH; \
     } while (0)
 
 
diff --git a/include/VBox/vmm/pgm.h b/include/VBox/vmm/pgm.h
index 96ce206..3329268 100644
--- a/include/VBox/vmm/pgm.h
+++ b/include/VBox/vmm/pgm.h
@@ -165,7 +165,7 @@ typedef enum PGMACCESSTYPE
 /**
  * \#PF Handler callback for physical access handler ranges in RC and R0.
  *
- * @returns VBox status code (appropriate for RC return).
+ * @returns Strict VBox status code (appropriate for ring-0 and raw-mode).
  * @param   pVM         VM Handle.
  * @param   pVCpu           Pointer to the cross context CPU context for the
  *                          calling EMT.
@@ -175,21 +175,28 @@ typedef enum PGMACCESSTYPE
  * @param   pvFault     The fault address (cr2).
  * @param   GCPhysFault The GC physical address corresponding to pvFault.
  * @param   pvUser      User argument.
+ * @thread  EMT(pVCpu)
  */
-typedef DECLCALLBACK(int) FNPGMRZPHYSPFHANDLER(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                               RTGCPHYS GCPhysFault, void *pvUser);
+typedef DECLCALLBACK(VBOXSTRICTRC) FNPGMRZPHYSPFHANDLER(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                        RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser);
 /** Pointer to PGM access callback. */
 typedef FNPGMRZPHYSPFHANDLER *PFNPGMRZPHYSPFHANDLER;
 
 
 /**
- * \#PF Handler callback for physical access handler ranges (MMIO among others) in HC.
+ * Access handler callback for physical access handler ranges.
  *
  * The handler can not raise any faults, it's mainly for monitoring write access
- * to certain pages.
+ * to certain pages (like MMIO).
+ *
+ * @returns Strict VBox status code in ring-0 and raw-mode context, in ring-3
+ *          the only supported informational status code is
+ *          VINF_PGM_HANDLER_DO_DEFAULT.
+ * @retval  VINF_SUCCESS if the handler have carried out the operation.
+ * @retval  VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the
+ *          access operation.
+ * @retval  VINF_EM_XXX in ring-0 and raw-mode context.
  *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
  * @param   pVM             VM Handle.
  * @param   pVCpu           Pointer to the cross context CPU context for the
  *                          calling EMT.
@@ -200,9 +207,10 @@ typedef FNPGMRZPHYSPFHANDLER *PFNPGMRZPHYSPFHANDLER;
  * @param   enmAccessType   The access type.
  * @param   enmOrigin       The origin of this call.
  * @param   pvUser          User argument.
+ * @thread  EMT(pVCpu)
  */
-typedef DECLCALLBACK(int) FNPGMPHYSHANDLER(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                           PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser);
+typedef DECLCALLBACK(VBOXSTRICTRC) FNPGMPHYSHANDLER(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser);
 /** Pointer to PGM access callback. */
 typedef FNPGMPHYSHANDLER *PFNPGMPHYSHANDLER;
 
@@ -223,12 +231,12 @@ typedef enum PGMVIRTHANDLERKIND
 } PGMVIRTHANDLERKIND;
 
 /**
- * \#PF Handler callback for virtual access handler ranges, RC.
+ * \#PF handler callback for virtual access handler ranges, RC.
  *
  * Important to realize that a physical page in a range can have aliases, and
  * for ALL and WRITE handlers these will also trigger.
  *
- * @returns VBox status code (appropriate for GC return).
+ * @returns Strict VBox status code (appropriate for raw-mode).
  * @param   pVM             VM Handle.
  * @param   pVCpu           Pointer to the cross context CPU context for the
  *                          calling EMT.
@@ -239,14 +247,15 @@ typedef enum PGMVIRTHANDLERKIND
  * @param   offRange        The offset of the access into this range.
  *                          (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser          User argument.
+ * @thread  EMT(pVCpu)
  */
-typedef DECLCALLBACK(int) FNPGMRCVIRTPFHANDLER(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                               RTGCPTR pvRange, uintptr_t offRange, void *pvUser);
+typedef DECLCALLBACK(VBOXSTRICTRC) FNPGMRCVIRTPFHANDLER(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                        RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser);
 /** Pointer to PGM access callback. */
 typedef FNPGMRCVIRTPFHANDLER *PFNPGMRCVIRTPFHANDLER;
 
 /**
- * \#PF Handler callback for virtual access handler ranges, R3.
+ * Access handler callback for virtual access handler ranges.
  *
  * Important to realize that a physical page in a range can have aliases, and
  * for ALL and WRITE handlers these will also trigger.
@@ -256,18 +265,21 @@ typedef FNPGMRCVIRTPFHANDLER *PFNPGMRCVIRTPFHANDLER;
  * @param   pVM             VM Handle.
  * @param   pVCpu           Pointer to the cross context CPU context for the
  *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
+ * @param   GCPtr           The virtual address the guest is writing to.  This
+ *                          is the registered address corresponding to the
+ *                          access, so no aliasing trouble here.
  * @param   pvPtr           The HC mapping of that address.
  * @param   pvBuf           What the guest is reading/writing.
  * @param   cbBuf           How much it's reading/writing.
  * @param   enmAccessType   The access type.
  * @param   enmOrigin       Who is calling.
  * @param   pvUser          User argument.
+ * @thread  EMT(pVCpu)
  */
-typedef DECLCALLBACK(int) FNPGMR3VIRTHANDLER(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                             PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser);
+typedef DECLCALLBACK(VBOXSTRICTRC) FNPGMVIRTHANDLER(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser);
 /** Pointer to PGM access callback. */
-typedef FNPGMR3VIRTHANDLER *PFNPGMR3VIRTHANDLER;
+typedef FNPGMVIRTHANDLER *PFNPGMVIRTHANDLER;
 
 /**
  * \#PF Handler callback for invalidation of virtual access handler ranges.
@@ -277,6 +289,11 @@ typedef FNPGMR3VIRTHANDLER *PFNPGMR3VIRTHANDLER;
  *                          calling EMT.
  * @param   GCPtr           The virtual address the guest has changed.
  * @param   pvUser          User argument.
+ * @thread  EMT(pVCpu)
+ *
+ * @todo    FNPGMR3VIRTINVALIDATE will not actually be called! It was introduced
+ *          in r13179 (1.1) and stopped working with r13806 (PGMPool merge,
+ *          v1.2), exactly a month later.
  */
 typedef DECLCALLBACK(int) FNPGMR3VIRTINVALIDATE(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvUser);
 /** Pointer to PGM invalidation callback. */
@@ -452,10 +469,87 @@ VMMDECL(bool)       PGMPhysIsGCPhysValid(PVM pVM, RTGCPHYS GCPhys);
 VMMDECL(bool)       PGMPhysIsGCPhysNormal(PVM pVM, RTGCPHYS GCPhys);
 VMMDECL(int)        PGMPhysGCPtr2GCPhys(PVMCPU pVCpu, RTGCPTR GCPtr, PRTGCPHYS pGCPhys);
 VMMDECL(void)       PGMPhysReleasePageMappingLock(PVM pVM, PPGMPAGEMAPLOCK pLock);
-VMMDECL(int)        PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, PGMACCESSORIGIN enmOrigin);
-VMMDECL(int)        PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, PGMACCESSORIGIN enmOrigin);
-VMMDECL(int)        PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, PGMACCESSORIGIN enmOrigin);
-VMMDECL(int)        PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc, size_t cb, PGMACCESSORIGIN enmOrigin);
+
+/** @def PGM_PHYS_RW_IS_SUCCESS
+ * Check whether a PGMPhysRead, PGMPhysWrite, PGMPhysReadGCPtr or
+ * PGMPhysWriteGCPtr call completed the given task.
+ *
+ * @returns true if completed, false if not.
+ * @param   a_rcStrict      The status code.
+ * @sa      IOM_SUCCESS
+ */
+#ifdef IN_RING3
+# define PGM_PHYS_RW_IS_SUCCESS(a_rcStrict) \
+    (   (a_rcStrict) == VINF_SUCCESS )
+#elif defined(IN_RING0)
+# define PGM_PHYS_RW_IS_SUCCESS(a_rcStrict) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_EM_OFF \
+     || (a_rcStrict) == VINF_EM_SUSPEND \
+     || (a_rcStrict) == VINF_EM_RESET \
+     || (a_rcStrict) == VINF_EM_HALT \
+    )
+#elif defined(IN_RC)
+# define PGM_PHYS_RW_IS_SUCCESS(a_rcStrict) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_EM_OFF \
+     || (a_rcStrict) == VINF_EM_SUSPEND \
+     || (a_rcStrict) == VINF_EM_RESET \
+     || (a_rcStrict) == VINF_EM_HALT \
+     || (a_rcStrict) == VINF_SELM_SYNC_GDT \
+     || (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT \
+    )
+#endif
+/** @def PGM_PHYS_RW_DO_UPDATE_STRICT_RC
+ * Updates the return code with a new result.
+ *
+ * Both status codes must be successes according to PGM_PHYS_RW_IS_SUCCESS.
+ *
+ * @param   a_rcStrict      The current return code, to be updated.
+ * @param   a_rcStrict2     The new return code to merge in.
+ */
+#ifdef IN_RING3
+# define PGM_PHYS_RW_DO_UPDATE_STRICT_RC(a_rcStrict, a_rcStrict2) \
+    do { \
+        Assert(rcStrict == VINF_SUCCESS); \
+        Assert(rcStrict2 == VINF_SUCCESS); \
+    } while (0)
+#elif defined(IN_RING0)
+# define PGM_PHYS_RW_DO_UPDATE_STRICT_RC(a_rcStrict, a_rcStrict2) \
+    do { \
+        Assert(PGM_PHYS_RW_IS_SUCCESS(rcStrict)); \
+        Assert(PGM_PHYS_RW_IS_SUCCESS(rcStrict2)); \
+        if ((a_rcStrict2) == VINF_SUCCESS || (a_rcStrict) == (a_rcStrict2)) \
+        { /* likely */ } \
+        else if (   (a_rcStrict) == VINF_SUCCESS \
+                 || (a_rcStrict) > (a_rcStrict2)) \
+            (a_rcStrict) = (a_rcStrict2); \
+    } while (0)
+#elif defined(IN_RC)
+# define PGM_PHYS_RW_DO_UPDATE_STRICT_RC(a_rcStrict, a_rcStrict2) \
+    do { \
+        Assert(PGM_PHYS_RW_IS_SUCCESS(rcStrict)); \
+        Assert(PGM_PHYS_RW_IS_SUCCESS(rcStrict2)); \
+        AssertCompile(VINF_SELM_SYNC_GDT > VINF_EM_LAST); \
+        AssertCompile(VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT > VINF_EM_LAST); \
+        AssertCompile(VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT < VINF_SELM_SYNC_GDT); \
+        if ((a_rcStrict2) == VINF_SUCCESS || (a_rcStrict) == (a_rcStrict2)) \
+        { /* likely */ } \
+        else if (   (a_rcStrict) == VINF_SUCCESS \
+                 || (   (a_rcStrict) > (a_rcStrict2) \
+                     && (   (a_rcStrict2) <= VINF_EM_RESET  \
+                         || (a_rcStrict) != VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT) ) \
+                 || (   (a_rcStrict2) == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT \
+                     && (a_rcStrict) > VINF_EM_RESET) ) \
+            (a_rcStrict) = (a_rcStrict2); \
+    } while (0)
+#endif
+
+VMMDECL(VBOXSTRICTRC) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, PGMACCESSORIGIN enmOrigin);
+VMMDECL(VBOXSTRICTRC) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, PGMACCESSORIGIN enmOrigin);
+VMMDECL(VBOXSTRICTRC) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, PGMACCESSORIGIN enmOrigin);
+VMMDECL(VBOXSTRICTRC) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc, size_t cb, PGMACCESSORIGIN enmOrigin);
+
 VMMDECL(int)        PGMPhysSimpleReadGCPhys(PVM pVM, void *pvDst, RTGCPHYS GCPhysSrc, size_t cb);
 VMMDECL(int)        PGMPhysSimpleWriteGCPhys(PVM pVM, RTGCPHYS GCPhysDst, const void *pvSrc, size_t cb);
 VMMDECL(int)        PGMPhysSimpleReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_t cb);
@@ -596,23 +690,27 @@ VMMR3DECL(int)      PGMR3MapRead(PVM pVM, void *pvDst, RTGCPTR GCPtrSrc, size_t
 
 VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKIND enmKind,
                                                        PFNPGMPHYSHANDLER pfnHandlerR3,
+                                                       R0PTRTYPE(PFNPGMPHYSHANDLER)     pfnHandlerR0,
                                                        R0PTRTYPE(PFNPGMRZPHYSPFHANDLER) pfnPfHandlerR0,
+                                                       RCPTRTYPE(PFNPGMPHYSHANDLER)     pfnHandlerRC,
                                                        RCPTRTYPE(PFNPGMRZPHYSPFHANDLER) pfnPfHandlerRC,
                                                        const char *pszDesc, PPGMPHYSHANDLERTYPE phType);
 VMMR3DECL(int)      PGMR3HandlerPhysicalTypeRegister(PVM pVM, PGMPHYSHANDLERKIND enmKind,
                                                      R3PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR3,
-                                                     const char *pszModR0, const char *pszPfHandlerR0,
-                                                     const char *pszModRC, const char *pszPfHandlerRC, const char *pszDesc,
+                                                     const char *pszModR0, const char *pszHandlerR0, const char *pszPfHandlerR0,
+                                                     const char *pszModRC, const char *pszHandlerRC, const char *pszPfHandlerRC,
+                                                     const char *pszDesc,
                                                      PPGMPHYSHANDLERTYPE phType);
 VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegisterEx(PVM pVM, PGMVIRTHANDLERKIND enmKind, bool fRelocUserRC,
                                                       PFNPGMR3VIRTINVALIDATE pfnInvalidateR3,
-                                                      PFNPGMR3VIRTHANDLER pfnHandlerR3,
+                                                      PFNPGMVIRTHANDLER pfnHandlerR3,
+                                                      RCPTRTYPE(FNPGMVIRTHANDLER) pfnHandlerRC,
                                                       RCPTRTYPE(FNPGMRCVIRTPFHANDLER) pfnPfHandlerRC,
                                                       const char *pszDesc, PPGMVIRTHANDLERTYPE phType);
 VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegister(PVM pVM, PGMVIRTHANDLERKIND enmKind, bool fRelocUserRC,
                                                     PFNPGMR3VIRTINVALIDATE pfnInvalidateR3,
-                                                    PFNPGMR3VIRTHANDLER pfnHandlerR3,
-                                                    const char *pszPfHandlerRC, const char *pszDesc,
+                                                    PFNPGMVIRTHANDLER pfnHandlerR3,
+                                                    const char *pszHandlerRC, const char *pszPfHandlerRC, const char *pszDesc,
                                                     PPGMVIRTHANDLERTYPE phType);
 VMMR3_INT_DECL(int) PGMR3HandlerVirtualRegister(PVM pVM, PVMCPU pVCpu, PGMVIRTHANDLERTYPE hType, RTGCPTR GCPtr,
                                                 RTGCPTR GCPtrLast, void *pvUserR3, RTRCPTR pvUserRC, const char *pszDesc);
diff --git a/include/VBox/vmm/vm.h b/include/VBox/vmm/vm.h
index 9050e4a..b4047dc 100644
--- a/include/VBox/vmm/vm.h
+++ b/include/VBox/vmm/vm.h
@@ -283,7 +283,7 @@ typedef struct VMCPU
 
 
 /** The name of the Guest Context VMM Core module. */
-#define VMMGC_MAIN_MODULE_NAME          "VMMGC.gc"
+#define VMMRC_MAIN_MODULE_NAME          "VMMGC.gc"
 /** The name of the Ring 0 Context VMM Core module. */
 #define VMMR0_MAIN_MODULE_NAME          "VMMR0.r0"
 
diff --git a/include/VBox/vusb.h b/include/VBox/vusb.h
index 2fca4a7..4442265 100644
--- a/include/VBox/vusb.h
+++ b/include/VBox/vusb.h
@@ -3,7 +3,7 @@
  */
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -29,8 +29,6 @@
 #include <VBox/cdefs.h>
 #include <VBox/types.h>
 
-#include <iprt/queueatomic.h>
-
 struct PDMLED;
 
 RT_C_DECLS_BEGIN
@@ -781,57 +779,6 @@ DECLINLINE(int) VUSBIRhDetachDevice(PVUSBIROOTHUBCONNECTOR pInterface, PVUSBIDEV
 }
 #endif /* IN_RING3 */
 
-
-
-/** Pointer to a Root Hub Configuration Interface. */
-typedef struct VUSBIRHCONFIG *PVUSBIRHCONFIG;
-/**
- * Root Hub Configuration Interface (intended for MAIN).
- * No interface pair.
- */
-typedef struct VUSBIRHCONFIG
-{
-    /**
-     * Creates a USB proxy device and attaches it to the root hub.
-     *
-     * @returns VBox status code.
-     * @param   pInterface      Pointer to the root hub configuration interface structure.
-     * @param   pUuid           Pointer to the UUID for the new device.
-     * @param   fRemote         Whether the device must use the VRDP backend.
-     * @param   pszAddress      OS specific device address.
-     * @param   pvBackend       An opaque pointer for the backend. Only used by
-     *                          the VRDP backend so far.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnCreateProxyDevice,(PVUSBIRHCONFIG pInterface, PCRTUUID pUuid, bool fRemote, const char *pszAddress, void *pvBackend));
-
-    /**
-     * Removes a USB proxy device from the root hub and destroys it.
-     *
-     * @returns VBox status code.
-     * @param   pInterface      Pointer to the root hub configuration interface structure.
-     * @param   pUuid           Pointer to the UUID for the device.
-     */
-    DECLR3CALLBACKMEMBER(int, pfnDestroyProxyDevice,(PVUSBIRHCONFIG pInterface, PCRTUUID pUuid));
-
-} VUSBIRHCONFIG;
-/** VUSBIRHCONFIG interface ID. */
-#define VUSBIRHCONFIG_IID                       "c354cd97-e85f-465e-bc12-b58798465f52"
-
-
-#ifdef IN_RING3
-/** @copydoc  VUSBIRHCONFIG::pfnCreateProxyDevice */
-DECLINLINE(int) VUSBIRhCreateProxyDevice(PVUSBIRHCONFIG pInterface, PCRTUUID pUuid, bool fRemote, const char *pszAddress, void *pvBackend)
-{
-    return pInterface->pfnCreateProxyDevice(pInterface, pUuid, fRemote, pszAddress, pvBackend);
-}
-
-/** @copydoc VUSBIRHCONFIG::pfnDestroyProxyDevice */
-DECLINLINE(int) VUSBIRhDestroyProxyDevice(PVUSBIRHCONFIG pInterface, PCRTUUID pUuid)
-{
-    return pInterface->pfnDestroyProxyDevice(pInterface, pUuid);
-}
-#endif /* IN_RING3 */
-
 #endif /* ! RDESKTOP */
 
 
@@ -1209,7 +1156,6 @@ typedef struct VUSBURB
         uint32_t        u32FrameNo;
         /** Flag indicating that the TDs have been unlinked. */
         bool            fUnlinked;
-        RTQUEUEATOMICITEM QueueItem;
     } Hci;
 
     /** The device data. */
diff --git a/include/iprt/asm.h b/include/iprt/asm.h
index c0e52c1..ee49f21 100644
--- a/include/iprt/asm.h
+++ b/include/iprt/asm.h
@@ -3598,7 +3598,9 @@ DECLINLINE(void *) ASMMemIsAll8(void const *pv, size_t cb, uint8_t u8)
 /** @todo rewrite this in inline assembly? */
     uint8_t const *pb = (uint8_t const *)pv;
     for (; cb; cb--, pb++)
-        if (RT_UNLIKELY(*pb != u8))
+        if (RT_LIKELY(*pb == u8))
+        { /* likely */ }
+        else
             return (void *)pb;
     return NULL;
 }
@@ -3623,7 +3625,9 @@ DECLINLINE(uint32_t *) ASMMemIsAllU32(void const *pv, size_t cb, uint32_t u32)
 /** @todo rewrite this in inline assembly? */
     uint32_t const *pu32 = (uint32_t const *)pv;
     for (; cb; cb -= 4, pu32++)
-        if (RT_UNLIKELY(*pu32 != u32))
+        if (RT_LIKELY(*pu32 == u32))
+        { /* likely */ }
+        else
             return (uint32_t *)pu32;
     return NULL;
 }
diff --git a/include/iprt/asn1-generator-pass.h b/include/iprt/asn1-generator-pass.h
index 30da121..b032b75 100644
--- a/include/iprt/asn1-generator-pass.h
+++ b/include/iprt/asn1-generator-pass.h
@@ -888,7 +888,9 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_Compare)(RT_CONCAT(PC,RTASN1
 RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RTASN1TMPL_TYPE) pThis, uint32_t fFlags,  \
                                                                  PRTERRINFO pErrInfo, const char *pszErrorTag) \
 { \
-    if (RT_UNLIKELY(!RT_CONCAT(RTASN1TMPL_EXT_NAME,_IsPresent)(pThis))) \
+    if (RT_LIKELY(RT_CONCAT(RTASN1TMPL_EXT_NAME,_IsPresent)(pThis))) \
+    { /* likely */ } \
+    else \
         return RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, "%s: Missing (%s).", pszErrorTag, RT_XSTR(RTASN1TMPL_TYPE)); \
     int rc = VINF_SUCCESS
 
@@ -951,7 +953,9 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RT
                                                pErrInfo, RT_XSTR(RTASN1TMPL_TYPE) "::" #a_Name); \
             { a_Constraints } \
         } \
-        else if (RT_UNLIKELY(RTASN1CORE_IS_PRESENT(&pThis->a_TnNm.a_CtxTagN.Asn1Core) != fInnerPresent)) \
+        else if (RT_LIKELY(RTASN1CORE_IS_PRESENT(&pThis->a_TnNm.a_CtxTagN.Asn1Core) == fInnerPresent)) \
+        { /* likely */ } \
+        else \
             rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, \
                                "%s::" #a_TnNm "." #a_Name ": Explict tag precense mixup; " #a_CtxTagN "=%d " #a_Name "=%d.", \
                                pszErrorTag, fOuterPresent, fInnerPresent); \
@@ -1020,7 +1024,9 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RT
     if (RT_SUCCESS(rc) && ((cbMin) != 0 || (cbMax) != UINT32_MAX)) \
     { \
         PCRTASN1CORE pCore = RT_CONCAT(a_Api,_GetAsn1Core)(&pThis->a_Name); \
-        if (RT_UNLIKELY(pCore->cb < (cbMin) || pCore->cb > (cbMax))) \
+        if (RT_LIKELY(pCore->cb >= (cbMin) && pCore->cb <= (cbMax))) \
+        { /* likely */ } \
+        else \
             rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, \
                                "%s::" #a_Name ": Content size is out of range: %#x not in {%#x..%#x}", \
                                pszErrorTag, pCore->cb, cbMin, cbMax); \
@@ -1030,8 +1036,10 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RT
 # define RTASN1TMPL_MEMBER_CONSTR_BITSTRING_MIN_MAX(a_Name, cMinBits, cMaxBits, a_MoreConstraints) \
     if (RT_SUCCESS(rc) && ((cMinBits) != 0 || (cMaxBits) != UINT32_MAX)) \
     { \
-        if (RT_UNLIKELY(   ((cMinBits) == 0          ? false : pThis->a_Name.cBits + 1U < (cMinBits) + 1U /* warning avoiding */) \
-                        || ((cMaxBits) == UINT32_MAX ? false : pThis->a_Name.cBits + 1U > (cMaxBits) + 1U /* ditto */) ) ) \
+        if (RT_LIKELY(   ((cMinBits) == 0          ? true : pThis->a_Name.cBits + 1U >= (cMinBits) + 1U /* warning avoiding */) \
+                      && ((cMaxBits) == UINT32_MAX ? true : pThis->a_Name.cBits + 1U <= (cMaxBits) + 1U /* ditto */) ) ) \
+        { /* likely */ } \
+        else \
             rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, \
                                "%s::" #a_Name ": Bit size is out of range: %#x not in {%#x..%#x}", \
                                pszErrorTag, pThis->a_Name.cBits, cMinBits, cMaxBits); \
@@ -1041,8 +1049,10 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RT
 # define RTASN1TMPL_MEMBER_CONSTR_U64_MIN_MAX(a_Name, uMin, uMax, a_MoreConstraints) \
     if (RT_SUCCESS(rc)) \
     { \
-        if (RT_UNLIKELY(   RTAsn1Integer_UnsignedCompareWithU64(&pThis->a_Name, uMin) < 0 \
-                        || RTAsn1Integer_UnsignedCompareWithU64(&pThis->a_Name, uMax) > 0) ) \
+        if (RT_LIKELY(   RTAsn1Integer_UnsignedCompareWithU64(&pThis->a_Name, uMin) >= 0 \
+                      && RTAsn1Integer_UnsignedCompareWithU64(&pThis->a_Name, uMax) <= 0) ) \
+        { /* likely */ } \
+        else \
             rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, \
                                "%s::" #a_Name ": Out of range: %#x not in {%#llx..%#llx}", \
                                pszErrorTag, pThis->a_Name.Asn1Core.cb > 8 ? UINT64_MAX : pThis->a_Name.uValue.u, \
@@ -1051,8 +1061,13 @@ RTASN1TMPL_DECL(int) RT_CONCAT(RTASN1TMPL_EXT_NAME,_CheckSanity)(RT_CONCAT(PC,RT
     { a_MoreConstraints }
 
 # define RTASN1TMPL_MEMBER_CONSTR_PRESENT(a_Name, a_Api, a_MoreConstraints) \
-    if (RT_SUCCESS(rc) && RT_UNLIKELY(!RT_CONCAT(a_Api,_IsPresent)(&pThis->a_Name))) \
-        rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, "%s::" #a_Name ": Missing.", pszErrorTag); \
+    if (RT_SUCCESS(rc)) \
+    { \
+        if (RT_LIKELY(RT_CONCAT(a_Api,_IsPresent)(&pThis->a_Name))) \
+        { /* likely */ } \
+        else \
+            rc = RTErrInfoSetF(pErrInfo, VERR_GENERAL_FAILURE, "%s::" #a_Name ": Missing.", pszErrorTag); \
+    } \
     { a_MoreConstraints }
 
 
diff --git a/include/iprt/cdefs.h b/include/iprt/cdefs.h
index 14d2f87..5bea523 100644
--- a/include/iprt/cdefs.h
+++ b/include/iprt/cdefs.h
@@ -1320,6 +1320,8 @@
  *
  * A few notes about the usage:
  *
+ *      - Generally, order your code use RT_LIKELY() instead of RT_UNLIKELY().
+ *
  *      - Generally, use RT_UNLIKELY() with error condition checks (unless you
  *        have some _strong_ reason to do otherwise, in which case document it),
  *        and/or RT_LIKELY() with success condition checks, assuming you want
@@ -1327,7 +1329,7 @@
  *
  *      - Other than that, if you don't know the likelihood of a test succeeding
  *        from empirical or other 'hard' evidence, don't make predictions unless
- *        you happen to be a Dirk Gently.
+ *        you happen to be a Dirk Gently character.
  *
  *      - These macros are meant to be used in places that get executed a lot. It
  *        is wasteful to make predictions in code that is executed rarely (e.g.
@@ -1335,13 +1337,13 @@
  *        affects can often generate larger code.
  *
  *      - Note that RT_SUCCESS() and RT_FAILURE() already makes use of RT_LIKELY()
- *        and RT_UNLIKELY(). Should you wish for prediction free status checks,
+ *        and RT_UNLIKELY().  Should you wish for prediction free status checks,
  *        use the RT_SUCCESS_NP() and RT_FAILURE_NP() macros instead.
  *
  *
  * @returns the boolean result of the expression.
  * @param   expr        The expression that's very likely to be true.
- * @see RT_UNLIKELY
+ * @see     RT_UNLIKELY
  */
 /** @def RT_UNLIKELY
  * Give the compiler a hint that an expression is highly unlikely to hold true.
@@ -1350,7 +1352,12 @@
  *
  * @returns the boolean result of the expression.
  * @param   expr        The expression that's very unlikely to be true.
- * @see RT_LIKELY
+ * @see     RT_LIKELY
+ *
+ * @deprecated Please use RT_LIKELY() instead wherever possible!  That gives us
+ *          a better chance of the windows compilers to generate favorable code
+ *          too.  The belief is that the compiler will by default assume the
+ *          if-case is more likely than the else-case.
  */
 #if defined(__GNUC__)
 # if __GNUC__ >= 3 && !defined(FORTIFY_RUNNING)
@@ -1689,8 +1696,8 @@
 #else
 # define RT_LO_U8(a)                            ( (uint8_t)(a) )
 #endif
-/** @def RT_HI_U16
- * Gets the high uint16_t of a uint32_t or something equivalent). */
+/** @def RT_HI_U8
+ * Gets the high uint8_t of a uint16_t or something equivalent. */
 #ifdef __GNUC__
 # define RT_HI_U8(a)    __extension__ ({ AssertCompile(sizeof((a)) == sizeof(uint16_t)); (uint8_t)((a) >> 8); })
 #else
@@ -1705,7 +1712,7 @@
 # define RT_LO_U16(a)                           ( (uint16_t)(a) )
 #endif
 /** @def RT_HI_U16
- * Gets the high uint16_t of a uint32_t or something equivalent). */
+ * Gets the high uint16_t of a uint32_t or something equivalent. */
 #ifdef __GNUC__
 # define RT_HI_U16(a)   __extension__ ({ AssertCompile(sizeof((a)) == sizeof(uint32_t)); (uint16_t)((a) >> 16); })
 #else
@@ -1720,7 +1727,7 @@
 # define RT_LO_U32(a)                           ( (uint32_t)(a) )
 #endif
 /** @def RT_HI_U32
- * Gets the high uint32_t of a uint64_t or something equivalent). */
+ * Gets the high uint32_t of a uint64_t or something equivalent. */
 #ifdef __GNUC__
 # define RT_HI_U32(a)   __extension__ ({ AssertCompile(sizeof((a)) == sizeof(uint64_t)); (uint32_t)((a) >> 32); })
 #else
@@ -1776,7 +1783,7 @@
  * @deprecated  Use RT_LO_U8. */
 #define RT_LOBYTE(a)                            ( (a) & 0xff )
 /** @def RT_HIBYTE
- * Gets the low byte of a 16-bit something.
+ * Gets the high byte of a 16-bit something.
  * @deprecated  Use RT_HI_U8. */
 #define RT_HIBYTE(a)                            ( (a) >> 8 )
 
diff --git a/include/iprt/cpp/list.h b/include/iprt/cpp/list.h
index d3ecfaf..b0da2d7 100644
--- a/include/iprt/cpp/list.h
+++ b/include/iprt/cpp/list.h
@@ -457,25 +457,26 @@ public:
     RTCListBase<T, ITYPE, MT> &operator=(const RTCListBase<T, ITYPE, MT>& other)
     {
         /* Prevent self assignment */
-        if (RT_UNLIKELY(this == &other))
-            return *this;
+        if (RT_LIKELY(this != &other))
+        {
 
-        other.m_guard.enterRead();
-        m_guard.enterWrite();
+            other.m_guard.enterRead();
+            m_guard.enterWrite();
 
-        /* Delete all items. */
-        RTCListHelper<T, ITYPE>::eraseRange(m_pArray, 0, m_cElements);
+            /* Delete all items. */
+            RTCListHelper<T, ITYPE>::eraseRange(m_pArray, 0, m_cElements);
 
-        /* Need we to realloc memory. */
-        if (other.m_cElements != m_cCapacity)
-            resizeArrayNoErase(other.m_cElements);
-        m_cElements = other.m_cElements;
+            /* Need we to realloc memory. */
+            if (other.m_cElements != m_cCapacity)
+                resizeArrayNoErase(other.m_cElements);
+            m_cElements = other.m_cElements;
 
-        /* Copy new items. */
-        RTCListHelper<T, ITYPE>::copyTo(m_pArray, other.m_pArray, 0, other.m_cElements);
+            /* Copy new items. */
+            RTCListHelper<T, ITYPE>::copyTo(m_pArray, other.m_pArray, 0, other.m_cElements);
 
-        m_guard.leaveWrite();
-        other.m_guard.leaveRead();
+            m_guard.leaveWrite();
+            other.m_guard.leaveRead();
+        }
         return *this;
     }
 
@@ -634,14 +635,14 @@ public:
     T value(size_t i) const
     {
         m_guard.enterRead();
-        if (RT_UNLIKELY(i >= m_cElements))
+        if (RT_LIKELY(i < m_cElements))
         {
+            T res = RTCListHelper<T, ITYPE>::at(m_pArray, i);
             m_guard.leaveRead();
-            return T();
+            return res;
         }
-        T res = RTCListHelper<T, ITYPE>::at(m_pArray, i);
         m_guard.leaveRead();
-        return res;
+        return T();
     }
 
     /**
@@ -654,14 +655,14 @@ public:
     T value(size_t i, const T &defaultVal) const
     {
         m_guard.enterRead();
-        if (RT_UNLIKELY(i >= m_cElements))
+        if (RT_LIKELY(i < m_cElements))
         {
+            T res = RTCListHelper<T, ITYPE>::at(m_pArray, i);
             m_guard.leaveRead();
-            return defaultVal;
+            return res;
         }
-        T res = RTCListHelper<T, ITYPE>::at(m_pArray, i);
         m_guard.leaveRead();
-        return res;
+        return defaultVal;
     }
 
     /**
diff --git a/include/iprt/cpuset.h b/include/iprt/cpuset.h
index fa69a0f..4c0803c 100644
--- a/include/iprt/cpuset.h
+++ b/include/iprt/cpuset.h
@@ -110,10 +110,12 @@ DECLINLINE(PRTCPUSET) RTCpuSetAnd(PRTCPUSET pSet, PRTCPUSET pAndMaskSet)
 DECLINLINE(int) RTCpuSetAdd(PRTCPUSET pSet, RTCPUID idCpu)
 {
     int iCpu = RTMpCpuIdToSetIndex(idCpu);
-    if (RT_UNLIKELY(iCpu < 0))
-        return -1;
-    ASMAtomicBitSet(pSet, iCpu);
-    return 0;
+    if (RT_LIKELY(iCpu >= 0))
+    {
+        ASMAtomicBitSet(pSet, iCpu);
+        return 0;
+    }
+    return -1;
 }
 
 
@@ -127,10 +129,12 @@ DECLINLINE(int) RTCpuSetAdd(PRTCPUSET pSet, RTCPUID idCpu)
  */
 DECLINLINE(int) RTCpuSetAddByIndex(PRTCPUSET pSet, int iCpu)
 {
-    if (RT_UNLIKELY((unsigned)iCpu >= RTCPUSET_MAX_CPUS))
-        return -1;
-    ASMAtomicBitSet(pSet, iCpu);
-    return 0;
+    if (RT_LIKELY((unsigned)iCpu < RTCPUSET_MAX_CPUS))
+    {
+        ASMAtomicBitSet(pSet, iCpu);
+        return 0;
+    }
+    return -1;
 }
 
 
@@ -145,10 +149,12 @@ DECLINLINE(int) RTCpuSetAddByIndex(PRTCPUSET pSet, int iCpu)
 DECLINLINE(int) RTCpuSetDel(PRTCPUSET pSet, RTCPUID idCpu)
 {
     int iCpu = RTMpCpuIdToSetIndex(idCpu);
-    if (RT_UNLIKELY(iCpu < 0))
-        return -1;
-    ASMAtomicBitClear(pSet, iCpu);
-    return 0;
+    if (RT_LIKELY(iCpu >= 0))
+    {
+        ASMAtomicBitClear(pSet, iCpu);
+        return 0;
+    }
+    return -1;
 }
 
 
@@ -162,10 +168,12 @@ DECLINLINE(int) RTCpuSetDel(PRTCPUSET pSet, RTCPUID idCpu)
  */
 DECLINLINE(int) RTCpuSetDelByIndex(PRTCPUSET pSet, int iCpu)
 {
-    if (RT_UNLIKELY((unsigned)iCpu >= RTCPUSET_MAX_CPUS))
-        return -1;
-    ASMAtomicBitClear(pSet, iCpu);
-    return 0;
+    if (RT_LIKELY((unsigned)iCpu < RTCPUSET_MAX_CPUS))
+    {
+        ASMAtomicBitClear(pSet, iCpu);
+        return 0;
+    }
+    return -1;
 }
 
 
@@ -180,9 +188,9 @@ DECLINLINE(int) RTCpuSetDelByIndex(PRTCPUSET pSet, int iCpu)
 DECLINLINE(bool) RTCpuSetIsMember(PCRTCPUSET pSet, RTCPUID idCpu)
 {
     int iCpu = RTMpCpuIdToSetIndex(idCpu);
-    if (RT_UNLIKELY(iCpu < 0))
-        return false;
-    return ASMBitTest((volatile void *)pSet, iCpu);
+    if (RT_LIKELY(iCpu >= 0))
+        return ASMBitTest((volatile void *)pSet, iCpu);
+    return false;
 }
 
 
@@ -196,9 +204,9 @@ DECLINLINE(bool) RTCpuSetIsMember(PCRTCPUSET pSet, RTCPUID idCpu)
  */
 DECLINLINE(bool) RTCpuSetIsMemberByIndex(PCRTCPUSET pSet, int iCpu)
 {
-    if (RT_UNLIKELY((unsigned)iCpu >= RTCPUSET_MAX_CPUS))
-        return false;
-    return ASMBitTest((volatile void *)pSet, iCpu);
+    if (RT_LIKELY((unsigned)iCpu < RTCPUSET_MAX_CPUS))
+        return ASMBitTest((volatile void *)pSet, iCpu);
+    return false;
 }
 
 
diff --git a/include/iprt/err.h b/include/iprt/err.h
index 7c533d1..9a0edf1 100644
--- a/include/iprt/err.h
+++ b/include/iprt/err.h
@@ -161,18 +161,25 @@ private:
 #endif
 
 /** @def RT_FAILURE
- * Check for failure. We don't expect in normal cases, that is the code path depending on
- * this check is normally NOT taken. To prevent any prediction use RT_FAILURE_NP instead.
+ * Check for failure, predicting unlikely.
+ *
+ * We don't expect in normal cases, that is the code path depending on this
+ * check is normally NOT taken. To prevent any prediction use RT_FAILURE_NP
+ * instead.
  *
  * @returns true if rc indicates failure.
  * @returns false if rc indicates success.
  *
  * @param   rc  The iprt status code to test.
+ *
+ * @remarks Please structure your code to use the RT_SUCCESS() macro instead of
+ *          RT_FAILURE() where possible, as that gives us a better shot at good
+ *          code with the windows compilers.
  */
 #define RT_FAILURE(rc)      ( RT_UNLIKELY(!RT_SUCCESS_NP(rc)) )
 
 /** @def RT_FAILURE_NP
- * Check for failure. Don't predict the result.
+ * Check for failure, no prediction.
  *
  * @returns true if rc indicates failure.
  * @returns false if rc indicates success.
diff --git a/include/iprt/log.h b/include/iprt/log.h
index 46751f8..1cf20fe 100644
--- a/include/iprt/log.h
+++ b/include/iprt/log.h
@@ -123,20 +123,6 @@ typedef enum RTLOGGROUP
 # define LOG_GROUP          RTLOGGROUP_DEFAULT
 #endif
 
-/** @def LOG_INSTANCE
- * Active logging instance.
- */
-#ifndef LOG_INSTANCE
-# define LOG_INSTANCE       NULL
-#endif
-
-/** @def LOG_REL_INSTANCE
- * Active release logging instance.
- */
-#ifndef LOG_REL_INSTANCE
-# define LOG_REL_INSTANCE   NULL
-#endif
-
 /** @def LOG_FN_FMT
  * You can use this to specify you desired way of printing __PRETTY_FUNCTION__
  * if you dislike the default one.
@@ -145,6 +131,13 @@ typedef enum RTLOGGROUP
 # define LOG_FN_FMT "%Rfn"
 #endif
 
+#ifdef LOG_INSTANCE
+# error "LOG_INSTANCE is no longer supported."
+#endif
+#ifdef LOG_REL_INSTANCE
+# error "LOG_REL_INSTANCE is no longer supported."
+#endif
+
 /** Logger structure. */
 #ifdef IN_RC
 typedef struct RTLOGGERRC RTLOGGER;
@@ -396,50 +389,48 @@ typedef enum RTLOGFLAGS
 
 /**
  * Logger per group flags.
+ *
+ * @remarks We only use the lower 16 bits here.  We'll be combining it with the
+ *          group number in a few places.
  */
 typedef enum RTLOGGRPFLAGS
 {
     /** Enabled. */
-    RTLOGGRPFLAGS_ENABLED      = 0x00000001,
+    RTLOGGRPFLAGS_ENABLED      = 0x0001,
+    /** Flow logging. */
+    RTLOGGRPFLAGS_FLOW         = 0x0002,
+    /** Warnings logging. */
+    RTLOGGRPFLAGS_WARN         = 0x0004,
+    /* 0x0008 for later. */
     /** Level 1 logging. */
-    RTLOGGRPFLAGS_LEVEL_1      = 0x00000002,
+    RTLOGGRPFLAGS_LEVEL_1      = 0x0010,
     /** Level 2 logging. */
-    RTLOGGRPFLAGS_LEVEL_2      = 0x00000004,
+    RTLOGGRPFLAGS_LEVEL_2      = 0x0020,
     /** Level 3 logging. */
-    RTLOGGRPFLAGS_LEVEL_3      = 0x00000008,
+    RTLOGGRPFLAGS_LEVEL_3      = 0x0040,
     /** Level 4 logging. */
-    RTLOGGRPFLAGS_LEVEL_4      = 0x00000010,
+    RTLOGGRPFLAGS_LEVEL_4      = 0x0080,
     /** Level 5 logging. */
-    RTLOGGRPFLAGS_LEVEL_5      = 0x00000020,
+    RTLOGGRPFLAGS_LEVEL_5      = 0x0100,
     /** Level 6 logging. */
-    RTLOGGRPFLAGS_LEVEL_6      = 0x00000040,
-    /** Flow logging. */
-    RTLOGGRPFLAGS_FLOW         = 0x00000080,
+    RTLOGGRPFLAGS_LEVEL_6      = 0x0200,
+    /** Level 7 logging. */
+    RTLOGGRPFLAGS_LEVEL_7      = 0x0400,
+    /** Level 8 logging. */
+    RTLOGGRPFLAGS_LEVEL_8      = 0x0800,
+    /** Level 9 logging. */
+    RTLOGGRPFLAGS_LEVEL_9      = 0x1000,
+    /** Level 10 logging. */
+    RTLOGGRPFLAGS_LEVEL_10     = 0x2000,
+    /** Level 11 logging. */
+    RTLOGGRPFLAGS_LEVEL_11     = 0x4000,
+    /** Level 12 logging. */
+    RTLOGGRPFLAGS_LEVEL_12     = 0x8000,
+
     /** Restrict the number of log entries. */
-    RTLOGGRPFLAGS_RESTRICT     = 0x00000100,
-
-    /** Lelik logging. */
-    RTLOGGRPFLAGS_LELIK        = 0x00010000,
-    /** Michael logging. */
-    RTLOGGRPFLAGS_MICHAEL      = 0x00020000,
-    /** sunlover logging. */
-    RTLOGGRPFLAGS_SUNLOVER     = 0x00040000,
-    /** Achim logging. */
-    RTLOGGRPFLAGS_ACHIM        = 0x00080000,
-    /** Sander logging. */
-    RTLOGGRPFLAGS_SANDER       = 0x00100000,
-    /** Klaus logging. */
-    RTLOGGRPFLAGS_KLAUS        = 0x00200000,
-    /** Frank logging. */
-    RTLOGGRPFLAGS_FRANK        = 0x00400000,
-    /** bird logging. */
-    RTLOGGRPFLAGS_BIRD         = 0x00800000,
-    /** aleksey logging. */
-    RTLOGGRPFLAGS_ALEKSEY      = 0x01000000,
-    /** dj logging. */
-    RTLOGGRPFLAGS_DJ           = 0x02000000,
-    /** NoName logging. */
-    RTLOGGRPFLAGS_NONAME       = 0x04000000
+    RTLOGGRPFLAGS_RESTRICT     = 0x40000000,
+    /** Blow up the type. */
+    RTLOGGRPFLAGS_32BIT_HACK   = 0x7fffffff
 } RTLOGGRPFLAGS;
 
 /**
@@ -517,182 +508,292 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
 #endif
 
 
+/** @name Macros for checking whether a log level is enabled.
+ * @{ */
+/** @def LogIsItEnabled
+ * Checks whether the specified logging group is enabled or not.
+ */
+#ifdef LOG_ENABLED
+# define LogIsItEnabled(a_fFlags, a_iGroup) ( RTLogDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)) != NULL )
+#else
+# define LogIsItEnabled(a_fFlags, a_iGroup) (false)
+#endif
+
+/** @def LogIsEnabled
+ * Checks whether level 1 logging is enabled.
+ */
+#define LogIsEnabled()      LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP)
+
+/** @def LogIs2Enabled
+ * Checks whether level 2 logging is enabled.
+ */
+#define LogIs2Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP)
+
+/** @def LogIs3Enabled
+ * Checks whether level 3 logging is enabled.
+ */
+#define LogIs3Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP)
+
+/** @def LogIs4Enabled
+ * Checks whether level 4 logging is enabled.
+ */
+#define LogIs4Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP)
+
+/** @def LogIs5Enabled
+ * Checks whether level 5 logging is enabled.
+ */
+#define LogIs5Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP)
+
+/** @def LogIs6Enabled
+ * Checks whether level 6 logging is enabled.
+ */
+#define LogIs6Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP)
+
+/** @def LogIs7Enabled
+ * Checks whether level 7 logging is enabled.
+ */
+#define LogIs7Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_7, LOG_GROUP)
+
+/** @def LogIs8Enabled
+ * Checks whether level 8 logging is enabled.
+ */
+#define LogIs8Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_8, LOG_GROUP)
+
+/** @def LogIs9Enabled
+ * Checks whether level 9 logging is enabled.
+ */
+#define LogIs9Enabled()     LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_9, LOG_GROUP)
+
+/** @def LogIs10Enabled
+ * Checks whether level 10 logging is enabled.
+ */
+#define LogIs10Enabled()    LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP)
+
+/** @def LogIs11Enabled
+ * Checks whether level 11 logging is enabled.
+ */
+#define LogIs11Enabled()    LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP)
+
+/** @def LogIs12Enabled
+ * Checks whether level 12 logging is enabled.
+ */
+#define LogIs12Enabled()    LogIsItEnabled(RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP)
+
+/** @def LogIsFlowEnabled
+ * Checks whether execution flow logging is enabled.
+ */
+#define LogIsFlowEnabled()  LogIsItEnabled(RTLOGGRPFLAGS_FLOW, LOG_GROUP)
+
+/** @def LogIsWarnEnabled
+ * Checks whether execution flow logging is enabled.
+ */
+#define LogIsWarnEnabled()  LogIsItEnabled(RTLOGGRPFLAGS_WARN, LOG_GROUP)
+/** @} */
+
+
 /** @def LogIt
  * Write to specific logger if group enabled.
  */
 #ifdef LOG_ENABLED
 # if defined(LOG_USE_C99)
-#  define _LogRemoveParentheseis(...)                           __VA_ARGS__
-#  define _LogIt(a_pvInst, a_fFlags, a_iGroup, ...)             RTLogLoggerEx((PRTLOGGER)a_pvInst, a_fFlags, a_iGroup, __VA_ARGS__)
-#  define LogIt(a_pvInst, a_fFlags, a_iGroup, fmtargs)          _LogIt(a_pvInst, a_fFlags, a_iGroup, _LogRemoveParentheseis fmtargs)
-#  define _LogItAlways(a_pvInst, a_fFlags, a_iGroup, ...)       RTLogLoggerEx((PRTLOGGER)a_pvInst, a_fFlags, ~0U, __VA_ARGS__)
-#  define LogItAlways(a_pvInst, a_fFlags, a_iGroup, fmtargs)    _LogItAlways(a_pvInst, a_fFlags, a_iGroup, _LogRemoveParentheseis fmtargs)
+#  define _LogRemoveParentheseis(...)                   __VA_ARGS__
+#  define _LogIt(a_fFlags, a_iGroup, ...) \
+   do \
+   { \
+        register PRTLOGGER LogIt_pLogger = RTLogDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+        if (RT_LIKELY(!LogIt_pLogger)) \
+        {   /* likely */ } \
+        else \
+            RTLogLoggerEx(LogIt_pLogger, a_fFlags, a_iGroup, __VA_ARGS__); \
+   } while (0)
+#  define LogIt(a_fFlags, a_iGroup, fmtargs)            _LogIt(a_fFlags, a_iGroup, _LogRemoveParentheseis fmtargs)
+#  define _LogItAlways(a_fFlags, a_iGroup, ...)          RTLogLoggerEx(NULL, a_fFlags, UINT32_MAX, __VA_ARGS__)
+#  define LogItAlways(a_fFlags, a_iGroup, fmtargs)      _LogItAlways(a_fFlags, a_iGroup, _LogRemoveParentheseis fmtargs)
         /** @todo invent a flag or something for skipping the group check so we can pass iGroup. LogItAlways. */
 # else
-#  define LogIt(a_pvInst, a_fFlags, a_iGroup, fmtargs) \
+#  define LogIt(a_fFlags, a_iGroup, fmtargs) \
     do \
     { \
-        register PRTLOGGER LogIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogDefaultInstance(); \
-        if (    LogIt_pLogger \
-            && !(LogIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+        register PRTLOGGER LogIt_pLogger = RTLogDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+        if (RT_LIKELY(!LogIt_pLogger)) \
+        {   /* likely */ } \
+        else \
         { \
-            register unsigned LogIt_fFlags = LogIt_pLogger->afGroups[(unsigned)(a_iGroup) < LogIt_pLogger->cGroups ? (unsigned)(a_iGroup) : 0]; \
-            if ((LogIt_fFlags & ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) == ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) \
-                LogIt_pLogger->pfnLogger fmtargs; \
+            LogIt_pLogger->pfnLogger fmtargs; \
         } \
     } while (0)
-#  define LogItAlways(a_pvInst, a_fFlags, a_iGroup, fmtargs) \
+#  define LogItAlways(a_fFlags, a_iGroup, fmtargs) \
     do \
     { \
-        register PRTLOGGER LogIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogDefaultInstance(); \
-        if (   LogIt_pLogger \
-            && !(LogIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+        register PRTLOGGER LogIt_pLogger = RTLogDefaultInstanceEx(RT_MAKE_U32(0, UINT16_MAX)); \
+        if (LogIt_pLogger) \
             LogIt_pLogger->pfnLogger fmtargs; \
     } while (0)
 # endif
 #else
-# define LogIt(a_pvInst, a_fFlags, a_iGroup, fmtargs)       do { } while (0)
-# define LogItAlways(a_pvInst, a_fFlags, a_iGroup, fmtargs) do { } while (0)
+# define LogIt(a_fFlags, a_iGroup, fmtargs)             do { } while (0)
+# define LogItAlways(a_fFlags, a_iGroup, fmtargs)       do { } while (0)
 # if defined(LOG_USE_C99)
-#  define _LogRemoveParentheseis(...)                       __VA_ARGS__
-#  define _LogIt(a_pvInst, a_fFlags, a_iGroup, ...)         do { } while (0)
-#  define _LogItAlways(a_pvInst, a_fFlags, a_iGroup, ...)   do { } while (0)
+#  define _LogRemoveParentheseis(...)                   __VA_ARGS__
+#  define _LogIt(a_fFlags, a_iGroup, ...)               do { } while (0)
+#  define _LogItAlways(a_fFlags, a_iGroup, ...)         do { } while (0)
 # endif
 #endif
 
 
+/** @name Basic logging macros
+ * @{ */
 /** @def Log
  * Level 1 logging that works regardless of the group settings.
  */
-#define LogAlways(a)    LogItAlways(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
+#define LogAlways(a)    LogItAlways(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
 
 /** @def Log
  * Level 1 logging.
  */
-#define Log(a)          LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
+#define Log(a)          LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
 
 /** @def Log2
  * Level 2 logging.
  */
-#define Log2(a)         LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
+#define Log2(a)         LogIt(RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
 
 /** @def Log3
  * Level 3 logging.
  */
-#define Log3(a)         LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
+#define Log3(a)         LogIt(RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
 
 /** @def Log4
  * Level 4 logging.
  */
-#define Log4(a)         LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
+#define Log4(a)         LogIt(RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
 
 /** @def Log5
  * Level 5 logging.
  */
-#define Log5(a)         LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
+#define Log5(a)         LogIt(RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
 
 /** @def Log6
  * Level 6 logging.
  */
-#define Log6(a)         LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
-
-/** @def LogFlow
- * Logging of execution flow.
- */
-#define LogFlow(a)      LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW,     LOG_GROUP, a)
+#define Log6(a)         LogIt(RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
 
-/** @def LogLelik
- *  lelik logging.
+/** @def Log7
+ * Level 7 logging.
  */
-#define LogLelik(a)     LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LELIK,    LOG_GROUP, a)
+#define Log7(a)         LogIt(RTLOGGRPFLAGS_LEVEL_7,  LOG_GROUP, a)
 
-
-/** @def LogMichael
- * michael logging.
+/** @def Log8
+ * Level 8 logging.
  */
-#define LogMichael(a)   LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_MICHAEL,  LOG_GROUP, a)
+#define Log8(a)         LogIt(RTLOGGRPFLAGS_LEVEL_8,  LOG_GROUP, a)
 
-/** @def LogSunlover
- * sunlover logging.
+/** @def Log9
+ * Level 9 logging.
  */
-#define LogSunlover(a)  LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_SUNLOVER, LOG_GROUP, a)
+#define Log9(a)         LogIt(RTLOGGRPFLAGS_LEVEL_9,  LOG_GROUP, a)
 
-/** @def LogAchim
- * Achim logging.
+/** @def Log10
+ * Level 10 logging.
  */
-#define LogAchim(a)     LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_ACHIM,    LOG_GROUP, a)
+#define Log10(a)        LogIt(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP, a)
 
-/** @def LogSander
- * Sander logging.
+/** @def Log11
+ * Level 11 logging.
  */
-#define LogSander(a)    LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_SANDER,   LOG_GROUP, a)
+#define Log11(a)        LogIt(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP, a)
 
-/** @def LogKlaus
- *  klaus logging.
+/** @def Log12
+ * Level 12 logging.
  */
-#define LogKlaus(a)     LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_KLAUS,    LOG_GROUP, a)
+#define Log12(a)        LogIt(RTLOGGRPFLAGS_LEVEL_12,  LOG_GROUP, a)
 
-/** @def LogFrank
- *  frank logging.
+/** @def LogFlow
+ * Logging of execution flow.
  */
-#define LogFrank(a)     LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FRANK,    LOG_GROUP, a)
+#define LogFlow(a)      LogIt(RTLOGGRPFLAGS_FLOW,      LOG_GROUP, a)
 
-/** @def LogBird
- * bird logging.
+/** @def LogWarn
+ * Logging of warnings.
  */
-#define LogBird(a)      LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_BIRD,     LOG_GROUP, a)
+#define LogWarn(a)      LogIt(RTLOGGRPFLAGS_WARN,      LOG_GROUP, a)
+/** @} */
 
-/** @def LogAleksey
- * aleksey logging.
- */
-#define LogAleksey(a)   LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_ALEKSEY,  LOG_GROUP, a)
 
-/** @def LogDJ
- * dj logging.
+/** @name Logging macros prefixing the current function name.
+ * @{ */
+/** @def LogFunc
+ * Level 1 logging inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
-#define LogDJ(a)        LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_DJ,  LOG_GROUP, a)
+#ifdef LOG_USE_C99
+# define LogFunc(a)   _LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogFunc(a)   do { Log((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log(a); } while (0)
+#endif
 
-/** @def LogNoName
- * NoName logging.
+/** @def Log2Func
+ * Level 2 logging inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
-#define LogNoName(a)    LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_NONAME,   LOG_GROUP, a)
+#ifdef LOG_USE_C99
+# define Log2Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log2Func(a)  do { Log2((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log2(a); } while (0)
+#endif
 
-/** @def LogWarning
- * The same as Log(), but prepents a <tt>"WARNING! "</tt> string to the message.
+/** @def Log3Func
+ * Level 3 logging inside C/C++ functions.
  *
- * @param   a   Custom log message in format <tt>("string\n" [, args])</tt>.
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
-#if defined(LOG_USE_C99)
-# define LogWarning(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "WARNING! %M", _LogRemoveParentheseis a )
+#ifdef LOG_USE_C99
+# define Log3Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogWarning(a) \
-    do { Log(("WARNING! ")); Log(a); } while (0)
+# define Log3Func(a)  do { Log3((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log3(a); } while (0)
 #endif
 
-/** @def LogTrace
- * Macro to trace the execution flow: logs the file name, line number and
- * function name. Can be easily searched for in log files using the
- * ">>>>>" pattern (prepended to the beginning of each line).
+/** @def Log4Func
+ * Level 4 logging inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
-#define LogTrace() \
-    LogFlow((">>>>> %s (%d): " LOG_FN_FMT "\n", __FILE__, __LINE__, __PRETTY_FUNCTION__))
+#ifdef LOG_USE_C99
+# define Log4Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log4Func(a)  do { Log4((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log4(a); } while (0)
+#endif
 
-/** @def LogTraceMsg
- * The same as LogTrace but logs a custom log message right after the trace line.
+/** @def Log5Func
+ * Level 5 logging inside C/C++ functions.
  *
- * @param   a   Custom log message in format <tt>("string\n" [, args])</tt>.
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogTraceMsg(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, ">>>>> %s (%d): " LOG_FN_FMT ": %M", __FILE__, __LINE__, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log5Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogTraceMsg(a) \
-    do {  LogFlow((">>>>> %s (%d): " LOG_FN_FMT ": ", __FILE__, __LINE__, __PRETTY_FUNCTION__)); LogFlow(a); } while (0)
+# define Log5Func(a)  do { Log5((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log5(a); } while (0)
 #endif
 
-/** @def LogFunc
- * Level 1 logging inside C/C++ functions.
+/** @def Log6Func
+ * Level 6 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -700,15 +801,13 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log6Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogFunc(a) \
-    do { Log((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log(a); } while (0)
+# define Log6Func(a)  do { Log6((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log6(a); } while (0)
 #endif
 
-/** @def Log2Func
- * Level 2 logging inside C/C++ functions.
+/** @def Log7Func
+ * Level 7 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -716,15 +815,13 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define Log2Func(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log7Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_7, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define Log2Func(a) \
-    do { Log2((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log2(a); } while (0)
+# define Log7Func(a)  do { Log7((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log7(a); } while (0)
 #endif
 
-/** @def Log3Func
- * Level 3 logging inside C/C++ functions.
+/** @def Log8Func
+ * Level 8 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -732,15 +829,13 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define Log3Func(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log8Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_8, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define Log3Func(a) \
-    do { Log3((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log3(a); } while (0)
+# define Log8Func(a)  do { Log8((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log8(a); } while (0)
 #endif
 
-/** @def Log4Func
- * Level 4 logging inside C/C++ functions.
+/** @def Log9Func
+ * Level 9 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -748,15 +843,13 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define Log4Func(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log9Func(a)  _LogIt(RTLOGGRPFLAGS_LEVEL_9, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define Log4Func(a) \
-    do { Log4((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log4(a); } while (0)
+# define Log9Func(a)  do { Log9((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log9(a); } while (0)
 #endif
 
-/** @def Log5Func
- * Level 5 logging inside C/C++ functions.
+/** @def Log10Func
+ * Level 10 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -764,15 +857,13 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define Log5Func(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log10Func(a) _LogIt(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define Log5Func(a) \
-    do { Log5((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log5(a); } while (0)
+# define Log10Func(a) do { Log10((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log10(a); } while (0)
 #endif
 
-/** @def Log6Func
- * Level 6 logging inside C/C++ functions.
+/** @def Log11Func
+ * Level 11 logging inside C/C++ functions.
  *
  * Prepends the given log message with the function name followed by a
  * semicolon and space.
@@ -780,25 +871,23 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define Log6Func(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log11Func(a) _LogIt(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define Log6Func(a) \
-    do { Log6((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log6(a); } while (0)
+# define Log11Func(a) do { Log11((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log11(a); } while (0)
 #endif
 
-/** @def LogThisFunc
- * The same as LogFunc but for class functions (methods): the resulting log
- * line is additionally prepended with a hex value of |this| pointer.
+/** @def Log12Func
+ * Level 12 logging inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by a
+ * semicolon and space.
  *
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogThisFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log12Func(a) _LogIt(RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogThisFunc(a) \
-    do { Log(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log(a); } while (0)
+# define Log12Func(a) do { Log12((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); Log12(a); } while (0)
 #endif
 
 /** @def LogFlowFunc
@@ -811,37 +900,228 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  */
 #ifdef LOG_USE_C99
 # define LogFlowFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+    _LogIt(RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
 # define LogFlowFunc(a) \
     do { LogFlow((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogFlow(a); } while (0)
 #endif
 
-/** @def LogWarningFunc
- * The same as LogWarning(), but prepents the log message with the function name.
+/** @def LogWarnFunc
+ * Macro to log a warning inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by
+ * a semicolon and space.
  *
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogWarningFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": WARNING! %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define LogWarnFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_WARN, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogWarningFunc(a) \
-    do { Log((LOG_FN_FMT ": WARNING! ", __PRETTY_FUNCTION__)); Log(a); } while (0)
+# define LogWarnFunc(a) \
+    do { LogFlow((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogFlow(a); } while (0)
+#endif
+/** @} */
+
+
+/** @name Logging macros prefixing the this pointer value and method name.
+ * @{ */
+
+/** @def LogThisFunc
+ * Level 1 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define LogThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogThisFunc(a) do { Log(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log(a); } while (0)
+#endif
+
+/** @def Log2ThisFunc
+ * Level 2 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log2ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log2ThisFunc(a) do { Log2(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log2(a); } while (0)
+#endif
+
+/** @def Log3ThisFunc
+ * Level 3 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log3ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log3ThisFunc(a) do { Log3(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log3(a); } while (0)
+#endif
+
+/** @def Log4ThisFunc
+ * Level 4 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log4ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log4ThisFunc(a) do { Log4(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log4(a); } while (0)
+#endif
+
+/** @def Log5ThisFunc
+ * Level 5 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log5ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log5ThisFunc(a) do { Log5(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log5(a); } while (0)
+#endif
+
+/** @def Log6ThisFunc
+ * Level 6 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log6ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log6ThisFunc(a) do { Log6(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log6(a); } while (0)
+#endif
+
+/** @def Log7ThisFunc
+ * Level 7 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log7ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_7, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log7ThisFunc(a) do { Log7(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log7(a); } while (0)
+#endif
+
+/** @def Log8ThisFunc
+ * Level 8 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log8ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_8, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log8ThisFunc(a) do { Log8(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log8(a); } while (0)
+#endif
+
+/** @def Log9ThisFunc
+ * Level 9 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log9ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_9, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log9ThisFunc(a) do { Log9(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log9(a); } while (0)
+#endif
+
+/** @def Log10ThisFunc
+ * Level 10 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log10ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log10ThisFunc(a) do { Log10(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log10(a); } while (0)
+#endif
+
+/** @def Log11ThisFunc
+ * Level 11 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log11ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log11ThisFunc(a) do { Log11(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log11(a); } while (0)
+#endif
+
+/** @def Log12ThisFunc
+ * Level 12 logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log12ThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log12ThisFunc(a) do { Log12(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); Log12(a); } while (0)
 #endif
 
 /** @def LogFlowThisFunc
- * The same as LogFlowFunc but for class functions (methods): the resulting log
- * line is additionally prepended with a hex value of |this| pointer.
- *
+ * Flow level logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
 # define LogFlowThisFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+    _LogIt(RTLOGGRPFLAGS_FLOW, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogFlowThisFunc(a) \
-    do { LogFlow(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogFlow(a); } while (0)
+# define LogFlowThisFunc(a) do { LogFlow(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogFlow(a); } while (0)
+#endif
+
+/** @def LogWarnThisFunc
+ * Warning level logging inside a C++ non-static method, with object pointer and
+ * method name prefixed to the given message.
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define LogWarnThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_WARN, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogWarnThisFunc(a) do { LogWarn(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogWarn(a); } while (0)
+#endif
+/** @} */
+
+
+/** @name Misc Logging Macros
+ * @{ */
+
+/** @def LogWarning1
+ * The same as Log(), but prepents a <tt>"WARNING! "</tt> string to the message.
+ *
+ * @param   a   Custom log message in format <tt>("string\n" [, args])</tt>.
+ */
+#if defined(LOG_USE_C99)
+# define Log1Warning(a)     _LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "WARNING! %M", _LogRemoveParentheseis a )
+#else
+# define Log1Warning(a)     do { Log(("WARNING! ")); Log(a); } while (0)
+#endif
+
+/** @def LogWarningFunc
+ * The same as LogWarning(), but prepents the log message with the function name.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+ */
+#ifdef LOG_USE_C99
+# define Log1WarningFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": WARNING! %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define Log1WarningFunc(a) \
+    do { Log((LOG_FN_FMT ": WARNING! ", __PRETTY_FUNCTION__)); Log(a); } while (0)
 #endif
 
 /** @def LogWarningThisFunc
@@ -851,13 +1131,14 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogWarningThisFunc(a) \
-    _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": WARNING! %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define Log1WarningThisFunc(a) \
+    _LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": WARNING! %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogWarningThisFunc(a) \
+# define Log1WarningThisFunc(a) \
     do { Log(("{%p} " LOG_FN_FMT ": WARNING! ", this, __PRETTY_FUNCTION__)); Log(a); } while (0)
 #endif
 
+
 /** Shortcut to |LogFlowFunc ("ENTER\n")|, marks the beginnig of the function. */
 #define LogFlowFuncEnter()      LogFlowFunc(("ENTER\n"))
 
@@ -865,7 +1146,7 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
 #define LogFlowFuncLeave()      LogFlowFunc(("LEAVE\n"))
 
 /** Shortcut to |LogFlowFunc ("LEAVE: %Rrc\n")|, marks the end of the function. */
-#define LogFlowFuncLeaveRC(rc)      LogFlowFunc(("LEAVE: %Rrc\n", (rc)))
+#define LogFlowFuncLeaveRC(rc)  LogFlowFunc(("LEAVE: %Rrc\n", (rc)))
 
 /** Shortcut to |LogFlowThisFunc ("ENTER\n")|, marks the beginnig of the function. */
 #define LogFlowThisFuncEnter()  LogFlowThisFunc(("ENTER\n"))
@@ -873,6 +1154,7 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
 /** Shortcut to |LogFlowThisFunc ("LEAVE\n")|, marks the end of the function. */
 #define LogFlowThisFuncLeave()  LogFlowThisFunc(("LEAVE\n"))
 
+
 /** @def LogObjRefCnt
  * Helper macro to print the current reference count of the given COM object
  * to the log file.
@@ -880,63 +1162,19 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  * @param pObj  Pointer to the object in question (must be a pointer to an
  *              IUnknown subclass or simply define COM-style AddRef() and
  *              Release() methods)
- *
- * @note Use it only for temporary debugging. It leaves dummy code even if
- *       logging is disabled.
  */
 #define LogObjRefCnt(pObj) \
     do { \
-        int refc = (pObj)->AddRef(); \
-        LogFlow((#pObj "{%p}.refCnt=%d\n", (pObj), refc - 1)); \
-        (pObj)->Release(); \
+        if (LogIsFlowEnabled()) \
+        { \
+            int cRefsForLog = (pObj)->AddRef(); \
+            LogFlow((#pObj "{%p}.refCnt=%d\n", (pObj), cRefsForLog - 1)); \
+            (pObj)->Release(); \
+        } \
     } while (0)
+/** @} */
 
 
-/** @def LogIsItEnabled
- * Checks whether the specified logging group is enabled or not.
- */
-#ifdef LOG_ENABLED
-# define LogIsItEnabled(a_pvInst, a_fFlags, a_iGroup) \
-    LogIsItEnabledInternal((a_pvInst), (unsigned)(a_iGroup), (unsigned)(a_fFlags))
-#else
-# define LogIsItEnabled(a_pvInst, a_fFlags, a_iGroup) (false)
-#endif
-
-/** @def LogIsEnabled
- * Checks whether level 1 logging is enabled.
- */
-#define LogIsEnabled()      LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP)
-
-/** @def LogIs2Enabled
- * Checks whether level 2 logging is enabled.
- */
-#define LogIs2Enabled()     LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP)
-
-/** @def LogIs3Enabled
- * Checks whether level 3 logging is enabled.
- */
-#define LogIs3Enabled()     LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP)
-
-/** @def LogIs4Enabled
- * Checks whether level 4 logging is enabled.
- */
-#define LogIs4Enabled()     LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP)
-
-/** @def LogIs5Enabled
- * Checks whether level 5 logging is enabled.
- */
-#define LogIs5Enabled()     LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP)
-
-/** @def LogIs6Enabled
- * Checks whether level 6 logging is enabled.
- */
-#define LogIs6Enabled()     LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP)
-
-/** @def LogIsFlowEnabled
- * Checks whether execution flow logging is enabled.
- */
-#define LogIsFlowEnabled()  LogIsItEnabled(LOG_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP)
-
 
 /** @name Passing Function Call Position When Logging.
  *
@@ -1004,10 +1242,91 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
 # define RTLOG_REL_DISABLED
 #endif
 
+/** @name Macros for checking whether a release log level is enabled.
+ * @{ */
+/** @def LogRelIsItEnabled
+ * Checks whether the specified release logging group is enabled or not.
+ */
+#define LogRelIsItEnabled(a_fFlags, a_iGroup) ( RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)) != NULL )
+
+/** @def LogRelIsEnabled
+ * Checks whether level 1 release logging is enabled.
+ */
+#define LogRelIsEnabled()      LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP)
+
+/** @def LogRelIs2Enabled
+ * Checks whether level 2 release logging is enabled.
+ */
+#define LogRelIs2Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP)
+
+/** @def LogRelIs3Enabled
+ * Checks whether level 3 release logging is enabled.
+ */
+#define LogRelIs3Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP)
+
+/** @def LogRelIs4Enabled
+ * Checks whether level 4 release logging is enabled.
+ */
+#define LogRelIs4Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP)
+
+/** @def LogRelIs5Enabled
+ * Checks whether level 5 release logging is enabled.
+ */
+#define LogRelIs5Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP)
+
+/** @def LogRelIs6Enabled
+ * Checks whether level 6 release logging is enabled.
+ */
+#define LogRelIs6Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP)
+
+/** @def LogRelIs7Enabled
+ * Checks whether level 7 release logging is enabled.
+ */
+#define LogRelIs7Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_7, LOG_GROUP)
+
+/** @def LogRelIs8Enabled
+ * Checks whether level 8 release logging is enabled.
+ */
+#define LogRelIs8Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_8, LOG_GROUP)
+
+/** @def LogRelIs2Enabled
+ * Checks whether level 9 release logging is enabled.
+ */
+#define LogRelIs9Enabled()     LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_9, LOG_GROUP)
+
+/** @def LogRelIs10Enabled
+ * Checks whether level 10 release logging is enabled.
+ */
+#define LogRelIs10Enabled()    LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP)
+
+/** @def LogRelIs11Enabled
+ * Checks whether level 10 release logging is enabled.
+ */
+#define LogRelIs11Enabled()    LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP)
+
+/** @def LogRelIs12Enabled
+ * Checks whether level 12 release logging is enabled.
+ */
+#define LogRelIs12Enabled()    LogRelIsItEnabled(RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP)
+
+/** @def LogRelIsFlowEnabled
+ * Checks whether execution flow release logging is enabled.
+ */
+#define LogRelIsFlowEnabled()  LogRelIsItEnabled(RTLOGGRPFLAGS_FLOW, LOG_GROUP)
+
+/** @def LogRelIsWarnEnabled
+ * Checks whether warning level release logging is enabled.
+ */
+#define LogRelIsWarnEnabled()  LogRelIsItEnabled(RTLOGGRPFLAGS_FLOW, LOG_GROUP)
+/** @} */
+
 
 /** @def LogRelIt
  * Write to specific logger if group enabled.
  */
+/** @def LogRelItLikely
+ * Write to specific logger if group enabled, assuming it likely it is enabled.
+ */
 /** @def LogRelMaxIt
  * Write to specific logger if group enabled and at less than a_cMax messages
  * have hit the log.  Uses a static variable to count.
@@ -1015,22 +1334,33 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
 #ifdef RTLOG_REL_ENABLED
 # if defined(LOG_USE_C99)
 #  define _LogRelRemoveParentheseis(...)                    __VA_ARGS__
-#  define _LogRelIt(a_pvInst, a_fFlags, a_iGroup, ...) \
+#  define _LogRelIt(a_fFlags, a_iGroup, ...) \
+    do \
+    { \
+        PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+        if (RT_LIKELY(!LogRelIt_pLogger)) \
+        { /* likely */ } \
+        else \
+            RTLogLoggerEx(LogRelIt_pLogger, a_fFlags, a_iGroup, __VA_ARGS__); \
+        _LogIt(a_fFlags, a_iGroup, __VA_ARGS__); \
+    } while (0)
+#  define LogRelIt(a_fFlags, a_iGroup, fmtargs) \
+    _LogRelIt(a_fFlags, a_iGroup, _LogRelRemoveParentheseis fmtargs)
+#  define _LogRelItLikely(a_fFlags, a_iGroup, ...) \
     do \
     { \
-        PRTLOGGER LogRelIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogRelDefaultInstance(); \
-        if (   LogRelIt_pLogger \
-            && !(LogRelIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+        PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+        if (LogRelIt_pLogger) \
             RTLogLoggerEx(LogRelIt_pLogger, a_fFlags, a_iGroup, __VA_ARGS__); \
-        _LogIt(LOG_INSTANCE, a_fFlags, a_iGroup, __VA_ARGS__); \
+        _LogIt(a_fFlags, a_iGroup, __VA_ARGS__); \
     } while (0)
-#  define LogRelIt(a_pvInst, a_fFlags, a_iGroup, fmtargs)   _LogRelIt(a_pvInst, a_fFlags, a_iGroup, _LogRelRemoveParentheseis fmtargs)
-#  define _LogRelMaxIt(a_cMax, a_pvInst, a_fFlags, a_iGroup, ...) \
+#  define LogRelItLikely(a_fFlags, a_iGroup, fmtargs) \
+    _LogRelItLikely(a_fFlags, a_iGroup, _LogRelRemoveParentheseis fmtargs)
+#  define _LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, ...) \
     do \
     { \
-        PRTLOGGER LogRelIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogRelDefaultInstance(); \
-        if (   LogRelIt_pLogger \
-            && !(LogRelIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+        PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+        if (LogRelIt_pLogger) \
         { \
             static uint32_t s_LogRelMaxIt_cLogged = 0; \
             if (s_LogRelMaxIt_cLogged < (a_cMax)) \
@@ -1039,243 +1369,244 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
                 RTLogLoggerEx(LogRelIt_pLogger, a_fFlags, a_iGroup, __VA_ARGS__); \
             } \
         } \
-        _LogIt(LOG_INSTANCE, a_fFlags, a_iGroup, __VA_ARGS__); \
+        _LogIt(a_fFlags, a_iGroup, __VA_ARGS__); \
     } while (0)
-#  define LogRelMaxIt(a_cMax, a_pvInst, a_fFlags, a_iGroup, fmtargs) \
-    _LogRelMaxIt(a_cMax, a_pvInst, a_fFlags, a_iGroup, _LogRelRemoveParentheseis fmtargs)
+#  define LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, fmtargs) \
+    _LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, _LogRelRemoveParentheseis fmtargs)
 # else
-#  define LogRelIt(a_pvInst, a_fFlags, a_iGroup, fmtargs) \
+#  define LogRelItLikely(a_fFlags, a_iGroup, fmtargs) \
    do \
    { \
-       PRTLOGGER LogRelIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogRelDefaultInstance(); \
-       if (   LogRelIt_pLogger \
-           && !(LogRelIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+       PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+       if (LogRelIt_pLogger) \
        { \
-           unsigned LogIt_fFlags = LogRelIt_pLogger->afGroups[(unsigned)(a_iGroup) < LogRelIt_pLogger->cGroups ? (unsigned)(a_iGroup) : 0]; \
-           if ((LogIt_fFlags & ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) == ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) \
-               LogRelIt_pLogger->pfnLogger fmtargs; \
+           LogRelIt_pLogger->pfnLogger fmtargs; \
+       } \
+       LogIt(a_fFlags, a_iGroup, fmtargs); \
+  } while (0)
+#  define LogRelIt(a_fFlags, a_iGroup, fmtargs) \
+   do \
+   { \
+       PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+       if (RT_LIKELY(!LogRelIt_pLogger)) \
+       { /* likely */ } \
+       else \
+       { \
+           LogRelIt_pLogger->pfnLogger fmtargs; \
        } \
-       LogIt(LOG_INSTANCE, a_fFlags, a_iGroup, fmtargs); \
+       LogIt(a_fFlags, a_iGroup, fmtargs); \
   } while (0)
-#  define LogRelMaxIt(a_cMax, a_pvInst, a_fFlags, a_iGroup, fmtargs) \
+#  define LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, fmtargs) \
    do \
    { \
-       PRTLOGGER LogRelIt_pLogger = (PRTLOGGER)(a_pvInst) ? (PRTLOGGER)(a_pvInst) : RTLogRelDefaultInstance(); \
-       if (   LogRelIt_pLogger \
-           && !(LogRelIt_pLogger->fFlags & RTLOGFLAGS_DISABLED)) \
+       PRTLOGGER LogRelIt_pLogger = RTLogRelGetDefaultInstanceEx(RT_MAKE_U32(a_fFlags, a_iGroup)); \
+       if (LogRelIt_pLogger) \
        { \
-           unsigned LogIt_fFlags = LogRelIt_pLogger->afGroups[(unsigned)(a_iGroup) < LogRelIt_pLogger->cGroups ? (unsigned)(a_iGroup) : 0]; \
-           if ((LogIt_fFlags & ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) == ((a_fFlags) | RTLOGGRPFLAGS_ENABLED)) \
+           static uint32_t s_LogRelMaxIt_cLogged = 0; \
+           if (s_LogRelMaxIt_cLogged < (a_cMax)) \
            { \
-               static uint32_t s_LogRelMaxIt_cLogged = 0; \
-               if (s_LogRelMaxIt_cLogged < (a_cMax)) \
-               { \
-                   s_LogRelMaxIt_cLogged++; \
-                   LogRelIt_pLogger->pfnLogger fmtargs; \
-               } \
+               s_LogRelMaxIt_cLogged++; \
+               LogRelIt_pLogger->pfnLogger fmtargs; \
            } \
        } \
-       LogIt(LOG_INSTANCE, a_fFlags, a_iGroup, fmtargs); \
+       LogIt(a_fFlags, a_iGroup, fmtargs); \
   } while (0)
 # endif
 #else   /* !RTLOG_REL_ENABLED */
-# define LogRelIt(a_pvInst, a_fFlags, a_iGroup, fmtargs)    do { } while (0)
-# define LogRelMaxIt(a_pvInst, a_fFlags, a_iGroup, fmtargs) do { } while (0)
+# define LogRelIt(a_fFlags, a_iGroup, fmtargs)              do { } while (0)
+# define LogRelItLikely(a_fFlags, a_iGroup, fmtargs)        do { } while (0)
+# define LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, fmtargs)   do { } while (0)
 # if defined(LOG_USE_C99)
 #  define _LogRelRemoveParentheseis(...)                    __VA_ARGS__
-#  define _LogRelIt(a_pvInst, a_fFlags, a_iGroup, ...)      do { } while (0)
-#  define _LogRelMaxIt(a_cMax, a_pvInst, a_fFlags, a_iGroup, ...) do { } while (0)
+#  define _LogRelIt(a_fFlags, a_iGroup, ...)                do { } while (0)
+#  define _LogRelItLikely(a_fFlags, a_iGroup, ...)          do { } while (0)
+#  define _LogRelMaxIt(a_cMax, a_fFlags, a_iGroup, ...)     do { } while (0)
 # endif
 #endif  /* !RTLOG_REL_ENABLED */
 
 
+/** @name Basic release logging macros
+ * @{ */
 /** @def LogRel
- * Level 1 logging.
+ * Level 1 release logging.
  */
-#define LogRel(a)          LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
+#define LogRel(a)           LogRelItLikely(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
 
 /** @def LogRel2
- * Level 2 logging.
+ * Level 2 release logging.
  */
-#define LogRel2(a)         LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
+#define LogRel2(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
 
 /** @def LogRel3
- * Level 3 logging.
+ * Level 3 release logging.
  */
-#define LogRel3(a)         LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
+#define LogRel3(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
 
 /** @def LogRel4
- * Level 4 logging.
+ * Level 4 release logging.
  */
-#define LogRel4(a)         LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
+#define LogRel4(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
 
 /** @def LogRel5
- * Level 5 logging.
+ * Level 5 release logging.
  */
-#define LogRel5(a)         LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
+#define LogRel5(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
 
 /** @def LogRel6
- * Level 6 logging.
+ * Level 6 release logging.
  */
-#define LogRel6(a)         LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
+#define LogRel6(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
 
-/** @def LogRelFlow
- * Logging of execution flow.
+/** @def LogRel7
+ * Level 7 release logging.
  */
-#define LogRelFlow(a)      LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_FLOW,     LOG_GROUP, a)
+#define LogRel7(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_7,  LOG_GROUP, a)
 
-/** @def LogRelFunc
- * Release logging.  Prepends the given log message with the function name
- * followed by a semicolon and space.
+/** @def LogRel8
+ * Level 8 release logging.
  */
-#ifdef LOG_USE_C99
-# define LogRelFunc(a) \
-    _LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", RT_GCC_EXTENSION __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
-# define LogFunc(a) \
-           _LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
-#else
-# define LogRelFunc(a) \
-    do { LogRel((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRel(a); } while (0)
-#endif
+#define LogRel8(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_8,  LOG_GROUP, a)
 
-/** @def LogRelThisFunc
- * The same as LogRelFunc but for class functions (methods): the resulting log
- * line is additionally prepended with a hex value of |this| pointer.
+/** @def LogRel9
+ * Level 9 release logging.
  */
-#ifdef LOG_USE_C99
-# define LogRelThisFunc(a) \
-    _LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
-#else
-# define LogRelThisFunc(a) \
-    do { LogRel(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogRel(a); } while (0)
-#endif
+#define LogRel9(a)          LogRelIt(RTLOGGRPFLAGS_LEVEL_9,  LOG_GROUP, a)
 
-/** @def LogRelFlowFunc
- * Release logging.  Macro to log the execution flow inside C/C++ functions.
- *
- * Prepends the given log message with the function name followed by
- * a semicolon and space.
- *
- * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
+/** @def LogRel10
+ * Level 10 release logging.
  */
-#ifdef LOG_USE_C99
-# define LogRelFlowFunc(a) \
-    _LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
-#else
-# define LogRelFlowFunc(a) \
-    do { LogRelFlow((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRelFlow(a); } while (0)
-#endif
+#define LogRel10(a)         LogRelIt(RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP, a)
 
-/** @def LogRelLelik
- *  lelik logging.
+/** @def LogRel11
+ * Level 11 release logging.
  */
-#define LogRelLelik(a)     LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LELIK,    LOG_GROUP, a)
+#define LogRel11(a)         LogRelIt(RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP, a)
 
-/** @def LogRelMichael
- * michael logging.
+/** @def LogRel12
+ * Level 12 release logging.
  */
-#define LogRelMichael(a)   LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_MICHAEL,  LOG_GROUP, a)
+#define LogRel12(a)         LogRelIt(RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP, a)
 
-/** @def LogRelSunlover
- * sunlover logging.
+/** @def LogRelFlow
+ * Logging of execution flow.
  */
-#define LogRelSunlover(a)  LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_SUNLOVER, LOG_GROUP, a)
+#define LogRelFlow(a)       LogRelIt(RTLOGGRPFLAGS_FLOW,     LOG_GROUP, a)
 
-/** @def LogRelAchim
- * Achim logging.
+/** @def LogRelWarn
+ * Warning level release logging.
  */
-#define LogRelAchim(a)     LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_ACHIM,    LOG_GROUP, a)
+#define LogRelWarn(a)       LogRelIt(RTLOGGRPFLAGS_WARN,     LOG_GROUP, a)
+/** @} */
+
+
 
-/** @def LogRelSander
- * Sander logging.
+/** @name Basic release logging macros with local max
+ * @{ */
+/** @def LogRelMax
+ * Level 1 release logging with a max number of log entries.
  */
-#define LogRelSander(a)    LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_SANDER,   LOG_GROUP, a)
+#define LogRelMax(a_cMax, a)        LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
 
-/** @def LogRelKlaus
- *  klaus logging.
+/** @def LogRelMax2
+ * Level 2 release logging with a max number of log entries.
  */
-#define LogRelKlaus(a)     LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_KLAUS,    LOG_GROUP, a)
+#define LogRelMax2(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
 
-/** @def LogRelFrank
- *  frank logging.
+/** @def LogRelMax3
+ * Level 3 release logging with a max number of log entries.
  */
-#define LogRelFrank(a)     LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_FRANK,    LOG_GROUP, a)
+#define LogRelMax3(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
 
-/** @def LogRelBird
- * bird logging.
+/** @def LogRelMax4
+ * Level 4 release logging with a max number of log entries.
  */
-#define LogRelBird(a)      LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_BIRD,     LOG_GROUP, a)
+#define LogRelMax4(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
 
-/** @def LogRelNoName
- * NoName logging.
+/** @def LogRelMax5
+ * Level 5 release logging with a max number of log entries.
  */
-#define LogRelNoName(a)    LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_NONAME,   LOG_GROUP, a)
+#define LogRelMax5(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
 
+/** @def LogRelMax6
+ * Level 6 release logging with a max number of log entries.
+ */
+#define LogRelMax6(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
 
-/** @def LogRelMax
- * Level 1 logging.
+/** @def LogRelMax7
+ * Level 7 release logging with a max number of log entries.
  */
-#define LogRelMax(a_cMax, a)        LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, a)
+#define LogRelMax7(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_7,  LOG_GROUP, a)
 
-/** @def LogRelMax2
- * Level 2 logging.
+/** @def LogRelMax8
+ * Level 8 release logging with a max number of log entries.
  */
-#define LogRelMax2(a_cMax, a)       LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_2,  LOG_GROUP, a)
+#define LogRelMax8(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_8,  LOG_GROUP, a)
 
-/** @def LogRelMax3
- * Level 3 logging.
+/** @def LogRelMax9
+ * Level 9 release logging with a max number of log entries.
  */
-#define LogRelMax3(a_cMax, a)       LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_3,  LOG_GROUP, a)
+#define LogRelMax9(a_cMax, a)       LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_9,  LOG_GROUP, a)
 
-/** @def LogRelMax4
- * Level 4 logging.
+/** @def LogRelMax10
+ * Level 10 release logging with a max number of log entries.
  */
-#define LogRelMax4(a_cMax, a)       LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_4,  LOG_GROUP, a)
+#define LogRelMax10(a_cMax, a)      LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_10, LOG_GROUP, a)
 
-/** @def LogRelMax5
- * Level 5 logging.
+/** @def LogRelMax11
+ * Level 11 release logging with a max number of log entries.
  */
-#define LogRelMax5(a_cMax, a)       LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_5,  LOG_GROUP, a)
+#define LogRelMax11(a_cMax, a)      LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_11, LOG_GROUP, a)
 
-/** @def LogRelMax6
- * Level 6 logging.
+/** @def LogRelMax12
+ * Level 12 release logging with a max number of log entries.
  */
-#define LogRelMax6(a_cMax, a)       LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_6,  LOG_GROUP, a)
+#define LogRelMax12(a_cMax, a)      LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_12, LOG_GROUP, a)
 
 /** @def LogRelFlow
- * Logging of execution flow.
+ * Logging of execution flow with a max number of log entries.
  */
-#define LogRelMaxFlow(a_cMax, a)    LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_FLOW,     LOG_GROUP, a)
+#define LogRelMaxFlow(a_cMax, a)    LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_FLOW,     LOG_GROUP, a)
+/** @} */
 
-/** @def LogRelMaxFunc
+
+/** @name Release logging macros prefixing the current function name.
+ * @{ */
+
+/** @def LogRelFunc
  * Release logging.  Prepends the given log message with the function name
  * followed by a semicolon and space.
  */
 #ifdef LOG_USE_C99
-# define LogRelMaxFunc(a_cMax, a) \
-    _LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", \
-                 __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
-# define LogFuncMax(a_cMax, a) \
-    _LogItMax(a_cMax, LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", \
-              __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define LogRelFunc(a) \
+    _LogRelItLikely(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", RT_GCC_EXTENSION __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogRelMaxFunc(a_cMax, a) \
-    do { LogRelMax(a_cMax, (LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRelMax(a_cMax, a); } while (0)
+# define LogRelFunc(a)      do { LogRel((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRel(a); } while (0)
 #endif
 
-/** @def LogRelMaxThisFunc
- * The same as LogRelFunc but for class functions (methods): the resulting log
- * line is additionally prepended with a hex value of |this| pointer.
- * @param   a_cMax  Max number of times this should hit the log.
- * @param   a       Log message in format <tt>("string\n" [, args])</tt>.
+/** @def LogRelFlowFunc
+ * Release logging.  Macro to log the execution flow inside C/C++ functions.
+ *
+ * Prepends the given log message with the function name followed by
+ * a semicolon and space.
+ *
+ * @param   a   Log message in format <tt>("string\n" [, args])</tt>.
  */
 #ifdef LOG_USE_C99
-# define LogRelMaxThisFunc(a_cMax, a) \
-    _LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", \
-                 this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+# define LogRelFlowFunc(a)  _LogRelIt(RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
-# define LogRelMaxThisFunc(a_cMax, a) \
-    do { LogRelMax(a_cMax, ("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogRelMax(a_cMax, a); } while (0)
+# define LogRelFlowFunc(a)  do { LogRelFlow((LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRelFlow(a); } while (0)
+#endif
+
+/** @def LogRelMaxFunc
+ * Release logging.  Prepends the given log message with the function name
+ * followed by a semicolon and space.
+ */
+#ifdef LOG_USE_C99
+# define LogRelMaxFunc(a_cMax, a) \
+    _LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogRelMaxFunc(a_cMax, a) \
+    do { LogRelMax(a_cMax, (LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRelMax(a_cMax, a); } while (0)
 #endif
 
 /** @def LogRelMaxFlowFunc
@@ -1289,54 +1620,45 @@ RTDECL(void) RTLogPrintfEx(void *pvInstance, unsigned fFlags, unsigned iGroup, c
  */
 #ifdef LOG_USE_C99
 # define LogRelMaxFlowFunc(a_cMax, a) \
-    _LogRelMaxIt(a_cMax, LOG_REL_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", \
-                 __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+    _LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_FLOW, LOG_GROUP, LOG_FN_FMT ": %M", __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
 #else
 # define LogRelMaxFlowFunc(a_cMax, a) \
     do { LogRelMaxFlow(a_cMax, (LOG_FN_FMT ": ", __PRETTY_FUNCTION__)); LogRelFlow(a_cMax, a); } while (0)
 #endif
 
+/** @} */
 
-/** @def LogRelIsItEnabled
- * Checks whether the specified logging group is enabled or not.
- */
-#define LogRelIsItEnabled(a_pvInst, a_fFlags, a_iGroup) \
-    LogRelIsItEnabledInternal((a_pvInst), (unsigned)(a_iGroup), (unsigned)(a_fFlags))
-
-/** @def LogRelIsEnabled
- * Checks whether level 1 logging is enabled.
- */
-#define LogRelIsEnabled()      LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP)
-
-/** @def LogRelIs2Enabled
- * Checks whether level 2 logging is enabled.
- */
-#define LogRelIs2Enabled()     LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP)
-
-/** @def LogRelIs3Enabled
- * Checks whether level 3 logging is enabled.
- */
-#define LogRelIs3Enabled()     LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_3, LOG_GROUP)
 
-/** @def LogRelIs4Enabled
- * Checks whether level 4 logging is enabled.
- */
-#define LogRelIs4Enabled()     LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_4, LOG_GROUP)
+/** @name Release Logging macros prefixing the this pointer value and method name.
+ * @{ */
 
-/** @def LogRelIs5Enabled
- * Checks whether level 5 logging is enabled.
+/** @def LogRelThisFunc
+ * The same as LogRelFunc but for class functions (methods): the resulting log
+ * line is additionally prepended with a hex value of |this| pointer.
  */
-#define LogRelIs5Enabled()     LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP)
+#ifdef LOG_USE_C99
+# define LogRelThisFunc(a) \
+    _LogRelItLikely(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogRelThisFunc(a) \
+    do { LogRel(("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogRel(a); } while (0)
+#endif
 
-/** @def LogRelIs6Enabled
- * Checks whether level 6 logging is enabled.
+/** @def LogRelMaxThisFunc
+ * The same as LogRelFunc but for class functions (methods): the resulting log
+ * line is additionally prepended with a hex value of |this| pointer.
+ * @param   a_cMax  Max number of times this should hit the log.
+ * @param   a       Log message in format <tt>("string\n" [, args])</tt>.
  */
-#define LogRelIs6Enabled()     LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_6, LOG_GROUP)
+#ifdef LOG_USE_C99
+# define LogRelMaxThisFunc(a_cMax, a) \
+    _LogRelMaxIt(a_cMax, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, "{%p} " LOG_FN_FMT ": %M", this, __PRETTY_FUNCTION__, _LogRemoveParentheseis a )
+#else
+# define LogRelMaxThisFunc(a_cMax, a) \
+    do { LogRelMax(a_cMax, ("{%p} " LOG_FN_FMT ": ", this, __PRETTY_FUNCTION__)); LogRelMax(a_cMax, a); } while (0)
+#endif
 
-/** @def LogRelIsFlowEnabled
- * Checks whether execution flow logging is enabled.
- */
-#define LogRelIsFlowEnabled()  LogRelIsItEnabled(LOG_REL_INSTANCE, RTLOGGRPFLAGS_FLOW, LOG_GROUP)
+/** @} */
 
 
 #ifndef IN_RC
@@ -1352,26 +1674,18 @@ RTDECL(PRTLOGGER) RTLogRelSetDefaultInstance(PRTLOGGER pLogger);
 /**
  * Gets the default release logger instance.
  *
- * @returns Pointer to default release logger instance.
- * @returns NULL if no default release logger instance available.
+ * @returns Pointer to default release logger instance if availble, otherwise NULL.
  */
-RTDECL(PRTLOGGER) RTLogRelDefaultInstance(void);
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstance(void);
 
-/** Internal worker function.
- * Don't call directly, use the LogRelIsItEnabled macro!
+/**
+ * Gets the default release logger instance.
+ *
+ * @returns Pointer to default release logger instance if availble, otherwise NULL.
+ * @param   fFlagsAndGroup  The flags in the lower 16 bits, the group number in
+ *                          the high 16 bits.
  */
-DECLINLINE(bool) LogRelIsItEnabledInternal(void *pvInst, unsigned iGroup, unsigned fFlags)
-{
-    register PRTLOGGER pLogger = (PRTLOGGER)pvInst ? (PRTLOGGER)pvInst : RTLogRelDefaultInstance();
-    if (   pLogger
-        && !(pLogger->fFlags & RTLOGFLAGS_DISABLED))
-    {
-        register unsigned fGrpFlags = pLogger->afGroups[(unsigned)iGroup < pLogger->cGroups ? (unsigned)iGroup : 0];
-        if ((fGrpFlags & (fFlags | RTLOGGRPFLAGS_ENABLED)) == (fFlags | RTLOGGRPFLAGS_ENABLED))
-            return true;
-    }
-    return false;
-}
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstanceEx(uint32_t fFlagsAndGroup);
 
 /**
  * Write to a logger instance, defaulting to the release one.
@@ -1538,7 +1852,7 @@ RTDECL(bool) RTLogRelSetBuffering(bool fBuffered);
 # define LogRel(a)      LogRelBackdoor(a)
 # if defined(LOG_USE_C99)
 #  undef _LogIt
-#  define _LogIt(a_pvInst, a_fFlags, a_iGroup, ...)  LogBackdoor((__VA_ARGS__))
+#  define _LogIt(a_fFlags, a_iGroup, ...)  LogBackdoor((__VA_ARGS__))
 # endif
 #endif
 
@@ -1549,19 +1863,37 @@ RTDECL(bool) RTLogRelSetBuffering(bool fBuffered);
 /**
  * Gets the default logger instance, creating it if necessary.
  *
- * @returns Pointer to default logger instance.
- * @returns NULL if no default logger instance available.
+ * @returns Pointer to default logger instance if availble, otherwise NULL.
  */
 RTDECL(PRTLOGGER)   RTLogDefaultInstance(void);
 
 /**
+ * Gets the logger instance if enabled, creating it if necessary.
+ *
+ * @returns Pointer to default logger instance, if group has the specified
+ *          flags enabled.  Otherwise NULL is returned.
+ * @param   fFlagsAndGroup  The flags in the lower 16 bits, the group number in
+ *                          the high 16 bits.
+ */
+RTDECL(PRTLOGGER)   RTLogDefaultInstanceEx(uint32_t fFlagsAndGroup);
+
+/**
  * Gets the default logger instance.
  *
- * @returns Pointer to default logger instance.
- * @returns NULL if no default logger instance available.
+ * @returns Pointer to default logger instance if availble, otherwise NULL.
  */
 RTDECL(PRTLOGGER)   RTLogGetDefaultInstance(void);
 
+/**
+ * Gets the default logger instance if enabled.
+ *
+ * @returns Pointer to default logger instance, if group has the specified
+ *          flags enabled.  Otherwise NULL is returned.
+ * @param   fFlagsAndGroup  The flags in the lower 16 bits, the group number in
+ *                          the high 16 bits.
+ */
+RTDECL(PRTLOGGER)   RTLogGetDefaultInstanceEx(uint32_t fFlagsAndGroup);
+
 #ifndef IN_RC
 /**
  * Sets the default logger instance.
@@ -1569,7 +1901,7 @@ RTDECL(PRTLOGGER)   RTLogGetDefaultInstance(void);
  * @returns The old default instance.
  * @param   pLogger     The new default logger instance.
  */
-RTDECL(PRTLOGGER) RTLogSetDefaultInstance(PRTLOGGER pLogger);
+RTDECL(PRTLOGGER)   RTLogSetDefaultInstance(PRTLOGGER pLogger);
 #endif /* !IN_RC */
 
 #ifdef IN_RING0
@@ -1583,29 +1915,10 @@ RTDECL(PRTLOGGER) RTLogSetDefaultInstance(PRTLOGGER pLogger);
  *                      order to only deregister the instance associated with the
  *                      current thread use 0.
  */
-RTDECL(int) RTLogSetDefaultInstanceThread(PRTLOGGER pLogger, uintptr_t uKey);
+RTDECL(int)         RTLogSetDefaultInstanceThread(PRTLOGGER pLogger, uintptr_t uKey);
 #endif /* IN_RING0 */
 
 
-#ifdef LOG_ENABLED
-/** Internal worker function.
- * Don't call directly, use the LogIsItEnabled macro!
- */
-DECLINLINE(bool) LogIsItEnabledInternal(void *pvInst, unsigned iGroup, unsigned fFlags)
-{
-    register PRTLOGGER pLogger = (PRTLOGGER)pvInst ? (PRTLOGGER)pvInst : RTLogDefaultInstance();
-    if (   pLogger
-        && !(pLogger->fFlags & RTLOGFLAGS_DISABLED))
-    {
-        register unsigned fGrpFlags = pLogger->afGroups[(unsigned)iGroup < pLogger->cGroups ? (unsigned)iGroup : 0];
-        if ((fGrpFlags & (fFlags | RTLOGGRPFLAGS_ENABLED)) == (fFlags | RTLOGGRPFLAGS_ENABLED))
-            return true;
-    }
-    return false;
-}
-#endif
-
-
 #ifndef IN_RC
 /**
  * Creates the default logger instance for a iprt users.
diff --git a/include/iprt/mangling.h b/include/iprt/mangling.h
index 1b81a35..d76d4a5 100644
--- a/include/iprt/mangling.h
+++ b/include/iprt/mangling.h
@@ -803,6 +803,7 @@
 # define RTLogCreateForR0                               RT_MANGLER(RTLogCreateForR0)
 # define RTLogDefaultInit                               RT_MANGLER(RTLogDefaultInit)
 # define RTLogDefaultInstance                           RT_MANGLER(RTLogDefaultInstance)
+# define RTLogDefaultInstanceEx                         RT_MANGLER(RTLogDefaultInstanceEx)
 # define RTLogDestinations                              RT_MANGLER(RTLogDestinations)
 # define RTLogDestroy                                   RT_MANGLER(RTLogDestroy)
 # define RTLogFlags                                     RT_MANGLER(RTLogFlags)
@@ -812,6 +813,7 @@
 # define RTLogFlushToLogger                             RT_MANGLER(RTLogFlushToLogger)
 # define RTLogFormatV                                   RT_MANGLER(RTLogFormatV)
 # define RTLogGetDefaultInstance                        RT_MANGLER(RTLogGetDefaultInstance)
+# define RTLogGetDefaultInstanceEx                      RT_MANGLER(RTLogGetDefaultInstanceEx)
 # define RTLogGetDestinations                           RT_MANGLER(RTLogGetDestinations)
 # define RTLogGetFlags                                  RT_MANGLER(RTLogGetFlags)
 # define RTLogGetGroupSettings                          RT_MANGLER(RTLogGetGroupSettings)
@@ -823,7 +825,8 @@
 # define RTLogPrintf                                    RT_MANGLER(RTLogPrintf)
 # define RTLogPrintfV                                   RT_MANGLER(RTLogPrintfV)
 # define RTLogDumpPrintfV                               RT_MANGLER(RTLogDumpPrintfV)
-# define RTLogRelDefaultInstance                        RT_MANGLER(RTLogRelDefaultInstance)
+# define RTLogRelGetDefaultInstance                     RT_MANGLER(RTLogRelGetDefaultInstance)
+# define RTLogRelGetDefaultInstanceEx                   RT_MANGLER(RTLogRelGetDefaultInstanceEx)
 # define RTLogRelLogger                                 RT_MANGLER(RTLogRelLogger)
 # define RTLogRelLoggerV                                RT_MANGLER(RTLogRelLoggerV)
 # define RTLogRelPrintf                                 RT_MANGLER(RTLogRelPrintf)
diff --git a/include/iprt/mem.h b/include/iprt/mem.h
index 9b86806..21dcfe9 100644
--- a/include/iprt/mem.h
+++ b/include/iprt/mem.h
@@ -751,9 +751,9 @@ RTDECL(void *) RTMemEfDupEx(const void *pvSrc, size_t cbSrc, size_t cbExtra, con
         void *operator new(size_t cb) RT_THROW(std::bad_alloc) \
         { \
             void *pv = RTMemEfAlloc(cb, RTMEM_TAG, RT_SRC_POS); \
-            if (RT_UNLIKELY(!pv)) \
-                throw std::bad_alloc(); \
-            return pv; \
+            if (RT_LIKELY(pv)) \
+                return pv; \
+            throw std::bad_alloc(); \
         } \
         void *operator new(size_t cb, const std::nothrow_t &nothrow_constant) RT_NO_THROW \
         { \
@@ -763,9 +763,9 @@ RTDECL(void *) RTMemEfDupEx(const void *pvSrc, size_t cbSrc, size_t cbExtra, con
         void *operator new[](size_t cb) RT_THROW(std::bad_alloc) \
         { \
             void *pv = RTMemEfAlloc(cb, RTMEM_TAG, RT_SRC_POS); \
-            if (RT_UNLIKELY(!pv)) \
-                throw std::bad_alloc(); \
-            return pv; \
+            if (RT_LIKELY(pv)) \
+                return pv; \
+            throw std::bad_alloc(); \
         } \
         void *operator new[](size_t cb, const std::nothrow_t &nothrow_constant) RT_NO_THROW \
         { \
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku-stubs.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku-stubs.c
index e802e02..4f48aa8 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku-stubs.c
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku-stubs.c
@@ -330,9 +330,17 @@ RTDECL(PRTLOGGER) RTLogDefaultInstance(void)
 {
     return g_VBoxGuest->_RTLogDefaultInstance();
 }
-RTDECL(PRTLOGGER) RTLogRelDefaultInstance(void)
+RTDECL(PRTLOGGER) RTLogDefaultInstanceEx(uint32_t fFlagsAndGroup)
 {
-    return g_VBoxGuest->_RTLogRelDefaultInstance();
+    return g_VBoxGuest->_RTLogDefaultInstanceEx(fFlagsAndGroup);
+}
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstance(void)
+{
+    return g_VBoxGuest->_RTLogRelGetDefaultInstance();
+}
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstance(uint32_t fFlags, uint32_t iGroup)
+{
+    return g_VBoxGuest->_RTLogRelGetDefaultInstanceEx(fFlags, iGroup);
 }
 RTDECL(int) RTErrConvertToErrno(int iErr)
 {
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c
index 6cd995a..1a00949 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c
@@ -176,7 +176,9 @@ static struct vboxguest_module_info g_VBoxGuest =
     RTMemTmpAllocTag,
     RTMemTmpFree,
     RTLogDefaultInstance,
-    RTLogRelDefaultInstance,
+    RTLogDefaultInstanceEx,
+    RTLogRelGetDefaultInstance,
+    RTLogRelGetDefaultInstanceEx,
     RTErrConvertToErrno,
     VbgdCommonIoCtl,
     VbgdCommonCreateUserSession,
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.h b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.h
index 4a243d2..3d866bf 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.h
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.h
@@ -179,7 +179,9 @@ struct vboxguest_module_info
     void* (*_RTMemTmpAllocTag)(size_t cb, const char *pszTag);
     void (*_RTMemTmpFree)(void *pv);
     PRTLOGGER(*_RTLogDefaultInstance)(void);
-    PRTLOGGER(*_RTLogRelDefaultInstance)(void);
+    PRTLOGGER(*_RTLogDefaultInstanceEx)(uint32_t fFlagsAndGroup);
+    PRTLOGGER(*_RTLogRelGetDefaultInstance)(void);
+    PRTLOGGER(*_RTLogRelGetDefaultInstanceEx)(uint32_t fFlagsAndGroup);
     int (*_RTErrConvertToErrno)(int iErr);
     int (*_VbgdCommonIoCtl)(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,
                                  void *pvData, size_t cbData, size_t *pcbDataReturned);
diff --git a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
index e39676c..0383d06 100644
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
@@ -1,4 +1,4 @@
-/* $Rev: 98753 $ */
+/* $Rev: 100489 $ */
 /** @file
  * VBoxGuest - Linux specifics.
  *
@@ -956,7 +956,7 @@ static int vboxguestLinuxParamLogGrpSet(const char *pszValue, struct kernel_para
 {
     if (g_fLoggerCreated)
     {
-        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
         if (pLogger)
             RTLogGroupSettings(pLogger, pszValue);
     }
@@ -969,7 +969,7 @@ static int vboxguestLinuxParamLogGrpSet(const char *pszValue, struct kernel_para
 /** log and dbg_log parameter getter. */
 static int vboxguestLinuxParamLogGrpGet(char *pszBuf, struct kernel_param *pParam)
 {
-    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
     *pszBuf = '\0';
     if (pLogger)
         RTLogGetGroupSettings(pLogger, pszBuf, _4K);
@@ -982,7 +982,7 @@ static int vboxguestLinuxParamLogFlagsSet(const char *pszValue, struct kernel_pa
 {
     if (g_fLoggerCreated)
     {
-        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
         if (pLogger)
             RTLogFlags(pLogger, pszValue);
     }
@@ -994,7 +994,7 @@ static int vboxguestLinuxParamLogFlagsSet(const char *pszValue, struct kernel_pa
 /** log and dbg_log_flags parameter getter. */
 static int vboxguestLinuxParamLogFlagsGet(char *pszBuf, struct kernel_param *pParam)
 {
-    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
     *pszBuf = '\0';
     if (pLogger)
         RTLogGetFlags(pLogger, pszBuf, _4K);
@@ -1007,7 +1007,7 @@ static int vboxguestLinuxParamLogDstSet(const char *pszValue, struct kernel_para
 {
     if (g_fLoggerCreated)
     {
-        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+        PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
         if (pLogger)
             RTLogDestinations(pLogger, pszValue);
     }
@@ -1019,7 +1019,7 @@ static int vboxguestLinuxParamLogDstSet(const char *pszValue, struct kernel_para
 /** log and dbg_log_dest parameter getter. */
 static int vboxguestLinuxParamLogDstGet(char *pszBuf, struct kernel_param *pParam)
 {
-    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelDefaultInstance();
+    PRTLOGGER pLogger = pParam->name[0] == 'd' ? RTLogDefaultInstance() : RTLogRelGetDefaultInstance();
     *pszBuf = '\0';
     if (pLogger)
         RTLogGetDestinations(pLogger, pszBuf, _4K);
diff --git a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibRuntimeXF86.cpp b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibRuntimeXF86.cpp
index 7736958..bbe05de 100644
--- a/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibRuntimeXF86.cpp
+++ b/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibRuntimeXF86.cpp
@@ -64,8 +64,20 @@ RTDECL(bool)    RTAssertShouldPanic(void)
     return false;
 }
 
-RTDECL(PRTLOGGER) RTLogRelDefaultInstance(void)
+RTDECL(PRTLOGGER) RTLogDefaultInstanceEx(uint32_t fFlagsAndGroup)
 {
+    NOREF(fFlagsAndGroup);
+    return NULL;
+}
+
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstance(void)
+{
+    return NULL;
+}
+
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstanceEx(uint32_t fFlagsAndGroup)
+{
+    NOREF(fFlagsAndGroup);
     return NULL;
 }
 
diff --git a/src/VBox/Additions/common/crOpenGL/Makefile.kmk b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
index d1b2264..2359eb0 100644
--- a/src/VBox/Additions/common/crOpenGL/Makefile.kmk
+++ b/src/VBox/Additions/common/crOpenGL/Makefile.kmk
@@ -580,6 +580,10 @@ VBoxOGLpackspu_LIBS        = \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLspuload$(VBOX_SUFF_LIB) \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLcrstate$(VBOX_SUFF_LIB) \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker$(VBOX_SUFF_LIB)
+VBoxOGLpackspu_LIBS.win += \
+	$(PATH_STAGE_LIB)/additions/VBoxDispMpLogger$(VBOX_SUFF_LIB) \
+	$(PATH_STAGE_LIB)/additions/VBoxCrHgsmi$(VBOX_SUFF_LIB)
+
 ifdef VBOX_WITH_CRHGSMI
 VBoxOGLpackspu_DEFS.win   += VBOX_WITH_CRHGSMI
 endif
@@ -603,6 +607,9 @@ VBoxOGLpackspu-x86_LIBS = $(VBOX_LIB_OGL_CRUTIL_X86) \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLspuload-x86$(VBOX_SUFF_LIB) \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLcrstate-x86$(VBOX_SUFF_LIB) \
 	$(PATH_STAGE_LIB)/additions/VBoxOGLcrpacker-x86$(VBOX_SUFF_LIB)
+VBoxOGLpackspu-x86_LIBS.win += \
+	$(PATH_STAGE_LIB)/additions/VBoxDispMpLogger-x86$(VBOX_SUFF_LIB) \
+	$(PATH_STAGE_LIB)/additions/VBoxCrHgsmi-x86$(VBOX_SUFF_LIB)
 VBoxOGLpackspu-x86_DEFS = $(VBoxOGLpackspu_DEFS) VBOX_WDDM_WOW64
 endif
 
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu.h b/src/VBox/Additions/common/crOpenGL/pack/packspu.h
index f5c95bf..d65cbf5 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu.h
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu.h
@@ -94,7 +94,7 @@ typedef struct {
     int idxThreadInUse; /*index of any used thread*/
 
 #if defined(WINDOWS) && defined(VBOX_WITH_WDDM)
-    bool bRunningUnderWDDM;
+    bool bIsWDDMCrHgsmi;
 #endif
 
     SPUDispatchTable self;
@@ -146,7 +146,7 @@ extern CRtsd _PackTSD;
     } while (0)
 
 #if defined(WINDOWS) && defined(VBOX_WITH_WDDM) && defined(VBOX_WITH_CRHGSMI) && defined(IN_GUEST)
-# define CRPACKSPU_IS_WDDM_CRHGSMI() (pack_spu.bRunningUnderWDDM)
+# define CRPACKSPU_IS_WDDM_CRHGSMI() (pack_spu.bIsWDDMCrHgsmi)
 #else
 # define CRPACKSPU_IS_WDDM_CRHGSMI() (GL_FALSE)
 #endif
diff --git a/src/VBox/Additions/common/crOpenGL/pack/packspu_init.c b/src/VBox/Additions/common/crOpenGL/pack/packspu_init.c
index 158157a..279b78a 100644
--- a/src/VBox/Additions/common/crOpenGL/pack/packspu_init.c
+++ b/src/VBox/Additions/common/crOpenGL/pack/packspu_init.c
@@ -26,6 +26,26 @@ CRtsd _PackTSD;
 CRmutex _PackMutex;
 #endif
 
+#if defined(VBOX_WITH_CRHGSMI) && defined(IN_GUEST)
+# include <VBox/VBoxCrHgsmi.h>
+# include <VBox/VBoxUhgsmi.h>
+#endif
+
+#if defined(RT_OS_WINDOWS) && defined(VBOX_WITH_WDDM)
+static bool isVBoxWDDMCrHgsmi(void)
+{
+#if defined(VBOX_WITH_CRHGSMI) && defined(IN_GUEST)
+    PVBOXUHGSMI pHgsmi = VBoxCrHgsmiCreate();
+    if (pHgsmi)
+    {
+        VBoxCrHgsmiDestroy(pHgsmi);
+        return true;
+    }
+#endif
+    return false;
+}
+#endif /* RT_OS_WINDOWS && VBOX_WITH_WDDM */
+
 static SPUFunctions *
 packSPUInit( int id, SPU *child, SPU *self,
                          unsigned int context_id,
@@ -52,7 +72,7 @@ packSPUInit( int id, SPU *child, SPU *self,
     packspuSetVBoxConfiguration( child );
 
 #if defined(WINDOWS) && defined(VBOX_WITH_WDDM)
-    pack_spu.bRunningUnderWDDM = !!GetModuleHandle(VBOX_MODNAME_DISPD3D);
+    pack_spu.bIsWDDMCrHgsmi = isVBoxWDDMCrHgsmi();
 #endif
 
 #ifdef VBOX_WITH_CRPACKSPU_DUMPER
diff --git a/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c b/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
index 43d53d2..737e522 100644
--- a/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
+++ b/src/VBox/Additions/solaris/DRM/vboxvideo_drm.c
@@ -28,9 +28,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #undef offsetof     /* This gets redefined in drmP.h */
 #include "include/drmP.h"
 #include "include/drm.h"
diff --git a/src/VBox/Additions/solaris/Installer/postinstall.sh b/src/VBox/Additions/solaris/Installer/postinstall.sh
index 553b446..4aa22d1 100755
--- a/src/VBox/Additions/solaris/Installer/postinstall.sh
+++ b/src/VBox/Additions/solaris/Installer/postinstall.sh
@@ -93,7 +93,7 @@ fi
 if test "$currentzone" = "global"; then
     # vboxguest.sh would've been installed, we just need to call it.
     echo "Configuring VirtualBox guest kernel module..."
-    # stop all previous moduels (vboxguest, vboxfs) and start only starts vboxguest
+    # stop all previous modules (vboxguest, vboxfs) and start only starts vboxguest
     $vboxadditions_path/vboxguest.sh stopall silentunload
     $vboxadditions_path/vboxguest.sh start
 
diff --git a/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c b/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
index 04863b0..61aaab0 100644
--- a/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/Virtio-solaris.c
@@ -27,9 +27,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include "Virtio-solaris.h"
 
 #include <iprt/assert.h>
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
index 4511b49..af949d4 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioNet-solaris.c
@@ -27,9 +27,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include "Virtio-solaris.h"
 #include "VirtioPci-solaris.h"
 
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
index 7eab19e..cf6ba42 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioPci-solaris.c
@@ -27,9 +27,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include "VirtioPci-solaris.h"
 
 #include <iprt/asm.h>
diff --git a/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c b/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
index 51d9f6a..409ce17 100644
--- a/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
+++ b/src/VBox/Additions/solaris/Virtio/VirtioRing-solaris.c
@@ -27,9 +27,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include "Virtio-solaris.h"
 
 #include <iprt/asm.h>
diff --git a/src/VBox/Additions/x11/VBoxClient/display.cpp b/src/VBox/Additions/x11/VBoxClient/display.cpp
index 45c66dd..cf0176d 100644
--- a/src/VBox/Additions/x11/VBoxClient/display.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/display.cpp
@@ -270,11 +270,11 @@ static void runDisplay(struct DISPLAYSTATE *pState)
         updateSizeHintsProperty(pState);
         if (!pState->fHaveRandR12)
             notifyXServerRandR11(pState);
-        do
-            rc = VbglR3WaitEvent(  VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST
-                                 | VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED,
-                                 RT_INDEFINITE_WAIT, &fEvents);
-        while(rc == VERR_INTERRUPTED);
+        rc = VbglR3WaitEvent(VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST | VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED, RT_INDEFINITE_WAIT,
+                             &fEvents);
+        /* Interrupted is used to re-set the mode without changing it. */
+        if (rc == VERR_INTERRUPTED)
+            rc = VINF_SUCCESS;
         if (RT_FAILURE(rc))  /* VERR_NO_MEMORY? */
             VBClFatalError(("event wait failed, rc=%Rrc\n", rc));
         /* If it is a size hint, set the new size. */
@@ -366,10 +366,15 @@ static int pause(struct VBCLSERVICE **ppInterface)
 static int resume(struct VBCLSERVICE **ppInterface)
 {
     struct DISPLAYSTATE *pSelf = getStateFromInterface(ppInterface);
+    int rc;
 
     if (!pSelf->mfInit)
         return VERR_WRONG_ORDER;
-    return enableEventsAndCaps();
+    rc = enableEventsAndCaps();
+    /* RandR 1.1-based drivers only let us change mode when we are not switched
+     * out, so interrupt the wait when we switch in and re-set it. */
+    VbglR3InterruptEventWaits();
+    return rc;
 }
 
 static void cleanup(struct VBCLSERVICE **ppInterface)
diff --git a/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp b/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp
index 0a1b4b3..c593f5f 100644
--- a/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/draganddrop.cpp
@@ -1,6 +1,6 @@
 /* $Id: draganddrop.cpp $ */
 /** @file
- * X11 guest client - Drag and Drop.
+ * X11 guest client - Drag and drop implementation.
  */
 
 /*
@@ -49,49 +49,49 @@
 //# define VBOX_DND_DEBUG_WND
 #endif
 
-/* For X11 guest xDnD is used. See http://www.acc.umu.se/~vatten/XDND.html for
+/**
+ * For X11 guest xDnD is used. See http://www.acc.umu.se/~vatten/XDND.html for
  * a walk trough.
  *
- * H->G:
- * For X11 this means mainly forwarding all the events from HGCM to the
- * appropriate X11 events. There exists a proxy window, which is invisible and
- * used for all the X11 communication. On a HGCM Enter event, we set our proxy
- * window as XdndSelection owner with the given mime-types. On every HGCM move
- * event, we move the X11 mouse cursor to the new position and query for the
- * window below that position. Depending on if it is XdndAware, a new window or
- * a known window, we send the appropriate X11 messages to it. On HGCM drop, we
- * send a XdndDrop message to the current window and wait for a X11
- * SelectionMessage from the target window. Because we didn't have the data in
- * the requested mime-type, yet, we save that message and ask the host for the
- * data. When the data is successfully received from the host, we put the data
- * as a property to the window and send a X11 SelectionNotify event to the
- * target window.
+ * Host -> Guest:
+ *     For X11 this means mainly forwarding all the events from HGCM to the
+ *     appropriate X11 events. There exists a proxy window, which is invisible and
+ *     used for all the X11 communication. On a HGCM Enter event, we set our proxy
+ *     window as XdndSelection owner with the given mime-types. On every HGCM move
+ *     event, we move the X11 mouse cursor to the new position and query for the
+ *     window below that position. Depending on if it is XdndAware, a new window or
+ *     a known window, we send the appropriate X11 messages to it. On HGCM drop, we
+ *     send a XdndDrop message to the current window and wait for a X11
+ *     SelectionMessage from the target window. Because we didn't have the data in
+ *     the requested mime-type, yet, we save that message and ask the host for the
+ *     data. When the data is successfully received from the host, we put the data
+ *     as a property to the window and send a X11 SelectionNotify event to the
+ *     target window.
  *
- * G->H:
- * This is a lot more trickery than H->G. When a pending event from HGCM
- * arrives, we ask if there currently is an owner of the XdndSelection
- * property. If so, our proxy window is shown (1x1, but without backing store)
- * and some mouse event is triggered. This should be followed by an XdndEnter
- * event send to the proxy window. From this event we can fetch the necessary
- * info of the MIME types and allowed actions and send this back to the host.
- * On a drop request from the host, we query for the selection and should get
- * the data in the specified mime-type. This data is send back to the host.
- * After that we send a XdndLeave event to the source window.
+ * Guest -> Host:
+ *     This is a lot more trickery than H->G. When a pending event from HGCM
+ *     arrives, we ask if there currently is an owner of the XdndSelection
+ *     property. If so, our proxy window is shown (1x1, but without backing store)
+ *     and some mouse event is triggered. This should be followed by an XdndEnter
+ *     event send to the proxy window. From this event we can fetch the necessary
+ *     info of the MIME types and allowed actions and send this back to the host.
+ *     On a drop request from the host, we query for the selection and should get
+ *     the data in the specified mime-type. This data is send back to the host.
+ *     After that we send a XdndLeave event to the source window.
  *
- * To-do:
- * - Cancelling (e.g. with ESC key) doesn't work.
- *
- * To-do:
- * - INCR (incremental transfers) support.
- * - Make this much more robust for crashes of the other party.
- * - Really check for the Xdnd version and the supported features.
+ ** @todo Cancelling (e.g. with ESC key) doesn't work.
+ ** @todo INCR (incremental transfers) support.
+ ** @todo Really check for the Xdnd version and the supported features.
+ ** @todo Either get rid of the xHelpers class or properly unify the code with the drag instance class.
  */
 
 #define VBOX_XDND_VERSION    (4)
 #define VBOX_MAX_XPROPERTIES (LONG_MAX-1)
 
-/* Shared struct used for adding new X11 events and HGCM messages to a single
- * event queue. */
+/**
+ * Structure for storing new X11 events and HGCM messages
+ * into a single vent queue.
+ */
 struct DnDEvent
 {
     enum DnDEventType
@@ -146,6 +146,9 @@ enum XA_Type
 
 class DragAndDropService;
 
+/** List of Atoms. */
+#define VBoxDnDAtomList RTCList<Atom>
+
 /*******************************************************************************
  *
  * xHelpers Declaration
@@ -185,7 +188,7 @@ public:
         return strAtom;
     }
 
-    inline RTCString xAtomListToString(const RTCList<Atom> &formatList)
+    inline RTCString xAtomListToString(const VBoxDnDAtomList &formatList)
     {
         RTCString format;
         for (size_t i = 0; i < formatList.size(); ++i)
@@ -197,6 +200,7 @@ public:
     Window applicationWindowBelowCursor(Window parentWin) const;
 
 private:
+
     xHelpers(Display *pDisplay)
       : m_pDisplay(pDisplay)
     {
@@ -224,7 +228,8 @@ private:
  *
  ******************************************************************************/
 
-xHelpers *xHelpers::m_pInstance = 0;
+xHelpers *xHelpers::m_pInstance = NULL;
+
 /* Has to be in sync with the XA_Type enum. */
 const char *xHelpers::m_xAtomNames[] =
 {
@@ -336,16 +341,17 @@ Window xHelpers::applicationWindowBelowCursor(Window wndParent) const
  ******************************************************************************/
 
 #ifdef DEBUG
-# define VBOX_DND_FN_DECL_LOG(x) inline x
+# define VBOX_DND_FN_DECL_LOG(x) inline x /* For LogFlowXXX logging. */
 #else
 # define VBOX_DND_FN_DECL_LOG(x) x
 #endif
 
-#define VBoxDnDAtomList RTCList<Atom> 
-
-/* For now only one DragInstance will exits when the app is running. In the
- * future the support for having more than one drag and drop operation supported at the
- * time will be necessary. */
+/**
+ * Class for handling a single drag and drop operation, that is,
+ * one source and one target at a time.
+ *
+ * For now only one DragInstance will exits when the app is running.
+ */
 class DragInstance
 {
 public:
@@ -386,17 +392,17 @@ public:
     bool waitForX11Msg(XEvent &evX, int iType, RTMSINTERVAL uTimeoutMS = 100);
     bool waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType, RTMSINTERVAL uTimeoutMS = 100);
 
-    /* H->G */
-    int  hgEnter(const RTCList<RTCString> &formats, uint32_t actions);
-    int  hgLeave(void);
-    int  hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t action);
-    int  hgDrop();
-    int  hgDataReceived(void *pvData, uint32_t cData);
+    /* Host -> Guest handling. */
+    int hgEnter(const RTCList<RTCString> &formats, uint32_t actions);
+    int hgLeave(void);
+    int hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t action);
+    int hgDrop(void);
+    int hgDataReceived(const void *pvData, uint32_t cData);
 
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
-    /* G->H */
-    int  ghIsDnDPending();
-    int  ghDropped(const RTCString &strFormat, uint32_t action);
+    /* Guest -> Host handling. */
+    int ghIsDnDPending(void);
+    int ghDropped(const RTCString &strFormat, uint32_t action);
 #endif
 
     /* X11 helpers. */
@@ -406,32 +412,43 @@ public:
     int proxyWinHide(void);
 
     void wndXDnDClearActionList(Window wndThis) const;
-    void wndXDnDClearTypeList(Window wndThis) const;
+    void wndXDnDClearFormatList(Window wndThis) const;
     int wndXDnDGetActionList(Window wndThis, VBoxDnDAtomList &lstActions) const;
-    int wndXDnDGetTypeList(Window wndThis, VBoxDnDAtomList &lstTypes) const;
+    int wndXDnDGetFormatList(Window wndThis, VBoxDnDAtomList &lstTypes) const;
     int wndXDnDSetActionList(Window wndThis, const VBoxDnDAtomList &lstActions) const;
-    int wndXDnDSetFormatList(Window wndThis, Atom property, const VBoxDnDAtomList &lstFormats) const;
+    int wndXDnDSetFormatList(Window wndThis, Atom atmProp, const VBoxDnDAtomList &lstFormats) const;
 
-    int                    toAtomList(const RTCList<RTCString> &lstFormats, VBoxDnDAtomList &lstAtoms) const;
-    int                    toAtomList(const void *pvData, uint32_t cbData, VBoxDnDAtomList &lstAtoms) const;
-    static Atom            toAtomAction(uint32_t uAction);
-    static int             toAtomActions(uint32_t uActions, VBoxDnDAtomList &lstAtoms);
-    static uint32_t        toHGCMAction(Atom atom);
-    static uint32_t        toHGCMActions(const RTCList<Atom> &actionsList);
+    int             toAtomList(const RTCList<RTCString> &lstFormats, VBoxDnDAtomList &lstAtoms) const;
+    int             toAtomList(const void *pvData, uint32_t cbData, VBoxDnDAtomList &lstAtoms) const;
+    static Atom     toAtomAction(uint32_t uAction);
+    static int      toAtomActions(uint32_t uActions, VBoxDnDAtomList &lstAtoms);
+    static uint32_t toHGCMAction(Atom atom);
+    static uint32_t toHGCMActions(const VBoxDnDAtomList &actionsList);
 
 protected:
 
     /** The instance's own DnD context. */
     VBGLR3GUESTDNDCMDCTX        m_dndCtx;
+    /** Pointer to service instance. */
     DragAndDropService         *m_pParent;
+    /** Pointer to X display operating on. */
     Display                    *m_pDisplay;
+    /** X screen ID to operate on. */
     int                         m_screenId;
+    /** Pointer to X screen operating on. */
     Screen                     *m_pScreen;
+    /** Root window handle. */
     Window                      m_wndRoot;
+    /** Proxy window handle. */
     Window                      m_wndProxy;
+    /** Current source/target window handle. */
     Window                      m_wndCur;
+    /** The XDnD protocol version the current
+     *  source/target window is using. */
     long                        m_curVer;
+    /** List of (Atom) formats the source window supports. */
     VBoxDnDAtomList             m_lstFormats;
+    /** List of (Atom) actions the source window supports. */
     VBoxDnDAtomList             m_lstActions;
     /** Deferred host to guest selection event for sending to the
      *  target window as soon as data from the host arrived. */
@@ -474,12 +491,10 @@ public:
 
 private:
 
-    int x11DragAndDropInit(void);
+    int dragAndDropInit(void);
     static int hgcmEventThread(RTTHREAD hThread, void *pvUser);
     static int x11EventThread(RTTHREAD hThread, void *pvUser);
 
-    void clearEventQueue();
-
     /* Private member vars */
     Display             *m_pDisplay;
 
@@ -518,6 +533,9 @@ DragInstance::DragInstance(Display *pDisplay, DragAndDropService *pParent)
     uninit();
 }
 
+/**
+ * Unitializes (destroys) this drag instance.
+ */
 void DragInstance::uninit(void)
 {
     reset();
@@ -533,6 +551,9 @@ void DragInstance::uninit(void)
     m_wndProxy = 0;
 }
 
+/**
+ * Resets this drag instance.
+ */
 void DragInstance::reset(void)
 {
     LogFlowFuncEnter();
@@ -546,7 +567,7 @@ void DragInstance::reset(void)
         XSetSelectionOwner(m_pDisplay, xAtom(XA_XdndSelection), None, CurrentTime);
 
     /* Clear any other DnD specific data on the proxy window. */
-    wndXDnDClearTypeList(m_wndProxy);
+    wndXDnDClearFormatList(m_wndProxy);
     wndXDnDClearActionList(m_wndProxy);
 
     /* Reset the internal state. */
@@ -559,7 +580,13 @@ void DragInstance::reset(void)
     m_eventQueue.clear();
 }
 
-int DragInstance::init(uint32_t u32ScreenId)
+/**
+ * Initializes this drag instance.
+ *
+ * @return  IPRT status code.
+ * @param   u32ScreenID             X' screen ID to use.
+ */
+int DragInstance::init(uint32_t u32ScreenID)
 {
     int rc;
 
@@ -582,7 +609,7 @@ int DragInstance::init(uint32_t u32ScreenId)
         /*
          * Enough screens configured in the x11 server?
          */
-        if ((int)u32ScreenId > ScreenCount(m_pDisplay))
+        if ((int)u32ScreenID > ScreenCount(m_pDisplay))
         {
             rc = VERR_INVALID_PARAMETER;
             break;
@@ -596,7 +623,7 @@ int DragInstance::init(uint32_t u32ScreenId)
             break;
         }
 #endif
-        m_screenId = u32ScreenId;
+        m_screenId = u32ScreenID;
 
         /* Now query the corresponding root window of this screen. */
         m_wndRoot = RootWindow(m_pDisplay, m_screenId);
@@ -619,7 +646,7 @@ int DragInstance::init(uint32_t u32ScreenId)
         attr.do_not_propagate_mask = NoEventMask;
 #ifdef VBOX_DND_DEBUG_WND
         attr.background_pixel      = XWhitePixel(m_pDisplay, m_screenId);
-        attr.border_pixel          = XBlackPixel(m_pDisplay, m_screenId); 
+        attr.border_pixel          = XBlackPixel(m_pDisplay, m_screenId);
         m_wndProxy = XCreateWindow(m_pDisplay, m_wndRoot                     /* Parent */,
                                    100, 100,                                 /* Position */
                                    100, 100,                                 /* Width + height */
@@ -627,11 +654,11 @@ int DragInstance::init(uint32_t u32ScreenId)
                                    CopyFromParent,                           /* Depth */
                                    InputOutput,                              /* Class */
                                    CopyFromParent,                           /* Visual */
-                                     CWBackPixel 
+                                     CWBackPixel
                                    | CWBorderPixel
                                    | CWOverrideRedirect
                                    | CWDontPropagate,                        /* Value mask */
-                                   &attr);                                   /* Attributes for value mask */       
+                                   &attr);                                   /* Attributes for value mask */
 #else
         m_wndProxy = XCreateWindow(m_pDisplay, m_wndRoot                 /* Parent */,
                                    0, 0,                                 /* Position */
@@ -673,12 +700,17 @@ int DragInstance::init(uint32_t u32ScreenId)
     }
     else
         LogRel(("DnD: Initializing drag instance for screen %RU32 failed with rc=%Rrc\n",
-                u32ScreenId, rc));
+                u32ScreenID, rc));
 
     LogFlowFuncLeaveRC(rc);
     return rc;
 }
 
+/**
+ * Logs an error message to the (release) logging instance.
+ *
+ * @param   pszFormat               Format string to log.
+ */
 VBOX_DND_FN_DECL_LOG(void) DragInstance::logError(const char *pszFormat, ...)
 {
     va_list args;
@@ -694,6 +726,12 @@ VBOX_DND_FN_DECL_LOG(void) DragInstance::logError(const char *pszFormat, ...)
     RTStrFree(psz);
 }
 
+/**
+ * Callback handler for a generic client message from a window.
+ *
+ * @return  IPRT status code.
+ * @param   e                       X11 event to handle.
+ */
 int DragInstance::onX11ClientMessage(const XEvent &e)
 {
     AssertReturn(e.type == ClientMessage, VERR_INVALID_PARAMETER);
@@ -707,18 +745,18 @@ int DragInstance::onX11ClientMessage(const XEvent &e)
     {
         case HG:
         {
-            /* 
+            /*
              * Client messages are used to inform us about the status of a XdndAware
-             * window, in response of some events we send to them. 
-             */ 
+             * window, in response of some events we send to them.
+             */
             if (   e.xclient.message_type == xAtom(XA_XdndStatus)
                 && m_wndCur               == static_cast<Window>(e.xclient.data.l[0]))
             {
-                /* 
+                /*
                  * The XdndStatus message tell us if the window will accept the DnD
                  * event and with which action. We immediately send this info down to
-                 * the host as a response of a previous DnD message. 
-                 */ 
+                 * the host as a response of a previous DnD message.
+                 */
                 LogFlowThisFunc(("XA_XdndStatus: wnd=%#x, accept=%RTbool, action=%s\n",
                                  e.xclient.data.l[0],
                                  ASMBitTest(&e.xclient.data.l[1], 0),
@@ -760,7 +798,7 @@ int DragInstance::onX11ClientMessage(const XEvent &e)
             rc = RTSemEventSignal(m_hEventSem);
             break;
         }
-       
+
         default:
         {
             AssertMsgFailed(("Drag and drop mode not implemented: %RU32\n", m_enmMode));
@@ -773,6 +811,14 @@ int DragInstance::onX11ClientMessage(const XEvent &e)
     return rc;
 }
 
+/**
+ * Callback handler for a XDnD selection notify from a window. This is needed
+ * to let the us know if a certain window has drag'n drop data to share with us,
+ * e.g. our proxy window.
+ *
+ * @return  IPRT status code.
+ * @param   e                       X11 event to handle.
+ */
 int DragInstance::onX11SelectionNotify(const XEvent &e)
 {
     AssertReturn(e.type == SelectionNotify, VERR_INVALID_PARAMETER);
@@ -806,6 +852,13 @@ int DragInstance::onX11SelectionNotify(const XEvent &e)
     return rc;
 }
 
+/**
+ * Callback handler for a XDnD selection request from a window. This is needed
+ * to retrieve the data required to complete the actual drag'n drop operation.
+ *
+ * @returns IPRT status code.
+ * @param   e                       X11 event to handle.
+ */
 int DragInstance::onX11SelectionRequest(const XEvent &e)
 {
     AssertReturn(e.type == SelectionRequest, VERR_INVALID_PARAMETER);
@@ -845,13 +898,13 @@ int DragInstance::onX11SelectionRequest(const XEvent &e)
             /* Is the requestor asking for the possible MIME types? */
             if (e.xselectionrequest.target == xAtom(XA_TARGETS))
             {
-                LogFlowThisFunc(("wnd=%#x '%s' asking for target list\n", 
-                                 e.xselectionrequest.requestor, propName.value));
+                LogFlowThisFunc(("wnd=%#x ('%s') asking for target list\n",
+                                 e.xselectionrequest.requestor, propName.value ? (const char *)propName.value : "<No name>"));
 
                 /* If so, set the window property with the formats on the requestor
                  * window. */
                 rc = wndXDnDSetFormatList(e.xselectionrequest.requestor, e.xselectionrequest.property, m_lstFormats);
-                if (RT_SUCCESS(rc)) 
+                if (RT_SUCCESS(rc))
                 {
                     atmTarget   = e.xselectionrequest.target;
                     atmProperty = e.xselectionrequest.property;
@@ -862,8 +915,8 @@ int DragInstance::onX11SelectionRequest(const XEvent &e)
             /* Is the requestor asking for a specific MIME type (we support)? */
             else if (m_lstFormats.contains(e.xselectionrequest.target))
             {
-                LogFlowThisFunc(("wnd=%#x '%s' asking for data, format=%s\n",
-                                 e.xselectionrequest.requestor, propName.value, 
+                LogFlowThisFunc(("wnd=%#x ('%s') asking for data, format=%s\n",
+                                 e.xselectionrequest.requestor, propName.value ? (const char *)propName.value : "<No name>",
                                  xAtomToString(e.xselectionrequest.target).c_str()));
 
                 /* If so, we need to inform the host about this request. Save the
@@ -879,8 +932,8 @@ int DragInstance::onX11SelectionRequest(const XEvent &e)
                 }
                 else
                 {
-                    LogFlowThisFunc(("Saving selection notify message of wnd=%#x '%s'\n", 
-                                     e.xselectionrequest.requestor, propName.value));
+                    LogFlowThisFunc(("Saving selection notify message of wnd=%#x ('%s')\n",
+                                     e.xselectionrequest.requestor, propName.value ? (const char *)propName.value : "<No name>"));
 
                     memcpy(&m_eventHgSelection, &e, sizeof(XEvent));
 
@@ -894,7 +947,8 @@ int DragInstance::onX11SelectionRequest(const XEvent &e)
             /* Anything else. */
             else
             {
-                LogFlowThisFunc(("Refusing unknown command of wnd=%#x '%s'\n", e.xselectionrequest.requestor, propName.value));
+                LogFlowThisFunc(("Refusing unknown command of wnd=%#x ('%s')\n", e.xselectionrequest.requestor, 
+                                 propName.value ? (const char *)propName.value : "<No name>"));
 
                 /* We don't understand this request message and therefore answer with an
                  * refusal messages. */
@@ -940,6 +994,12 @@ int DragInstance::onX11SelectionRequest(const XEvent &e)
     return rc;
 }
 
+/**
+ * Handles X11 events, called by x11EventThread.
+ *
+ * @returns IPRT status code.
+ * @param   e                       X11 event to handle.
+ */
 int DragInstance::onX11Event(const XEvent &e)
 {
     int rc;
@@ -989,6 +1049,14 @@ int DragInstance::onX11Event(const XEvent &e)
 }
 
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
+/**
+ * Waits for an X11 event of a specific type.
+ *
+ * @returns IPRT status code.
+ * @param   evX                     Reference where to store the event into.
+ * @param   iType                   Event type to wait for.
+ * @param   uTimeoutMS              Timeout (in ms) to wait for the event.
+ */
 bool DragInstance::waitForX11Msg(XEvent &evX, int iType, RTMSINTERVAL uTimeoutMS /* = 100 */)
 {
     LogFlowThisFunc(("iType=%d, uTimeoutMS=%RU32, cEventQueue=%zu\n", iType, uTimeoutMS, m_eventQueue.size()));
@@ -1038,6 +1106,14 @@ bool DragInstance::waitForX11Msg(XEvent &evX, int iType, RTMSINTERVAL uTimeoutMS
     return fFound;
 }
 
+/**
+ * Waits for an X11 client message of a specific type.
+ *
+ * @returns IPRT status code.
+ * @param   evMsg                   Reference where to store the event into.
+ * @param   aType                   Event type to wait for.
+ * @param   uTimeoutMS              Timeout (in ms) to wait for the event.
+ */
 bool DragInstance::waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType,
                                        RTMSINTERVAL uTimeoutMS /*= 100 */)
 {
@@ -1057,6 +1133,8 @@ bool DragInstance::waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType,
                 XEvent e = m_eventQueue.at(i);
                 if (e.type == ClientMessage)
                 {
+                    /** @todo Check is aType matches the event's type! */
+
                     m_eventQueue.removeAt(i);
                     evMsg = e.xclient;
 
@@ -1093,19 +1171,27 @@ bool DragInstance::waitForX11ClientMsg(XClientMessageEvent &evMsg, Atom aType,
  * Host -> Guest
  */
 
-int DragInstance::hgEnter(const RTCList<RTCString> &formats, uint32_t uActions)
+/**
+ * Host -> Guest: Event signalling that the host's (mouse) cursor just entered the VM's (guest's) display
+ *                area.
+ *
+ * @returns IPRT status code.
+ * @param   lstFormats              List of supported formats from the host.
+ * @param   uActions                (ORed) List of supported actions from the host.
+ */
+int DragInstance::hgEnter(const RTCList<RTCString> &lstFormats, uint32_t uActions)
 {
     LogFlowThisFunc(("mode=%RU32, state=%RU32\n", m_enmMode, m_enmState));
 
-    if (m_enmMode != Unknown) 
+    if (m_enmMode != Unknown)
         return VERR_INVALID_STATE;
 
     reset();
 
 #ifdef DEBUG
-    LogFlowThisFunc(("uActions=0x%x, lstFormats=%zu: ", uActions, formats.size()));
-    for (size_t i = 0; i < formats.size(); ++i)
-        LogFlow(("'%s' ", formats.at(i).c_str()));
+    LogFlowThisFunc(("uActions=0x%x, lstFormats=%zu: ", uActions, lstFormats.size()));
+    for (size_t i = 0; i < lstFormats.size(); ++i)
+        LogFlow(("'%s' ", lstFormats.at(i).c_str()));
     LogFlow(("\n"));
 #endif
 
@@ -1113,7 +1199,7 @@ int DragInstance::hgEnter(const RTCList<RTCString> &formats, uint32_t uActions)
 
     do
     {
-        rc = toAtomList(formats, m_lstFormats);
+        rc = toAtomList(lstFormats, m_lstFormats);
         if (RT_FAILURE(rc))
             break;
 
@@ -1144,18 +1230,32 @@ int DragInstance::hgEnter(const RTCList<RTCString> &formats, uint32_t uActions)
     return rc;
 }
 
+/**
+ * Host -> Guest: Event signalling that the host's (mouse) cursor has left the VM's (guest's)
+ *                display area.
+ */
 int DragInstance::hgLeave(void)
 {
-    if (m_enmMode == HG)
+    if (m_enmMode == HG) /* Only reset if in the right operation mode. */
         reset();
 
     return VINF_SUCCESS;
 }
 
-int DragInstance::hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t uAction)
+/**
+ * Host -> Guest: Event signalling that the host's (mouse) cursor has been moved within the VM's
+ *                (guest's) display area.
+ *
+ * @returns IPRT status code.
+ * @param   u32xPos                 Relative X position within the guest's display area.
+ * @param   u32yPos                 Relative Y position within the guest's display area.
+ * @param   uDefaultAction          Default action the host wants to perform on the guest
+ *                                  as soon as the operation successfully finishes.
+ */
+int DragInstance::hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t uDefaultAction)
 {
     LogFlowThisFunc(("mode=%RU32, state=%RU32\n", m_enmMode, m_enmState));
-    LogFlowThisFunc(("u32xPos=%RU32, u32yPos=%RU32, uAction=%RU32\n", u32xPos, u32yPos, uAction));
+    LogFlowThisFunc(("u32xPos=%RU32, u32yPos=%RU32, uAction=%RU32\n", u32xPos, u32yPos, uDefaultAction));
 
     if (   m_enmMode  != HG
         || m_enmState != Dragging)
@@ -1211,8 +1311,8 @@ int DragInstance::hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t uAction)
     }
 
     /*
-     * Is the window under the cursor another one than our current one? 
-     * Cancel the current drop. 
+     * Is the window under the cursor another one than our current one?
+     * Cancel the current drop.
      */
     if (   wndCursor != m_wndCur
         && m_curVer  != -1)
@@ -1279,7 +1379,7 @@ int DragInstance::hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t uAction)
         /*
          * Send a XdndPosition event with the proposed action to the guest.
          */
-        Atom pa = toAtomAction(uAction);
+        Atom pa = toAtomAction(uDefaultAction);
         LogFlowThisFunc(("strAction=%s\n", xAtomToString(pa).c_str()));
 
         XClientMessageEvent m;
@@ -1315,9 +1415,14 @@ int DragInstance::hgMove(uint32_t u32xPos, uint32_t u32yPos, uint32_t uAction)
     return rc;
 }
 
+/**
+ * Host -> Guest: Event signalling that the host has dropped the data over the VM (guest) window.
+ *
+ * @returns IPRT status code.
+ */
 int DragInstance::hgDrop(void)
 {
-    LogFlowThisFunc(("wndCur=%#x, wndProxy=%#x, mode=%RU32, state=%RU32\n", m_wndProxy, m_wndCur, m_enmMode, m_enmState));
+    LogFlowThisFunc(("wndCur=%#x, wndProxy=%#x, mode=%RU32, state=%RU32\n", m_wndCur, m_wndProxy, m_enmMode, m_enmState));
 
     if (   m_enmMode  != HG
         || m_enmState != Dragging)
@@ -1327,7 +1432,7 @@ int DragInstance::hgDrop(void)
 
     int rc = VINF_SUCCESS;
 
-    /* 
+    /*
      * Send a drop event to the current window and reset our DnD status.
      */
     XClientMessageEvent m;
@@ -1342,7 +1447,7 @@ int DragInstance::hgDrop(void)
 
     int xRc = XSendEvent(m_pDisplay, m_wndCur, False, NoEventMask, reinterpret_cast<XEvent*>(&m));
     if (RT_UNLIKELY(xRc == 0))
-        logError("Error sending XA_XdndDrop event to current window=%#x: %s\n", m_wndCur, gX11->xErrorToString(xRc).c_str());
+        logError("Error sending XA_XdndDrop event to wndCur=%#x: %s\n", m_wndCur, gX11->xErrorToString(xRc).c_str());
 
     m_wndCur = None;
     m_curVer = -1;
@@ -1353,7 +1458,15 @@ int DragInstance::hgDrop(void)
     return rc;
 }
 
-int DragInstance::hgDataReceived(void *pvData, uint32_t cbData)
+/**
+ * Host -> Guest: Event signalling that the host has sent drag'n drop (MIME) data
+ *                to the guest for further processing.
+ *
+ * @returns IPRT status code.
+ * @param   pvData                  Pointer to (MIME) data from host.
+ * @param   cbData                  Size (in bytes) of data from host.
+ */
+int DragInstance::hgDataReceived(const void *pvData, uint32_t cbData)
 {
     LogFlowThisFunc(("mode=%RU32, state=%RU32\n", m_enmMode, m_enmState));
 
@@ -1415,6 +1528,12 @@ int DragInstance::hgDataReceived(void *pvData, uint32_t cbData)
 }
 
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
+/**
+ * Guest -> Host: Event signalling that the host is asking whether there is a pending
+ *                drag event on the guest (to the host).
+ *
+ * @returns IPRT status code.
+ */
 int DragInstance::ghIsDnDPending(void)
 {
     LogFlowThisFunc(("mode=%RU32, state=%RU32\n", m_enmMode, m_enmState));
@@ -1482,14 +1601,14 @@ int DragInstance::ghIsDnDPending(void)
                 }
                 else
                 {
-                    rc = wndXDnDGetTypeList(wndSelection, m_lstFormats);
+                    rc = wndXDnDGetFormatList(wndSelection, m_lstFormats);
                 }
 
                 /*
                  * Fetch the actions.
                  */
                 rc = wndXDnDGetActionList(wndSelection, m_lstActions);
-               
+
                 fAcceptDrop = true;
             }
             /* Did the source tell us where the cursor currently is? */
@@ -1545,9 +1664,17 @@ int DragInstance::ghIsDnDPending(void)
     return rc;
 }
 
+/**
+ * Guest -> Host: Event signalling that the host has dropped the item(s) on the
+ *                host side.
+ *
+ * @returns IPRT status code.
+ * @param   strFormat               Requested format to send to the host.
+ * @param   uAction                 Requested action to perform on the guest.
+ */
 int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
 {
-    LogFlowThisFunc(("mode=%RU32, state=%RU32, strFormat=%s, uAction=%RU32\n", 
+    LogFlowThisFunc(("mode=%RU32, state=%RU32, strFormat=%s, uAction=%RU32\n",
                      m_enmMode, m_enmState, strFormat.c_str(), uAction));
 
     if (   m_enmMode  != GH
@@ -1576,12 +1703,12 @@ int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
     mouseButtonSet(m_wndCur /* Destination window */, iRootX, iRootY,
                    1 /* Button */, false /* fPress */);
 
-    /** 
+    /**
      * The fake button release event above should lead to a XdndDrop event from the
      * source. Because of showing our proxy window, other Xdnd events can
      * occur before, e.g. a XdndPosition event. We are not interested
-     * in those, so just try to get the right one. 
-     */ 
+     * in those, so just try to get the right one.
+     */
 
     XClientMessageEvent evDnDDrop;
     bool fDrop = waitForX11ClientMsg(evDnDDrop, xAtom(XA_XdndDrop), 5 * 1000 /* Timeout in ms */);
@@ -1626,7 +1753,7 @@ int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
                                              AnyPropertyType,         /* Property type */
                                              &aPropType, &iPropFormat, &cItems, &cbRemaining, &pcData);
                 if (RT_UNLIKELY(xRc != Success))
-                    LogFlowThisFunc(("Error getting XA_XdndSelection property of proxy window=%#x: %s\n", 
+                    LogFlowThisFunc(("Error getting XA_XdndSelection property of proxy window=%#x: %s\n",
                                      m_wndProxy, gX11->xErrorToString(xRc).c_str()));
 
                 LogFlowThisFunc(("strType=%s, iPropFormat=%d, cItems=%RU32, cbRemaining=%RU32\n",
@@ -1679,12 +1806,12 @@ int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
                         m.format       = 32;
                         m.data.l[0]    = m_wndProxy;                   /* Target window. */
                         m.data.l[1]    = 0;                            /* Don't accept the drop to not make the guest stuck. */
-                        m.data.l[2]    = RT_SUCCESS(rc) 
+                        m.data.l[2]    = RT_SUCCESS(rc)
                                        ? toAtomAction(uAction) : None; /* Action used on success */
 
                         xRc = XSendEvent(m_pDisplay, wndSource, True, NoEventMask, reinterpret_cast<XEvent*>(&m));
                         if (RT_UNLIKELY(xRc == 0))
-                            LogFlowThisFunc(("Error sending XA_XdndFinished event to proxy window=%#x: %s\n", 
+                            LogFlowThisFunc(("Error sending XA_XdndFinished event to proxy window=%#x: %s\n",
                                              m_wndProxy, gX11->xErrorToString(xRc).c_str()));
                     }
                     else
@@ -1762,6 +1889,13 @@ int DragInstance::ghDropped(const RTCString &strFormat, uint32_t uAction)
  * Helpers
  */
 
+/**
+ * Moves the mouse pointer to a specific position.
+ *
+ * @returns IPRT status code.
+ * @param   iPosX                   Absolute X coordinate.
+ * @param   iPosY                   Absolute Y coordinate.
+ */
 int DragInstance::mouseCursorMove(int iPosX, int iPosY) const
 {
     int iScreenID = XDefaultScreen(m_pDisplay);
@@ -1781,6 +1915,15 @@ int DragInstance::mouseCursorMove(int iPosX, int iPosY) const
     return VINF_SUCCESS;
 }
 
+/**
+ * Sends a mouse button event to a specific window.
+ *
+ * @param   wndDest                 Window to send the mouse button event to.
+ * @param   rx                      X coordinate relative to the root window's origin.
+ * @param   ry                      Y coordinate relative to the root window's origin.
+ * @param   iButton                 Mouse button to press/release.
+ * @param   fPress                  Whether to press or release the mouse button.
+ */
 void DragInstance::mouseButtonSet(Window wndDest, int rx, int ry, int iButton, bool fPress)
 {
     LogFlowThisFunc(("wndDest=%#x, rx=%d, ry=%d, iBtn=%d, fPress=%RTbool\n",
@@ -1848,6 +1991,20 @@ void DragInstance::mouseButtonSet(Window wndDest, int rx, int ry, int iButton, b
 #endif
 }
 
+/**
+ * Shows the (invisible) proxy window. The proxy window is needed for intercepting
+ * drags from the host to the guest or from the guest to the host. It acts as a proxy
+ * between the host and the actual (UI) element on the guest OS.
+ *
+ * To not make it miss any actions this window gets spawned across the entire guest
+ * screen (think of an umbrella) to (hopefully) capture everything. A proxy window
+ * which follows the cursor would be far too slow here.
+ *
+ * @returns IPRT status code.
+ * @param   piRootX                 X coordinate relative to the root window's origin. Optional.
+ * @param   piRootY                 Y coordinate relative to the root window's origin. Optional.
+ * @param   fMouseMove              Whether to move the mouse cursor to the root window's origin or not.
+ */
 int DragInstance::proxyWinShow(int *piRootX /*= NULL*/,
                                int *piRootY /*= NULL*/,
                                bool fMouseMove /*= false */) const
@@ -1859,7 +2016,7 @@ int DragInstance::proxyWinShow(int *piRootX /*= NULL*/,
 
     int rc = VINF_SUCCESS;
 
-#if 0 
+#if 0
     XTestGrabControl(m_pDisplay, False);
 #endif
 
@@ -1897,13 +2054,16 @@ int DragInstance::proxyWinShow(int *piRootX /*= NULL*/,
 
     XSynchronize(m_pDisplay, False /* Disable sync */);
 
-#if 0 
+#if 0
     XTestGrabControl(m_pDisplay, True);
 #endif
 
     return rc;
 }
 
+/**
+ * Hides the (invisible) proxy window.
+ */
 int DragInstance::proxyWinHide(void)
 {
     LogFlowFuncEnter();
@@ -1916,16 +2076,33 @@ int DragInstance::proxyWinHide(void)
     return VINF_SUCCESS; /** @todo Add error checking. */
 }
 
+/**
+ * Clear a window's supported/accepted actions list.
+ *
+ * @param   wndThis                 Window to clear the list for.
+ */
 void DragInstance::wndXDnDClearActionList(Window wndThis) const
 {
     XDeleteProperty(m_pDisplay, wndThis, xAtom(XA_XdndActionList));
 }
 
-void DragInstance::wndXDnDClearTypeList(Window wndThis) const
+/**
+ * Clear a window's supported/accepted formats list.
+ *
+ * @param   wndThis                 Window to clear the list for.
+ */
+void DragInstance::wndXDnDClearFormatList(Window wndThis) const
 {
     XDeleteProperty(m_pDisplay, wndThis, xAtom(XA_XdndTypeList));
 }
 
+/**
+ * Retrieves a window's supported/accepted XDnD actions.
+ *
+ * @returns IPRT status code.
+ * @param   wndThis                 Window to retrieve the XDnD actions for.
+ * @param   lstActions              Reference to VBoxDnDAtomList to store the action into.
+ */
 int DragInstance::wndXDnDGetActionList(Window wndThis, VBoxDnDAtomList &lstActions) const
 {
     Atom iActType = None;
@@ -1940,12 +2117,12 @@ int DragInstance::wndXDnDGetActionList(Window wndThis, VBoxDnDAtomList &lstActio
                                  False, XA_ATOM, &iActType, &iActFmt, &cItems, &cbData, &pcbData);
     if (xRc != Success)
     {
-        LogFlowThisFunc(("Error getting XA_XdndActionList atoms from window=%#x: %s\n", 
+        LogFlowThisFunc(("Error getting XA_XdndActionList atoms from window=%#x: %s\n",
                          wndThis, gX11->xErrorToString(xRc).c_str()));
         return VERR_NOT_FOUND;
     }
 
-    if (   cItems > 0 
+    if (   cItems > 0
         && pcbData)
     {
         Atom *paData = reinterpret_cast<Atom *>(pcbData);
@@ -1964,7 +2141,14 @@ int DragInstance::wndXDnDGetActionList(Window wndThis, VBoxDnDAtomList &lstActio
     return VINF_SUCCESS;
 }
 
-int DragInstance::wndXDnDGetTypeList(Window wndThis, VBoxDnDAtomList &lstTypes) const
+/**
+ * Retrieves a window's supported/accepted XDnD formats.
+ *
+ * @returns IPRT status code.
+ * @param   wndThis                 Window to retrieve the XDnD formats for.
+ * @param   lstTypes                Reference to VBoxDnDAtomList to store the formats into.
+ */
+int DragInstance::wndXDnDGetFormatList(Window wndThis, VBoxDnDAtomList &lstTypes) const
 {
     Atom iActType = None;
     int iActFmt;
@@ -1977,12 +2161,12 @@ int DragInstance::wndXDnDGetTypeList(Window wndThis, VBoxDnDAtomList &lstTypes)
                              False, XA_ATOM, &iActType, &iActFmt, &cItems, &cbData, &pcbData);
     if (xRc != Success)
     {
-        LogFlowThisFunc(("Error getting XA_XdndTypeList atoms from window=%#x: %s\n", 
+        LogFlowThisFunc(("Error getting XA_XdndTypeList atoms from window=%#x: %s\n",
                          wndThis, gX11->xErrorToString(xRc).c_str()));
         return VERR_NOT_FOUND;
     }
 
-    if (   cItems > 0 
+    if (   cItems > 0
         && pcbData)
     {
         Atom *paData = reinterpret_cast<Atom*>(pcbData);
@@ -2001,6 +2185,15 @@ int DragInstance::wndXDnDGetTypeList(Window wndThis, VBoxDnDAtomList &lstTypes)
     return VINF_SUCCESS;
 }
 
+/**
+ * Sets (replaces) a window's XDnD accepted/allowed actions.
+ *
+ * @returns IPRT status code.
+ * @param   wndThis                 Window to set the format list for.
+ * @param   lstActions              Reference to list of XDnD actions to set.
+ *
+ * @remark
+ */
 int DragInstance::wndXDnDSetActionList(Window wndThis, const VBoxDnDAtomList &lstActions) const
 {
     if (lstActions.isEmpty())
@@ -2015,7 +2208,15 @@ int DragInstance::wndXDnDSetActionList(Window wndThis, const VBoxDnDAtomList &ls
     return VINF_SUCCESS;
 }
 
-int DragInstance::wndXDnDSetFormatList(Window wndThis, Atom property, const VBoxDnDAtomList &lstFormats) const
+/**
+ * Sets (replaces) a window's XDnD accepted format list.
+ *
+ * @returns IPRT status code.
+ * @param   wndThis                 Window to set the format list for.
+ * @param   atmProp                 Property to set.
+ * @param   lstFormats              Reference to list of XDnD formats to set.
+ */
+int DragInstance::wndXDnDSetFormatList(Window wndThis, Atom atmProp, const VBoxDnDAtomList &lstFormats) const
 {
     if (lstFormats.isEmpty())
         return VINF_SUCCESS;
@@ -2026,7 +2227,7 @@ int DragInstance::wndXDnDSetFormatList(Window wndThis, Atom property, const VBox
     lstFormatsExt.append(lstFormats);
 
     /* Add the property with the property data to the window. */
-    XChangeProperty(m_pDisplay, wndThis, property,
+    XChangeProperty(m_pDisplay, wndThis, atmProp,
                     XA_ATOM, 32, PropModeReplace,
                     reinterpret_cast<const unsigned char*>(lstFormatsExt.raw()),
                     lstFormatsExt.size());
@@ -2034,14 +2235,29 @@ int DragInstance::wndXDnDSetFormatList(Window wndThis, Atom property, const VBox
     return VINF_SUCCESS;
 }
 
+/**
+ * Converts a RTCString list to VBoxDnDAtomList list.
+ *
+ * @returns IPRT status code.
+ * @param   lstFormats              Reference to RTCString list to convert.
+ * @param   lstAtoms                Reference to VBoxDnDAtomList list to store results in.
+ */
 int DragInstance::toAtomList(const RTCList<RTCString> &lstFormats, VBoxDnDAtomList &lstAtoms) const
-{    
+{
     for (size_t i = 0; i < lstFormats.size(); ++i)
         lstAtoms.append(XInternAtom(m_pDisplay, lstFormats.at(i).c_str(), False));
 
     return VINF_SUCCESS;
 }
 
+/**
+ * Converts a raw-data string list to VBoxDnDAtomList list.
+ *
+ * @returns IPRT status code.
+ * @param   pvData                  Pointer to string data to convert.
+ * @param   cbData                  Size (in bytes) to convert.
+ * @param   lstAtoms                Reference to VBoxDnDAtomList list to store results in.
+ */
 int DragInstance::toAtomList(const void *pvData, uint32_t cbData, VBoxDnDAtomList &lstAtoms) const
 {
     AssertPtrReturn(pvData, VERR_INVALID_POINTER);
@@ -2052,7 +2268,7 @@ int DragInstance::toAtomList(const void *pvData, uint32_t cbData, VBoxDnDAtomLis
 
     int rc = VINF_SUCCESS;
 
-    RTCList<Atom> lstAtom;
+    VBoxDnDAtomList lstAtom;
     while (cbStr)
     {
         size_t cbSize = RTStrNLen(pszStr, cbStr);
@@ -2076,6 +2292,12 @@ int DragInstance::toAtomList(const void *pvData, uint32_t cbData, VBoxDnDAtomLis
     return rc;
 }
 
+/**
+ * Converts a HGCM-based drag'n drop action to a Atom-based drag'n drop action.
+ *
+ * @returns Converted Atom-based drag'n drop action.
+ * @param   uActions                HGCM drag'n drop actions to convert.
+ */
 /* static */
 Atom DragInstance::toAtomAction(uint32_t uAction)
 {
@@ -2086,6 +2308,13 @@ Atom DragInstance::toAtomAction(uint32_t uAction)
             None);
 }
 
+/**
+ * Converts HGCM-based drag'n drop actions to a VBoxDnDAtomList list.
+ *
+ * @returns IPRT status code.
+ * @param   uActions                HGCM drag'n drop actions to convert.
+ * @param   lstAtoms                Reference to VBoxDnDAtomList to store actions in.
+ */
 /* static */
 int DragInstance::toAtomActions(uint32_t uActions, VBoxDnDAtomList &lstAtoms)
 {
@@ -2099,6 +2328,12 @@ int DragInstance::toAtomActions(uint32_t uActions, VBoxDnDAtomList &lstAtoms)
     return VINF_SUCCESS;
 }
 
+/**
+ * Converts an Atom-based drag'n drop action to a HGCM drag'n drop action.
+ *
+ * @returns HGCM drag'n drop action.
+ * @param   atom                    Atom-based drag'n drop action to convert.
+ */
 /* static */
 uint32_t DragInstance::toHGCMAction(Atom atom)
 {
@@ -2114,55 +2349,35 @@ uint32_t DragInstance::toHGCMAction(Atom atom)
     return uAction;
 }
 
+/**
+ * Converts an VBoxDnDAtomList list to an HGCM action list.
+ *
+ * @returns ORed HGCM action list.
+ * @param   actionsList             List of Atom-based actions to convert.
+ */
 /* static */
-uint32_t DragInstance::toHGCMActions(const RTCList<Atom> &actionsList)
+uint32_t DragInstance::toHGCMActions(const VBoxDnDAtomList &lstActions)
 {
     uint32_t uActions = DND_IGNORE_ACTION;
 
-    for (size_t i = 0; i < actionsList.size(); ++i)
-        uActions |= toHGCMAction(actionsList.at(i));
+    for (size_t i = 0; i < lstActions.size(); ++i)
+        uActions |= toHGCMAction(lstActions.at(i));
 
     return uActions;
 }
 
-/** @todo Replace by DnDURIList?  */
-RTCList<RTCString> toStringList(const void *pvData, uint32_t cbData)
-{
-    if (   !pvData
-        || !cbData)
-        return RTCList<RTCString>();
-
-    const char *pszStr = (char*)pvData;
-    uint32_t cbStr = cbData;
-
-    RTCList<RTCString> lstString;
-    while (cbStr > 0)
-    {
-        size_t cbSize = RTStrNLen(pszStr, cbStr);
-
-        /* Create a copy with max N chars, so that we are on the save side,
-         * even if the data isn't zero terminated. */
-        char *pszTmp = RTStrDupN(pszStr, cbSize);
-        lstString.append(pszTmp);
-        RTStrFree(pszTmp);
-        pszStr  += cbSize + 1;
-        cbStr   -= cbSize + 1;
-    }
-
-    return lstString;
-}
-
-/** @todo Is this function really needed?  */
-void DragAndDropService::clearEventQueue(void)
-{
-    LogFlowThisFuncEnter();
-    m_eventQueue.clear();
-}
-
 /*******************************************************************************
  * DragAndDropService implementation.
  ******************************************************************************/
 
+/**
+ * Main loop for the drag and drop service which does the HGCM message
+ * processing and routing to the according drag and drop instance(s).
+ *
+ * @returns IPRT status code.
+ * @param   fDaemonised             Whether to run in daemonized or not. Does not
+ *                                  apply for this service.
+ */
 int DragAndDropService::run(bool fDaemonised /* = false */)
 {
     LogFlowThisFunc(("fDaemonised=%RTbool\n", fDaemonised));
@@ -2170,8 +2385,8 @@ int DragAndDropService::run(bool fDaemonised /* = false */)
     int rc;
     do
     {
-        /* Initialize X11 DnD. */
-        rc = x11DragAndDropInit();
+        /* Initialize drag and drop. */
+        rc = dragAndDropInit();
         if (RT_FAILURE(rc))
             break;
 
@@ -2270,8 +2485,8 @@ int DragAndDropService::run(bool fDaemonised /* = false */)
 
                 LogFlowFunc(("Message %RU32 processed with %Rrc\n", e.hgcm.uType, rc));
                 if (   RT_FAILURE(rc)
-                    /* 
-                     * Note: The hgXXX and ghXXX functions of the DnD instance above may return 
+                    /*
+                     * Note: The hgXXX and ghXXX functions of the DnD instance above may return
                      *       VERR_INVALID_STATE in case we're not in the expected state they want
                      *       to operate in. As the user might drag content back and forth to/from
                      *       the host/guest we don't want to reset the overall state here in case
@@ -2323,8 +2538,8 @@ int DragAndDropService::run(bool fDaemonised /* = false */)
             /*
              * Make sure that any X11 requests have actually been sent to the
              * server, since we are waiting for responses using poll() on
-             * another thread which will not automatically trigger flushing. 
-             */ 
+             * another thread which will not automatically trigger flushing.
+             */
             XFlush(m_pDisplay);
 
         } while (!ASMAtomicReadBool(&m_fSrvStopping));
@@ -2335,12 +2550,17 @@ int DragAndDropService::run(bool fDaemonised /* = false */)
     return rc;
 }
 
-int DragAndDropService::x11DragAndDropInit(void)
+/**
+ * Initializes the drag and drop instance.
+ *
+ * @returns IPRT status code.
+ */
+int DragAndDropService::dragAndDropInit(void)
 {
     /* Initialise the guest library. */
     int rc = VbglR3InitUser();
     if (RT_FAILURE(rc))
-        VBClFatalError(("Failed to connect to the VirtualBox kernel service, rc=%Rrc\n", rc));
+        VBClFatalError(("DnD: Failed to connect to the VirtualBox kernel service, rc=%Rrc\n", rc));
 
     /* Connect to the x11 server. */
     m_pDisplay = XOpenDisplay(NULL);
@@ -2383,6 +2603,15 @@ int DragAndDropService::x11DragAndDropInit(void)
     return rc;
 }
 
+/**
+ * Static callback function for HGCM message processing thread. An internal
+ * message queue will be filled which then will be processed by the according
+ * drag'n drop instance.
+ *
+ * @returns IPRT status code.
+ * @param   hThread                 Thread handle to use.
+ * @param   pvUser                  Pointer to DragAndDropService instance to use.
+ */
 /* static */
 int DragAndDropService::hgcmEventThread(RTTHREAD hThread, void *pvUser)
 {
@@ -2445,6 +2674,14 @@ int DragAndDropService::hgcmEventThread(RTTHREAD hThread, void *pvUser)
     return rc;
 }
 
+/**
+ * Static callback function for X11 message processing thread. All X11 messages
+ * will be directly routed to the according drag'n drop instance.
+ *
+ * @returns IPRT status code.
+ * @param   hThread                 Thread handle to use.
+ * @param   pvUser                  Pointer to DragAndDropService instance to use.
+ */
 /* static */
 int DragAndDropService::x11EventThread(RTTHREAD hThread, void *pvUser)
 {
diff --git a/src/VBox/Additions/x11/VBoxClient/main.cpp b/src/VBox/Additions/x11/VBoxClient/main.cpp
index 554da55..9825bc8 100644
--- a/src/VBox/Additions/x11/VBoxClient/main.cpp
+++ b/src/VBox/Additions/x11/VBoxClient/main.cpp
@@ -300,8 +300,7 @@ int main(int argc, char *argv[])
         {
             /* If the user is running in "no daemon" mode anyway, send critical
              * logging to stdout as well. */
-            PRTLOGGER pReleaseLog = RTLogRelDefaultInstance();
-
+            PRTLOGGER pReleaseLog = RTLogRelGetDefaultInstance();
             if (pReleaseLog)
                 rc = RTLogDestinations(pReleaseLog, "stdout");
             if (pReleaseLog && RT_FAILURE(rc))
diff --git a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
index fcf60b2..14ce667 100644
--- a/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+++ b/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
@@ -31,7 +31,7 @@ if1of ($(KBUILD_TARGET), linux solaris)
  	VBOX_DRI
 endif
 vboxvideo_xorg_INCS = \
-    $(VBOX_PATH_X11_ROOT)/dri2proto-2.8 \
+	$(VBOX_PATH_X11_ROOT)/dri2proto-2.8 \
 	$(VBOX_PATH_X11_ROOT)/fontsproto-2.1.0 \
 	$(VBOX_PATH_X11_ROOT)/glproto-1.4.10 \
 	$(VBOX_PATH_X11_ROOT)/MesaLib-8.0.4-GL \
diff --git a/src/VBox/Additions/x11/vboxvideo/vboxvideo.c b/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
index 6ad038f..fedfc43 100644
--- a/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
+++ b/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
@@ -300,15 +300,16 @@ static Bool adjustScreenPixmap(ScrnInfoPtr pScrn, int width, int height)
 
 /** Set a video mode to the hardware, RandR 1.1 version.  Since we no longer do
  * virtual frame buffers, adjust the screen pixmap dimensions to match. */
-static void setModeRandR11(ScrnInfoPtr pScrn, DisplayModePtr pMode, bool fLimitedContext)
+static void setModeRandR11(ScrnInfoPtr pScrn, DisplayModePtr pMode, bool fScreenInitTime)
 {
     VBOXPtr pVBox = VBOXGetRec(pScrn);
     struct vbvxFrameBuffer frameBuffer = { 0, 0, pMode->HDisplay, pMode->VDisplay, pScrn->bitsPerPixel};
 
     pVBox->pScreens[0].aScreenLocation.cx = pMode->HDisplay;
     pVBox->pScreens[0].aScreenLocation.cy = pMode->VDisplay;
-    if (fLimitedContext)
+    if (fScreenInitTime)
     {
+        /* The screen structure is not fully set up yet, so do not touch it. */
         pScrn->displayWidth = pScrn->virtualX = pMode->HDisplay;
         pScrn->virtualY = pMode->VDisplay;
     }
@@ -1042,7 +1043,7 @@ static void updateHasVTProperty(ScrnInfoPtr pScrn, Bool hasVT)
 
 #ifdef VBOXVIDEO_13
 
-static void setVirtualSizeRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
+static void setVirtualSizeRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
 {
     VBOXPtr pVBox = VBOXGetRec(pScrn);
     unsigned i;
@@ -1069,7 +1070,7 @@ static void setVirtualSizeRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
         /* Do not set the virtual resolution in limited context as that can
          * cause problems setting up RandR 1.2 which needs it set to the
          * maximum size at this point. */
-        if (!fLimitedContext)
+        if (!fScreenInitTime)
         {
             TRACE_LOG("cx=%u, cy=%u\n", cx, cy);
             xf86ScrnToScreen(pScrn)->width = cx;
@@ -1080,7 +1081,7 @@ static void setVirtualSizeRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
     }
 }
 
-static void setScreenSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
+static void setScreenSizesRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
 {
     VBOXPtr pVBox = VBOXGetRec(pScrn);
     unsigned i;
@@ -1095,7 +1096,7 @@ static void setScreenSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
         pVBox->pScreens[i].paOutputs->crtc = pVBox->pScreens[i].paCrtcs;
         xf86CrtcSetMode(pVBox->pScreens[i].paCrtcs, pVBox->pScreens[i].paOutputs->probed_modes, RR_Rotate_0,
                         pVBox->pScreens[i].paCrtcs->x, pVBox->pScreens[i].paCrtcs->y);
-        if (!fLimitedContext)
+        if (!fScreenInitTime)
             RRCrtcNotify(pVBox->pScreens[i].paCrtcs->randr_crtc, pVBox->pScreens[i].paOutputs->randr_output->modes[0],
                          pVBox->pScreens[i].paCrtcs->x, pVBox->pScreens[i].paCrtcs->y, RR_Rotate_0,
 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 5
@@ -1105,11 +1106,11 @@ static void setScreenSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
     }
 }
 
-static void setSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
+static void setSizesRandR12(ScrnInfoPtr pScrn, bool fScreenInitTime)
 {
     VBOXPtr pVBox = VBOXGetRec(pScrn);
 
-    if (!fLimitedContext)
+    if (!fScreenInitTime)
     {
 # if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) >= 5
         RRGetInfo(xf86ScrnToScreen(pScrn), TRUE);
@@ -1117,9 +1118,9 @@ static void setSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
         RRGetInfo(xf86ScrnToScreen(pScrn));
 # endif
     }
-    setVirtualSizeRandR12(pScrn, fLimitedContext);
-    setScreenSizesRandR12(pScrn, fLimitedContext);
-    if (!fLimitedContext)
+    setVirtualSizeRandR12(pScrn, fScreenInitTime);
+    setScreenSizesRandR12(pScrn, fScreenInitTime);
+    if (!fScreenInitTime)
     {
         /* We use RRScreenSizeSet() here and not RRScreenSizeNotify() because
          * the first also pushes the virtual screen size to the input driver.
@@ -1134,7 +1135,7 @@ static void setSizesRandR12(ScrnInfoPtr pScrn, bool fLimitedContext)
 
 #else
 
-static void setSizesRandR11(ScrnInfoPtr pScrn, bool fLimitedContext)
+static void setSizesRandR11(ScrnInfoPtr pScrn)
 {
     VBOXPtr pVBox = VBOXGetRec(pScrn);
     DisplayModePtr pNewMode;
@@ -1142,7 +1143,6 @@ static void setSizesRandR11(ScrnInfoPtr pScrn, bool fLimitedContext)
     pNewMode = pScrn->modes != pScrn->currentMode ? pScrn->modes : pScrn->modes->next;
     pNewMode->HDisplay = RT_CLAMP(pVBox->pScreens[0].aPreferredSize.cx, VBOX_VIDEO_MIN_SIZE, VBOX_VIDEO_MAX_VIRTUAL);
     pNewMode->VDisplay = RT_CLAMP(pVBox->pScreens[0].aPreferredSize.cy, VBOX_VIDEO_MIN_SIZE, VBOX_VIDEO_MAX_VIRTUAL);
-    setModeRandR11(pScrn, pNewMode, fLimitedContext);
 }
 
 #endif
@@ -1155,7 +1155,7 @@ static void setSizesAndCursorIntegration(ScrnInfoPtr pScrn, bool fScreenInitTime
 #ifdef VBOXVIDEO_13
     setSizesRandR12(pScrn, fScreenInitTime);
 #else
-    setSizesRandR11(pScrn, fScreenInitTime);
+    setSizesRandR11(pScrn);
 #endif
     if (pScrn->vtSema)
         vbvxReprobeCursor(pScrn);
@@ -1326,9 +1326,12 @@ static Bool VBOXScreenInit(ScreenPtr pScreen, int argc, char **argv)
         return FALSE;
     }
 
-#endif
     /* set first video mode */
     setSizesAndCursorIntegration(pScrn, true);
+#else
+    /* set first video mode */
+    setModeRandR11(pScrn, pScrn->currentMode, true);
+#endif
 
     /* Register block and wake-up handlers for getting new screen size hints. */
     RegisterBlockAndWakeupHandlers(updateSizeHintsBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn);
@@ -1395,16 +1398,20 @@ static Bool VBOXEnterVT(ScrnInfoPtr pScrn)
     vbvxSetUpHGSMIHeapInGuest(pVBox, pScrn->videoRam * 1024);
     vboxEnableVbva(pScrn);
     /* Re-set video mode */
+#ifdef VBOXVIDEO_13
     vbvxReadSizesAndCursorIntegrationFromHGSMI(pScrn, NULL);
     vbvxReadSizesAndCursorIntegrationFromProperties(pScrn, NULL);
+    setSizesAndCursorIntegration(pScrn, false);
+#else
     /* This prevents a crash in CentOS 3.  I was unable to debug it to
      * satisfaction, partly due to the lack of symbols.  My guess is that
      * pScrn->ModifyPixmapHeader() expects certain things to be set up when
      * it sees pScrn->vtSema set to true which are not quite done at this
      * point of the VT switch. */
     pScrn->vtSema = FALSE;
-    setSizesAndCursorIntegration(pScrn, false);
+    setModeRandR11(pScrn, pScrn->currentMode, false);
     pScrn->vtSema = TRUE;
+#endif
 #ifdef SET_HAVE_VT_PROPERTY
     updateHasVTProperty(pScrn, TRUE);
 #endif
diff --git a/src/VBox/Debugger/DBGCCommands.cpp b/src/VBox/Debugger/DBGCCommands.cpp
index 545237a..02f0b5b 100644
--- a/src/VBox/Debugger/DBGCCommands.cpp
+++ b/src/VBox/Debugger/DBGCCommands.cpp
@@ -1217,7 +1217,7 @@ static DECLCALLBACK(int) dbgcCmdLogFlags(PCDBGCCMD pCmd, PDBGCCMDHLP pCmdHlp, PU
 static DECLCALLBACK(int) dbgcCmdLogFlush(PCDBGCCMD pCmd, PDBGCCMDHLP pCmdHlp, PUVM pUVM, PCDBGCVAR paArgs, unsigned cArgs)
 {
     RTLogFlush(NULL);
-    PRTLOGGER pLogRel = RTLogRelDefaultInstance();
+    PRTLOGGER pLogRel = RTLogRelGetDefaultInstance();
     if (pLogRel)
         RTLogFlush(pLogRel);
 
diff --git a/src/VBox/Debugger/DBGPlugInLinux.cpp b/src/VBox/Debugger/DBGPlugInLinux.cpp
index cd285da..4bcd4d8 100644
--- a/src/VBox/Debugger/DBGPlugInLinux.cpp
+++ b/src/VBox/Debugger/DBGPlugInLinux.cpp
@@ -187,7 +187,7 @@ static DECLCALLBACK(int) dbgDiggerLinuxIDmsg_QueryKernelLog(PDBGFOSIDMESG pThis,
     uint32_t idxFirst;
     uint32_t idxNext;
 
-    struct { void *pvVar; uint32_t cbHost, cbGuest; const char *pszSymbol; } aSymbols[] =
+    struct { void *pvVar; size_t cbHost, cbGuest; const char *pszSymbol; } aSymbols[] =
     {
         { &GCPtrLogBuf, sizeof(GCPtrLogBuf),    pData->f64Bit ? sizeof(uint64_t) : sizeof(uint32_t),   "log_buf" },
         { &cbLogBuf,    sizeof(cbLogBuf),       sizeof(cbLogBuf),                                      "log_buf_len" },
@@ -1159,42 +1159,32 @@ static DECLCALLBACK(bool)  dbgDiggerLinuxProbe(PUVM pUVM, void *pvData)
     /*
      * Look for "Linux version " at the start of the rodata segment.
      * Hope that this comes before any message buffer or other similar string.
-     *
-     * Note! Only Linux version 2.x.y, where x in {0..6}.
      */
     for (unsigned i = 0; i < RT_ELEMENTS(g_au64LnxKernelAddresses); i++)
     {
         DBGFADDRESS KernelAddr;
         DBGFR3AddrFromFlat(pUVM, &KernelAddr, g_au64LnxKernelAddresses[i]);
         DBGFADDRESS HitAddr;
-        static const uint8_t s_abLinuxVersion2x[] = "Linux version 2.";
+        static const uint8_t s_abLinuxVersion[] = "Linux version ";
         int rc = DBGFR3MemScan(pUVM, 0, &KernelAddr, LNX_MAX_KERNEL_SIZE, 1,
-                               s_abLinuxVersion2x, sizeof(s_abLinuxVersion2x) - 1, &HitAddr);
-        if (RT_SUCCESS(rc))
-        {
-            char szTmp[128];
-            char const *pszY = &szTmp[sizeof(s_abLinuxVersion2x) - 1];
-            rc = DBGFR3MemReadString(pUVM, 0, &HitAddr, szTmp, sizeof(szTmp));
-            if (    RT_SUCCESS(rc)
-                &&  *pszY >= '0'
-                &&  *pszY <= '6')
-            {
-                pThis->AddrKernelBase  = KernelAddr;
-                pThis->AddrLinuxBanner = HitAddr;
-                return true;
-            }
-        }
-        static const uint8_t s_abLinuxVersion3x[] = "Linux version 3.";
-        rc = DBGFR3MemScan(pUVM, 0, &KernelAddr, LNX_MAX_KERNEL_SIZE, 1,
-                           s_abLinuxVersion3x, sizeof(s_abLinuxVersion3x) - 1, &HitAddr);
+                               s_abLinuxVersion, sizeof(s_abLinuxVersion) - 1, &HitAddr);
         if (RT_SUCCESS(rc))
         {
             char szTmp[128];
-            char const *pszY = &szTmp[sizeof(s_abLinuxVersion3x) - 1];
+            char const *pszX = &szTmp[sizeof(s_abLinuxVersion) - 1];
             rc = DBGFR3MemReadString(pUVM, 0, &HitAddr, szTmp, sizeof(szTmp));
             if (    RT_SUCCESS(rc)
-                &&  *pszY >= '0'
-                &&  *pszY <= '9')
+                &&  (   (   pszX[0] == '2'  /* 2.x.y with x in {0..6} */
+                         && pszX[1] == '.'
+                         && pszX[2] >= '0'
+                         && pszX[2] <= '6')
+                     || (   pszX[0] >= '3'  /* 3.x, 4.x, ... 9.x */
+                         && pszX[0] <= '9'
+                         && pszX[1] == '.'
+                         && pszX[2] >= '0'
+                         && pszX[2] <= '9')
+                     )
+                )
             {
                 pThis->AddrKernelBase  = KernelAddr;
                 pThis->AddrLinuxBanner = HitAddr;
diff --git a/src/VBox/Devices/Audio/AudioMixBuffer.cpp b/src/VBox/Devices/Audio/AudioMixBuffer.cpp
index 958e851..6ef7eb4 100644
--- a/src/VBox/Devices/Audio/AudioMixBuffer.cpp
+++ b/src/VBox/Devices/Audio/AudioMixBuffer.cpp
@@ -82,8 +82,8 @@
  */
 
 
-/**   Logarithmic/exponential volume conversion table. */
-uint32_t aVolumeConv[256] = {
+/** Logarithmic/exponential volume conversion table. */
+static uint32_t s_aVolumeConv[256] = {
         1,     1,     1,     1,     1,     1,     1,     1, /*   7 */
         1,     2,     2,     2,     2,     2,     2,     2, /*  15 */
         2,     2,     2,     2,     2,     3,     3,     3, /*  23 */
@@ -119,13 +119,13 @@ uint32_t aVolumeConv[256] = {
 };
 
 /* Bit shift for fixed point conversion. */
-#define VOL_SHIFT       30
+#define AUDIOMIXBUF_VOL_SHIFT       30
 
 /* Internal representation of 0dB volume (1.0 in fixed point). */
-#define VOL_0DB         (1 << VOL_SHIFT)
+#define AUDIOMIXBUF_VOL_0DB         (1 << AUDIOMIXBUF_VOL_SHIFT)
 
-AssertCompile(VOL_0DB <= 0x40000000);   /* Must always hold. */
-AssertCompile(VOL_0DB == 0x40000000);   /* For now -- when only attenuation is used. */
+AssertCompile(AUDIOMIXBUF_VOL_0DB <= 0x40000000);   /* Must always hold. */
+AssertCompile(AUDIOMIXBUF_VOL_0DB == 0x40000000);   /* For now -- when only attenuation is used. */
 
 /**
  * Structure for holding sample conversion parameters for
@@ -154,10 +154,8 @@ typedef struct AUDMIXBUF_CONVOPTS
 
 #ifdef DEBUG
 static uint64_t s_cSamplesMixedTotal = 0;
-#endif
-
-static void audioMixBufFreeBuf(PPDMAUDIOMIXBUF pMixBuf);
 static inline void audioMixBufPrint(PPDMAUDIOMIXBUF pMixBuf);
+#endif
 
 typedef uint32_t (AUDMIXBUF_FN_CONVFROM) (PPDMAUDIOSAMPLE paDst, const void *pvSrc, uint32_t cbSrc, const PAUDMIXBUF_CONVOPTS pOpts);
 typedef AUDMIXBUF_FN_CONVFROM *PAUDMIXBUF_FN_CONVFROM;
@@ -166,7 +164,22 @@ typedef void (AUDMIXBUF_FN_CONVTO) (void *pvDst, const PPDMAUDIOSAMPLE paSrc, co
 typedef AUDMIXBUF_FN_CONVTO *PAUDMIXBUF_FN_CONVTO;
 
 /* Can return VINF_TRY_AGAIN for getting next pointer at beginning (circular) */
-int audioMixBufAcquire(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToRead,
+
+/**
+ * Acquires (reads) a mutable pointer to the mixing buffer's audio samples without
+ * any conversion done.
+ ** @todo Rename to AudioMixBufPeek(Mutable/Raw)?
+ ** @todo Protect the buffer's data?
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to acquire audio samples from.
+ * @param   cSamplesToRead          Number of audio samples to read.
+ * @param   ppvSamples              Returns a mutable pointer to the buffer's audio sample data.
+ * @param   pcSamplesRead           Number of audio samples read (acquired).
+ *
+ * @remark  This function is not thread safe!
+ */
+int AudioMixBufAcquire(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToRead,
                        PPDMAUDIOSAMPLE *ppvSamples, uint32_t *pcSamplesRead)
 {
     AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
@@ -209,10 +222,10 @@ int audioMixBufAcquire(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToRead,
  * Clears (zeroes) the buffer by a certain amount of (processed) samples and
  * keeps track to eventually assigned children buffers.
  *
- * @param   pMixBuf
- * @param   cSamplesToClear
+ * @param   pMixBuf                 Mixing buffer to clear.
+ * @param   cSamplesToClear         Number of audio samples to clear.
  */
-void audioMixBufFinish(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToClear)
+void AudioMixBufFinish(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToClear)
 {
     AUDMIXBUF_LOG(("cSamples=%RU32\n", cSamplesToClear));
     AUDMIXBUF_LOG(("%s: offReadWrite=%RU32, cProcessed=%RU32\n",
@@ -254,12 +267,17 @@ void audioMixBufFinish(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToClear)
     }
 }
 
-void audioMixBufDestroy(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Destroys (uninitializes) a mixing buffer.
+ *
+ * @param   pMixBuf                 Mixing buffer to destroy.
+ */
+void AudioMixBufDestroy(PPDMAUDIOMIXBUF pMixBuf)
 {
     if (!pMixBuf)
         return;
 
-    audioMixBufUnlink(pMixBuf);
+    AudioMixBufUnlink(pMixBuf);
 
     if (pMixBuf->pszName)
     {
@@ -275,15 +293,28 @@ void audioMixBufDestroy(PPDMAUDIOMIXBUF pMixBuf)
         pMixBuf->pRate = NULL;
     }
 
-    audioMixBufFreeBuf(pMixBuf);
+    if (pMixBuf->pSamples)
+    {
+        Assert(pMixBuf->cSamples);
+
+        RTMemFree(pMixBuf->pSamples);
+        pMixBuf->pSamples = NULL;
+    }
+
+    pMixBuf->cSamples = 0;
 }
 
-/** @todo Rename this function! Too confusing in combination with audioMixBufFreeBuf(). */
-uint32_t audioMixBufFree(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Returns the size (in audio samples) of free audio buffer space.
+ *
+ * @return  uint32_t                Size (in audio samples) of free audio buffer space.
+ * @param   pMixBuf                 Mixing buffer to return free size for.
+ */
+uint32_t AudioMixBufFree(PPDMAUDIOMIXBUF pMixBuf)
 {
     AssertPtrReturn(pMixBuf, 0);
 
-    uint32_t cFree;
+    uint32_t cSamplesFree;
     if (pMixBuf->pParent)
     {
         /*
@@ -291,21 +322,37 @@ uint32_t audioMixBufFree(PPDMAUDIOMIXBUF pMixBuf)
          * already have been consumed by the parent.
          */
         Assert(pMixBuf->cMixed <= pMixBuf->pParent->cSamples);
-        cFree = pMixBuf->pParent->cSamples - pMixBuf->cMixed;
+        cSamplesFree = pMixBuf->pParent->cSamples - pMixBuf->cMixed;
+    }
+    else /* As a parent. */
+    {
+        Assert(pMixBuf->cSamples >= pMixBuf->cProcessed);
+        cSamplesFree = pMixBuf->cSamples - pMixBuf->cProcessed;
     }
-    else
-        cFree = pMixBuf->cSamples - pMixBuf->cProcessed;
 
-    AUDMIXBUF_LOG(("%s: cFree=%RU32\n", pMixBuf->pszName, cFree));
-    return cFree;
+    AUDMIXBUF_LOG(("%s: cSamplesFree=%RU32\n", pMixBuf->pszName, cSamplesFree));
+    return cSamplesFree;
 }
 
-uint32_t audioMixBufFreeBytes(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Returns the size (in bytes) of free audio buffer space.
+ *
+ * @return  uint32_t                Size (in bytes) of free audio buffer space.
+ * @param   pMixBuf                 Mixing buffer to return free size for.
+ */
+uint32_t AudioMixBufFreeBytes(PPDMAUDIOMIXBUF pMixBuf)
 {
-    return AUDIOMIXBUF_S2B(pMixBuf, audioMixBufFree(pMixBuf));
+    return AUDIOMIXBUF_S2B(pMixBuf, AudioMixBufFree(pMixBuf));
 }
 
-static int audioMixBufAllocBuf(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples)
+/**
+ * Allocates the internal audio sample buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to allocate sample buffer for.
+ * @param   cSamples                Number of audio samples to allocate.
+ */
+static int audioMixBufAlloc(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples)
 {
     AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
     AssertReturn(cSamples, VERR_INVALID_PARAMETER);
@@ -375,8 +422,8 @@ static int audioMixBufAllocBuf(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples)
         for (uint32_t i = 0; i < cSamples; i++) \
         { \
             AUDMIXBUF_MACRO_LOG(("%p: l=%RI16, r=%RI16\n", paDst, *pSrc, *(pSrc + 1))); \
-            paDst->i64LSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc++), pOpts->Volume.uLeft ) >> VOL_SHIFT; \
-            paDst->i64RSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc++), pOpts->Volume.uRight) >> VOL_SHIFT; \
+            paDst->i64LSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc++), pOpts->Volume.uLeft ) >> AUDIOMIXBUF_VOL_SHIFT; \
+            paDst->i64RSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc++), pOpts->Volume.uRight) >> AUDIOMIXBUF_VOL_SHIFT; \
             AUDMIXBUF_MACRO_LOG(("\t-> l=%RI64, r=%RI64\n", paDst->i64LSample, paDst->i64RSample)); \
             paDst++; \
         } \
@@ -394,8 +441,8 @@ static int audioMixBufAllocBuf(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples)
         for (uint32_t i = 0; i < cSamples; i++) \
         { \
             AUDMIXBUF_MACRO_LOG(("%p: s=%RI16\n", paDst, *pSrc)); \
-            paDst->i64LSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc), pOpts->Volume.uLeft) >> VOL_SHIFT; \
-            paDst->i64RSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc), pOpts->Volume.uRight) >> VOL_SHIFT; \
+            paDst->i64LSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc), pOpts->Volume.uLeft)  >> AUDIOMIXBUF_VOL_SHIFT; \
+            paDst->i64RSample = ASMMult2xS32RetS64((int32_t)audioMixBufClipFrom##_aName(*pSrc), pOpts->Volume.uRight) >> AUDIOMIXBUF_VOL_SHIFT; \
             ++pSrc; \
             AUDMIXBUF_MACRO_LOG(("\t-> l=%RI64, r=%RI64\n", paDst->i64LSample, paDst->i64RSample)); \
             paDst++; \
@@ -569,12 +616,14 @@ AUDMIXBUF_MACRO_FN uint32_t audioMixBufConvFromSilence(PPDMAUDIOSAMPLE paDst, co
 }
 
 /**
+ * Looks up the matching conversion (macro) routine for converting
+ * audio samples from a source format.
  *
  ** @todo Speed up the lookup by binding it to the actual stream state.
  *
- * @return  PAUDMIXBUF_FN_CONVFROM
- * @param   enmFmt      The source audio stream format
- * @param   fMuted      Flag determining whether the source is muted
+ * @return  PAUDMIXBUF_FN_CONVFROM  Function pointer to conversion macro if found, NULL if not supported.
+ * @param   enmFmt                  Audio format to lookup conversion macro for.
+ * @param   fMuted                  Flag determining whether the source is muted.
  */
 static inline PAUDMIXBUF_FN_CONVFROM audioMixBufConvFromLookup(PDMAUDIOMIXBUFFMT enmFmt, bool fMuted)
 {
@@ -632,11 +681,13 @@ static inline PAUDMIXBUF_FN_CONVFROM audioMixBufConvFromLookup(PDMAUDIOMIXBUFFMT
 }
 
 /**
+ * Looks up the matching conversion (macro) routine for converting
+ * audio samples to a destination format.
  *
  ** @todo Speed up the lookup by binding it to the actual stream state.
  *
- * @return  PAUDMIXBUF_FN_CONVTO
- * @param   enmFmt
+ * @return  PAUDMIXBUF_FN_CONVTO    Function pointer to conversion macro if found, NULL if not supported.
+ * @param   enmFmt                  Audio format to lookup conversion macro for.
  */
 static inline PAUDMIXBUF_FN_CONVTO audioMixBufConvToLookup(PDMAUDIOMIXBUFFMT enmFmt)
 {
@@ -690,21 +741,16 @@ static inline PAUDMIXBUF_FN_CONVTO audioMixBufConvToLookup(PDMAUDIOMIXBUFFMT enm
     return NULL;
 }
 
-static void audioMixBufFreeBuf(PPDMAUDIOMIXBUF pMixBuf)
-{
-    if (pMixBuf)
-    {
-        if (pMixBuf->pSamples)
-        {
-            RTMemFree(pMixBuf->pSamples);
-            pMixBuf->pSamples = NULL;
-        }
-
-        pMixBuf->cSamples = 0;
-    }
-}
-
-int audioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS pProps, uint32_t cSamples)
+/**
+ * Initializes a mixing buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to initialize.
+ * @param   pszName                 Name of mixing buffer for easier identification. Optional.
+ * @param   pProps                  PCM audio properties to use for the mixing buffer.
+ * @param   cSamples                Maximum number of audio samples the mixing buffer can hold.
+ */
+int AudioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS pProps, uint32_t cSamples)
 {
     AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
     AssertPtrReturn(pszName, VERR_INVALID_POINTER);
@@ -722,8 +768,8 @@ int audioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS p
 
     /* Set initial volume to max. */
     pMixBuf->Volume.fMuted = false;
-    pMixBuf->Volume.uLeft  = VOL_0DB;
-    pMixBuf->Volume.uRight = VOL_0DB;
+    pMixBuf->Volume.uLeft  = AUDIOMIXBUF_VOL_0DB;
+    pMixBuf->Volume.uRight = AUDIOMIXBUF_VOL_0DB;
 
     /* Prevent division by zero.
      * Do a 1:1 conversion according to AUDIOMIXBUF_S2B_RATIO. */
@@ -747,10 +793,17 @@ int audioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS p
                    AUDMIXBUF_FMT_BITS_PER_SAMPLE(pMixBuf->AudioFmt),
                    RT_BOOL(AUDMIXBUF_FMT_SIGNED(pMixBuf->AudioFmt))));
 
-    return audioMixBufAllocBuf(pMixBuf, cSamples);
+    return audioMixBufAlloc(pMixBuf, cSamples);
 }
 
-bool audioMixBufIsEmpty(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Returns @true if there are any audio samples available for processing,
+ * @false if not.
+ *
+ * @return  bool                    @true if there are any audio samples available for processing, @false if not.
+ * @param   pMixBuf                 Mixing buffer to return value for.
+ */
+bool AudioMixBufIsEmpty(PPDMAUDIOMIXBUF pMixBuf)
 {
     AssertPtrReturn(pMixBuf, true);
 
@@ -759,7 +812,27 @@ bool audioMixBufIsEmpty(PPDMAUDIOMIXBUF pMixBuf)
     return (pMixBuf->cProcessed == 0);
 }
 
-int audioMixBufLinkTo(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOMIXBUF pParent)
+/**
+ * Links an audio mixing buffer to a parent mixing buffer. A parent mixing
+ * buffer can have multiple children mixing buffers [1:N], whereas a child only can
+ * have one parent mixing buffer [N:1].
+ *
+ * The mixing direction always goes from the child/children buffer(s) to the
+ * parent buffer.
+ *
+ * For guest audio output the host backend owns the parent mixing buffer, the
+ * device emulation owns the child/children.
+ *
+ * The audio format of each mixing buffer can vary; the internal mixing code
+ * then will autiomatically do the (needed) conversion.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to link parent to.
+ * @param   pParent                 Parent mixing buffer to use for linking.
+ *
+ * @remark  Circular linking is not allowed.
+ */
+int AudioMixBufLinkTo(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOMIXBUF pParent)
 {
     AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
     AssertPtrReturn(pParent, VERR_INVALID_POINTER);
@@ -846,7 +919,14 @@ int audioMixBufLinkTo(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOMIXBUF pParent)
     return rc;
 }
 
-uint32_t audioMixBufMixed(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Returns the number of audio samples mixed (processed) from
+ * the parent mixing buffer.
+ *
+ * @return  uint32_t                Number of audio samples mixed (processed).
+ * @param   pMixBuf                 Mixing buffer to return number from.
+ */
+uint32_t AudioMixBufMixed(PPDMAUDIOMIXBUF pMixBuf)
 {
     AssertPtrReturn(pMixBuf, 0);
 
@@ -858,6 +938,15 @@ uint32_t audioMixBufMixed(PPDMAUDIOMIXBUF pMixBuf)
     return pMixBuf->cMixed;
 }
 
+/**
+ * Mixes audio samples from a source mixing buffer to a destination mixing buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pDst                    Destination mixing buffer.
+ * @param   pSrc                    Source mixing buffer.
+ * @param   cSamples                Number of source audio samples to mix.
+ * @param   pcProcessed             Number of audio samples successfully mixed.
+ */
 static int audioMixBufMixTo(PPDMAUDIOMIXBUF pDst, PPDMAUDIOMIXBUF pSrc, uint32_t cSamples, uint32_t *pcProcessed)
 {
     AssertPtrReturn(pDst, VERR_INVALID_POINTER);
@@ -941,9 +1030,27 @@ static int audioMixBufMixTo(PPDMAUDIOMIXBUF pDst, PPDMAUDIOMIXBUF pSrc, uint32_t
     return VINF_SUCCESS;
 }
 
-int audioMixBufMixToChildren(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
+/**
+ * Mixes (multiplexes) audio samples to all connected mixing buffer children.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to use.
+ * @param   cSamples                Number of audio samples to mix to children.
+ * @param   pcProcessed             Maximum number of audio samples successfully mixed
+ *                                  to all children. Optional.
+ */
+int AudioMixBufMixToChildren(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
                              uint32_t *pcProcessed)
 {
+    AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
+
+    if (!cSamples)
+    {
+        if (pcProcessed)
+            *pcProcessed = 0;
+        return VINF_SUCCESS;
+    }
+
     int rc = VINF_SUCCESS;
 
     uint32_t cProcessed;
@@ -965,7 +1072,15 @@ int audioMixBufMixToChildren(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
     return rc;
 }
 
-int audioMixBufMixToParent(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
+/**
+ * Mixes audio samples down to the parent mixing buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to mix samples down to parent.
+ * @param   cSamples                Number of audio samples to mix down.
+ * @param   pcProcessed             Number of audio samples successfully processed. Optional.
+ */
+int AudioMixBufMixToParent(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
                            uint32_t *pcProcessed)
 {
     AssertMsgReturn(VALID_PTR(pMixBuf->pParent),
@@ -975,9 +1090,16 @@ int audioMixBufMixToParent(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples,
     return audioMixBufMixTo(pMixBuf->pParent, pMixBuf, cSamples, pcProcessed);
 }
 
+#ifdef DEBUG
+/**
+ * Prints statistics and status of a mixing buffer to the logger.
+ * For debug versions only.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to print.
+ */
 static inline void audioMixBufPrint(PPDMAUDIOMIXBUF pMixBuf)
 {
-#ifdef DEBUG_DISABLED
     PPDMAUDIOMIXBUF pParent = pMixBuf;
     if (pMixBuf->pParent)
         pParent = pMixBuf->pParent;
@@ -998,8 +1120,8 @@ static inline void audioMixBufPrint(PPDMAUDIOMIXBUF pMixBuf)
     }
     AUDMIXBUF_LOG(("Total samples mixed: %RU64\n", s_cSamplesMixedTotal));
     AUDMIXBUF_LOG(("********************************************\n"));
-#endif
 }
+#endif
 
 /**
  * Returns the total number of samples processed.
@@ -1007,7 +1129,7 @@ static inline void audioMixBufPrint(PPDMAUDIOMIXBUF pMixBuf)
  * @return  uint32_t
  * @param   pMixBuf
  */
-uint32_t audioMixBufProcessed(PPDMAUDIOMIXBUF pMixBuf)
+uint32_t AudioMixBufProcessed(PPDMAUDIOMIXBUF pMixBuf)
 {
     AssertPtrReturn(pMixBuf, 0);
 
@@ -1015,16 +1137,39 @@ uint32_t audioMixBufProcessed(PPDMAUDIOMIXBUF pMixBuf)
     return pMixBuf->cProcessed;
 }
 
-int audioMixBufReadAt(PPDMAUDIOMIXBUF pMixBuf,
+/**
+ * Reads audio samples at a specific offset.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to read audio samples from.
+ * @param   offSamples              Offset (in audio samples) to start reading from.
+ * @param   pvBuf                   Pointer to buffer to write output to.
+ * @param   cbBuf                   Size (in bytes) of buffer to write to.
+ * @param   pcbRead                 Size (in bytes) of data read. Optional.
+ */
+int AudioMixBufReadAt(PPDMAUDIOMIXBUF pMixBuf,
                       uint32_t offSamples,
                       void *pvBuf, uint32_t cbBuf,
                       uint32_t *pcbRead)
 {
-    return audioMixBufReadAtEx(pMixBuf, pMixBuf->AudioFmt,
+    return AudioMixBufReadAtEx(pMixBuf, pMixBuf->AudioFmt,
                                offSamples, pvBuf, cbBuf, pcbRead);
 }
 
-int audioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
+/**
+ * Reads audio samples at a specific offset.
+ * If the audio format of the mixing buffer and the requested audio format do
+ * not match the output will be converted accordingly.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to read audio samples from.
+ * @param   enmFmt                  Audio format to use for output.
+ * @param   offSamples              Offset (in audio samples) to start reading from.
+ * @param   pvBuf                   Pointer to buffer to write output to.
+ * @param   cbBuf                   Size (in bytes) of buffer to write to.
+ * @param   pcbRead                 Size (in bytes) of data read. Optional.
+ */
+int AudioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
                         uint32_t offSamples,
                         void *pvBuf, uint32_t cbBuf,
                         uint32_t *pcbRead)
@@ -1057,7 +1202,9 @@ int audioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
         else
             rc = VERR_INVALID_PARAMETER;
 
+#ifdef DEBUG
         audioMixBufPrint(pMixBuf);
+#endif
     }
     else
         rc = VINF_SUCCESS;
@@ -1072,14 +1219,35 @@ int audioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
     return rc;
 }
 
-int audioMixBufReadCirc(PPDMAUDIOMIXBUF pMixBuf,
+/**
+ * Reads audio samples. The audio format of the mixing buffer will be used.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to read audio samples from.
+ * @param   pvBuf                   Pointer to buffer to write output to.
+ * @param   cbBuf                   Size (in bytes) of buffer to write to.
+ * @param   pcRead                  Number of audio samples read. Optional.
+ */
+int AudioMixBufReadCirc(PPDMAUDIOMIXBUF pMixBuf,
                         void *pvBuf, uint32_t cbBuf, uint32_t *pcRead)
 {
-    return audioMixBufReadCircEx(pMixBuf, pMixBuf->AudioFmt,
+    return AudioMixBufReadCircEx(pMixBuf, pMixBuf->AudioFmt,
                                  pvBuf, cbBuf, pcRead);
 }
 
-int audioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
+/**
+ * Reads audio samples in a specific audio format.
+ * If the audio format of the mixing buffer and the requested audio format do
+ * not match the output will be converted accordingly.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to read audio samples from.
+ * @param   enmFmt                  Audio format to use for output.
+ * @param   pvBuf                   Pointer to buffer to write output to.
+ * @param   cbBuf                   Size (in bytes) of buffer to write to.
+ * @param   pcRead                  Number of audio samples read. Optional.
+ */
+int AudioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
                           void *pvBuf, uint32_t cbBuf, uint32_t *pcRead)
 {
     AssertPtrReturn(pMixBuf, VERR_INVALID_POINTER);
@@ -1097,8 +1265,9 @@ int audioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
 
     if (!cToRead)
     {
+#ifdef DEBUG
         audioMixBufPrint(pMixBuf);
-
+#endif
         if (pcRead)
             *pcRead = 0;
         return VINF_SUCCESS;
@@ -1179,7 +1348,9 @@ int audioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
             *pcRead = cLenSrc1 + cLenSrc2;
     }
 
+#ifdef DEBUG
     audioMixBufPrint(pMixBuf);
+#endif
 
     AUDMIXBUF_LOG(("cRead=%RU32 (%zu bytes), rc=%Rrc\n",
                    cLenSrc1 + cLenSrc2,
@@ -1187,7 +1358,12 @@ int audioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
     return rc;
 }
 
-void audioMixBufReset(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Resets a mixing buffer.
+ *
+ * @param   pMixBuf                 Mixing buffer to reset.
+ */
+void AudioMixBufReset(PPDMAUDIOMIXBUF pMixBuf)
 {
     AssertPtrReturnVoid(pMixBuf);
 
@@ -1201,7 +1377,13 @@ void audioMixBufReset(PPDMAUDIOMIXBUF pMixBuf)
         RT_BZERO(pMixBuf->pSamples, pMixBuf->cSamples * sizeof(PDMAUDIOSAMPLE));
 }
 
-void audioMixBufSetVolume(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOVOLUME pVol)
+/**
+ * Sets the overall (master) volume.
+ *
+ * @param   pMixBuf                 Mixing buffer to set volume for.
+ * @param   pVol                    Pointer to volume structure to set.
+ */
+void AudioMixBufSetVolume(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOVOLUME pVol)
 {
     AssertPtrReturnVoid(pMixBuf);
     AssertPtrReturnVoid(pVol);
@@ -1209,30 +1391,44 @@ void audioMixBufSetVolume(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOVOLUME pVol)
     LogFlowFunc(("%s: lVol=%RU32, rVol=%RU32\n", pMixBuf->pszName, pVol->uLeft, pVol->uRight));
 
     pMixBuf->Volume.fMuted = pVol->fMuted;
-    //@todo: Ensure that the input is in the correct range/initialized!
-    pMixBuf->Volume.uLeft  = aVolumeConv[pVol->uLeft  & 0xFF] * (VOL_0DB >> 16);
-    pMixBuf->Volume.uRight = aVolumeConv[pVol->uRight & 0xFF] * (VOL_0DB >> 16);
+    /** @todo Ensure that the input is in the correct range/initialized! */
+    pMixBuf->Volume.uLeft  = s_aVolumeConv[pVol->uLeft  & 0xFF] * (AUDIOMIXBUF_VOL_0DB >> 16);
+    pMixBuf->Volume.uRight = s_aVolumeConv[pVol->uRight & 0xFF] * (AUDIOMIXBUF_VOL_0DB >> 16);
 
     LogFlowFunc(("\t-> lVol=%#RX32, rVol=%#RX32\n", pMixBuf->Volume.uLeft, pMixBuf->Volume.uRight));
 }
 
-uint32_t audioMixBufSize(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Returns the maximum amount of audio samples this buffer can hold.
+ *
+ * @return  uint32_t                Size (in audio samples) the mixing buffer can hold.
+ * @param   pMixBuf                 Mixing buffer to retrieve maximum for.
+ */
+uint32_t AudioMixBufSize(PPDMAUDIOMIXBUF pMixBuf)
 {
+    AssertPtrReturn(pMixBuf, 0);
     return pMixBuf->cSamples;
 }
 
 /**
  * Returns the maximum amount of bytes this buffer can hold.
  *
- * @return  uint32_t
- * @param   pMixBuf
+ * @return  uint32_t                Size (in bytes) the mixing buffer can hold.
+ * @param   pMixBuf                 Mixing buffer to retrieve maximum for.
  */
-uint32_t audioMixBufSizeBytes(PPDMAUDIOMIXBUF pMixBuf)
+uint32_t AudioMixBufSizeBytes(PPDMAUDIOMIXBUF pMixBuf)
 {
+    AssertPtrReturn(pMixBuf, 0);
     return AUDIOMIXBUF_S2B(pMixBuf, pMixBuf->cSamples);
 }
 
-void audioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf)
+/**
+ * Unlinks a mixing buffer from its parent, if any.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Mixing buffer to unlink from parent.
+ */
+void AudioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf)
 {
     if (!pMixBuf || !pMixBuf->pszName)
         return;
@@ -1248,7 +1444,7 @@ void audioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf)
 
         /* Make sure to reset the parent mixing buffer each time it gets linked
          * to a new child. */
-        audioMixBufReset(pMixBuf->pParent);
+        AudioMixBufReset(pMixBuf->pParent);
         pMixBuf->pParent = NULL;
     }
 
@@ -1259,7 +1455,7 @@ void audioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf)
 
         AUDMIXBUF_LOG(("\tUnlinking \"%s\"\n", pIter->pszName));
 
-        audioMixBufReset(pIter->pParent);
+        AudioMixBufReset(pIter->pParent);
         pIter->pParent = NULL;
 
         RTListNodeRemove(&pIter->Node);
@@ -1274,28 +1470,41 @@ void audioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf)
     pMixBuf->iFreqRatio = 1; /* Prevent division by zero. */
 }
 
-int audioMixBufWriteAt(PPDMAUDIOMIXBUF pMixBuf,
+/**
+ * Writes audio samples at a specific offset.
+ * The sample format being written must match the format of the mixing buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Pointer to mixing buffer to write to.
+ * @param   enmFmt                  Audio format supplied in the buffer.
+ * @param   offSamples              Offset (in samples) starting to write at.
+ * @param   pvBuf                   Pointer to audio buffer to be written.
+ * @param   cbBuf                   Size (in bytes) of audio buffer.
+ * @param   pcWritten               Returns number of audio samples written. Optional.
+ */
+int AudioMixBufWriteAt(PPDMAUDIOMIXBUF pMixBuf,
                        uint32_t offSamples,
                        const void *pvBuf, uint32_t cbBuf,
                        uint32_t *pcWritten)
 {
-    return audioMixBufWriteAtEx(pMixBuf, pMixBuf->AudioFmt,
+    return AudioMixBufWriteAtEx(pMixBuf, pMixBuf->AudioFmt,
                                 offSamples, pvBuf, cbBuf, pcWritten);
 }
 
 /**
- * TODO
+ * Writes audio samples at a specific offset. The audio sample format
+ * to be written can be different from the audio format the mixing buffer
+ * operates on.
  *
  * @return  IPRT status code.
- * @return  int
- * @param   pMixBuf
- * @param   enmFmt
- * @param   offSamples
- * @param   pvBuf
- * @param   cbBuf
- * @param   pcWritten           Returns number of samples written. Optional.
+ * @param   pMixBuf                 Pointer to mixing buffer to write to.
+ * @param   enmFmt                  Audio format supplied in the buffer.
+ * @param   offSamples              Offset (in samples) starting to write at.
+ * @param   pvBuf                   Pointer to audio buffer to be written.
+ * @param   cbBuf                   Size (in bytes) of audio buffer.
+ * @param   pcWritten               Returns number of audio samples written. Optional.
  */
-int audioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
+int AudioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
                          uint32_t offSamples,
                          const void *pvBuf, uint32_t cbBuf,
                          uint32_t *pcWritten)
@@ -1341,8 +1550,9 @@ int audioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
         AUDMIXBUF_CONVOPTS convOpts = { cToProcess, pMixBuf->Volume };
 
         cWritten = pConv(pMixBuf->pSamples + offSamples, pvBuf, cbBuf, &convOpts);
+#ifdef DEBUG
         audioMixBufPrint(pMixBuf);
-
+#endif
         rc = cWritten ? VINF_SUCCESS : VERR_GENERAL_FAILURE; /** @todo Fudge! */
     }
     else
@@ -1361,14 +1571,34 @@ int audioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
     return rc;
 }
 
-int audioMixBufWriteCirc(PPDMAUDIOMIXBUF pMixBuf,
+/**
+ * Writes audio samples. The sample format being written must match the
+ * format of the mixing buffer.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Pointer to mixing buffer to write to.
+ * @param   pvBuf                   Pointer to audio buffer to be written.
+ * @param   cbBuf                   Size (in bytes) of audio buffer.
+ * @param   pcWritten               Returns number of audio samples written. Optional.
+ */
+int AudioMixBufWriteCirc(PPDMAUDIOMIXBUF pMixBuf,
                          const void *pvBuf, uint32_t cbBuf,
                          uint32_t *pcWritten)
 {
-    return audioMixBufWriteCircEx(pMixBuf, pMixBuf->AudioFmt, pvBuf, cbBuf, pcWritten);
+    return AudioMixBufWriteCircEx(pMixBuf, pMixBuf->AudioFmt, pvBuf, cbBuf, pcWritten);
 }
 
-int audioMixBufWriteCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
+/**
+ * Writes audio samples of a specific format.
+ *
+ * @return  IPRT status code.
+ * @param   pMixBuf                 Pointer to mixing buffer to write to.
+ * @param   enmFmt                  Audio format supplied in the buffer.
+ * @param   pvBuf                   Pointer to audio buffer to be written.
+ * @param   cbBuf                   Size (in bytes) of audio buffer.
+ * @param   pcWritten               Returns number of audio samples written. Optional.
+ */
+int AudioMixBufWriteCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
                            const void *pvBuf, uint32_t cbBuf,
                            uint32_t *pcWritten)
 {
@@ -1477,10 +1707,13 @@ int audioMixBufWriteCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt,
             *pcWritten = cLenDst1 + cLenDst2;
     }
 
+#ifdef DEBUG
     audioMixBufPrint(pMixBuf);
+#endif
 
     AUDMIXBUF_LOG(("cWritten=%RU32 (%zu bytes), rc=%Rrc\n",
                    cLenDst1 + cLenDst2,
                    AUDIOMIXBUF_S2B(pMixBuf, cLenDst1 + cLenDst2), rc));
     return rc;
 }
+
diff --git a/src/VBox/Devices/Audio/AudioMixBuffer.h b/src/VBox/Devices/Audio/AudioMixBuffer.h
index a2e3207..119836a 100644
--- a/src/VBox/Devices/Audio/AudioMixBuffer.h
+++ b/src/VBox/Devices/Audio/AudioMixBuffer.h
@@ -1,6 +1,7 @@
 /* $Id: AudioMixBuffer.h $ */
 /** @file
- * VBox audio: TODO
+ * VBox audio: Mixing buffer to convert audio samples to/from different
+ *             rates / formats.
  */
 
 /*
@@ -48,32 +49,32 @@
 #define AUDIOMIXBUF_S2S_RATIO(pBuf, samples)  (((int64_t) samples << 32) / (pBuf)->iFreqRatio)
 
 
-int audioMixBufAcquire(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToRead, PPDMAUDIOSAMPLE *ppvSamples, uint32_t *pcSamplesRead);
-inline uint32_t audioMixBufBytesToSamples(PPDMAUDIOMIXBUF pMixBuf);
-void audioMixBufDestroy(PPDMAUDIOMIXBUF pMixBuf);
-void audioMixBufFinish(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToClear);
-uint32_t audioMixBufFree(PPDMAUDIOMIXBUF pMixBuf);
-uint32_t audioMixBufFreeBytes(PPDMAUDIOMIXBUF pMixBuf);
-int audioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS pProps, uint32_t cSamples);
-bool audioMixBufIsEmpty(PPDMAUDIOMIXBUF pMixBuf);
-int audioMixBufLinkTo(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOMIXBUF pParent);
-uint32_t audioMixBufMixed(PPDMAUDIOMIXBUF pMixBuf);
-int audioMixBufMixToChildren(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples, uint32_t *pcProcessed);
-int audioMixBufMixToParent(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples, uint32_t *pcProcessed);
-uint32_t audioMixBufProcessed(PPDMAUDIOMIXBUF pMixBuf);
-int audioMixBufReadAt(PPDMAUDIOMIXBUF pMixBuf, uint32_t offSamples, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead);
-int audioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, uint32_t offSamples, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead);
-int audioMixBufReadCirc(PPDMAUDIOMIXBUF pMixBuf, void *pvBuf, uint32_t cbBuf, uint32_t *pcRead);
-int audioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, void *pvBuf, uint32_t cbBuf, uint32_t *pcRead);
-void audioMixBufReset(PPDMAUDIOMIXBUF pMixBuf);
-void audioMixBufSetVolume(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOVOLUME pVol);
-uint32_t audioMixBufSize(PPDMAUDIOMIXBUF pMixBuf);
-uint32_t audioMixBufSizeBytes(PPDMAUDIOMIXBUF pMixBuf);
-void audioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf);
-int audioMixBufWriteAt(PPDMAUDIOMIXBUF pMixBuf, uint32_t offSamples, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
-int audioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, uint32_t offSamples, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
-int audioMixBufWriteCirc(PPDMAUDIOMIXBUF pMixBuf, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
-int audioMixBufWriteCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
+int AudioMixBufAcquire(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToRead, PPDMAUDIOSAMPLE *ppvSamples, uint32_t *pcSamplesRead);
+inline uint32_t AudioMixBufBytesToSamples(PPDMAUDIOMIXBUF pMixBuf);
+void AudioMixBufDestroy(PPDMAUDIOMIXBUF pMixBuf);
+void AudioMixBufFinish(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamplesToClear);
+uint32_t AudioMixBufFree(PPDMAUDIOMIXBUF pMixBuf);
+uint32_t AudioMixBufFreeBytes(PPDMAUDIOMIXBUF pMixBuf);
+int AudioMixBufInit(PPDMAUDIOMIXBUF pMixBuf, const char *pszName, PPDMPCMPROPS pProps, uint32_t cSamples);
+bool AudioMixBufIsEmpty(PPDMAUDIOMIXBUF pMixBuf);
+int AudioMixBufLinkTo(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOMIXBUF pParent);
+uint32_t AudioMixBufMixed(PPDMAUDIOMIXBUF pMixBuf);
+int AudioMixBufMixToChildren(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples, uint32_t *pcProcessed);
+int AudioMixBufMixToParent(PPDMAUDIOMIXBUF pMixBuf, uint32_t cSamples, uint32_t *pcProcessed);
+uint32_t AudioMixBufProcessed(PPDMAUDIOMIXBUF pMixBuf);
+int AudioMixBufReadAt(PPDMAUDIOMIXBUF pMixBuf, uint32_t offSamples, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead);
+int AudioMixBufReadAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, uint32_t offSamples, void *pvBuf, uint32_t cbBuf, uint32_t *pcbRead);
+int AudioMixBufReadCirc(PPDMAUDIOMIXBUF pMixBuf, void *pvBuf, uint32_t cbBuf, uint32_t *pcRead);
+int AudioMixBufReadCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, void *pvBuf, uint32_t cbBuf, uint32_t *pcRead);
+void AudioMixBufReset(PPDMAUDIOMIXBUF pMixBuf);
+void AudioMixBufSetVolume(PPDMAUDIOMIXBUF pMixBuf, PPDMAUDIOVOLUME pVol);
+uint32_t AudioMixBufSize(PPDMAUDIOMIXBUF pMixBuf);
+uint32_t AudioMixBufSizeBytes(PPDMAUDIOMIXBUF pMixBuf);
+void AudioMixBufUnlink(PPDMAUDIOMIXBUF pMixBuf);
+int AudioMixBufWriteAt(PPDMAUDIOMIXBUF pMixBuf, uint32_t offSamples, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
+int AudioMixBufWriteAtEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, uint32_t offSamples, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
+int AudioMixBufWriteCirc(PPDMAUDIOMIXBUF pMixBuf, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
+int AudioMixBufWriteCircEx(PPDMAUDIOMIXBUF pMixBuf, PDMAUDIOMIXBUFFMT enmFmt, const void *pvBuf, uint32_t cbBuf, uint32_t *pcWritten);
 
 #endif /* AUDIO_MIXBUF_H */
 
diff --git a/src/VBox/Devices/Audio/AudioMixer.cpp b/src/VBox/Devices/Audio/AudioMixer.cpp
index 336ac0c..6264ed8 100644
--- a/src/VBox/Devices/Audio/AudioMixer.cpp
+++ b/src/VBox/Devices/Audio/AudioMixer.cpp
@@ -40,7 +40,7 @@
 static int audioMixerUpdateSinkVolume(PAUDMIXSINK pSink, const PPDMAUDIOVOLUME pVolMaster);
 
 
-int audioMixerAddSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR enmDir, PAUDMIXSINK *ppSink)
+int AudioMixerAddSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR enmDir, PAUDMIXSINK *ppSink)
 {
     AssertPtrReturn(pMixer, VERR_INVALID_POINTER);
     AssertPtrReturn(pszName, VERR_INVALID_POINTER);
@@ -85,7 +85,7 @@ int audioMixerAddSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR enm
     return rc;
 }
 
-int audioMixerAddStreamIn(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMIN pStream,
+int AudioMixerAddStreamIn(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMIN pStream,
                           uint32_t uFlags, PAUDMIXSTREAM *ppStream)
 {
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
@@ -123,7 +123,7 @@ int audioMixerAddStreamIn(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPD
     return rc;
 }
 
-int audioMixerAddStreamOut(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMOUT pStream,
+int AudioMixerAddStreamOut(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMOUT pStream,
                            uint32_t uFlags, PAUDMIXSTREAM *ppStream)
 {
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
@@ -161,12 +161,12 @@ int audioMixerAddStreamOut(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PP
     return rc;
 }
 
-int audioMixerControlStream(PAUDIOMIXER pMixer, PAUDMIXSTREAM pHandle)
+int AudioMixerControlStream(PAUDIOMIXER pMixer, PAUDMIXSTREAM pHandle)
 {
     return VERR_NOT_IMPLEMENTED;
 }
 
-int audioMixerCreate(const char *pszName, uint32_t uFlags, PAUDIOMIXER *ppMixer)
+int AudioMixerCreate(const char *pszName, uint32_t uFlags, PAUDIOMIXER *ppMixer)
 {
     AssertPtrReturn(pszName, VERR_INVALID_POINTER);
     /** @todo Add flag validation. */
@@ -204,7 +204,7 @@ int audioMixerCreate(const char *pszName, uint32_t uFlags, PAUDIOMIXER *ppMixer)
     return rc;
 }
 
-void audioMixerDestroy(PAUDIOMIXER pMixer)
+void AudioMixerDestroy(PAUDIOMIXER pMixer)
 {
     if (pMixer)
     {
@@ -216,7 +216,7 @@ void audioMixerDestroy(PAUDIOMIXER pMixer)
             PAUDMIXSINK pNext = RTListNodeGetNext(&pSink->Node, AUDMIXSINK, Node);
             bool fLast = RTListNodeIsLast(&pMixer->lstSinks, &pSink->Node);
 
-            audioMixerRemoveSink(pMixer, pSink);
+            AudioMixerRemoveSink(pMixer, pSink);
 
             if (fLast)
                 break;
@@ -252,7 +252,7 @@ static void audioMixerDestroyStream(PAUDMIXSTREAM pStream)
     RTMemFree(pStream);
 }
 
-uint32_t audioMixerGetStreamCount(PAUDIOMIXER pMixer)
+uint32_t AudioMixerGetStreamCount(PAUDIOMIXER pMixer)
 {
     AssertPtrReturn(pMixer, 0);
 
@@ -265,7 +265,7 @@ uint32_t audioMixerGetStreamCount(PAUDIOMIXER pMixer)
     return cStreams;
 }
 
-void audioMixerInvalidate(PAUDIOMIXER pMixer)
+void AudioMixerInvalidate(PAUDIOMIXER pMixer)
 {
     AssertPtrReturnVoid(pMixer);
 
@@ -280,7 +280,7 @@ void audioMixerInvalidate(PAUDIOMIXER pMixer)
     }
 }
 
-int audioMixerProcessSinkIn(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed)
+int AudioMixerProcessSinkIn(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed)
 {
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
     AssertPtrReturn(pvBuf, VERR_INVALID_POINTER);
@@ -343,12 +343,12 @@ int audioMixerProcessSinkIn(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint
     return rc;
 }
 
-int audioMixerProcessSinkOut(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed)
+int AudioMixerProcessSinkOut(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed)
 {
     return VERR_NOT_IMPLEMENTED;
 }
 
-void audioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
+void AudioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
 {
     AssertPtrReturnVoid(pMixer);
     if (!pSink)
@@ -360,7 +360,7 @@ void audioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
         PAUDMIXSTREAM pNext = RTListNodeGetNext(&pStream->Node, AUDMIXSTREAM, Node);
         bool fLast = RTListNodeIsLast(&pSink->lstStreams, &pStream->Node);
 
-        audioMixerRemoveStream(pSink, pStream);
+        AudioMixerRemoveStream(pSink, pStream);
 
         if (fLast)
             break;
@@ -380,7 +380,7 @@ void audioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink)
     audioMixerDestroySink(pSink);
 }
 
-void audioMixerRemoveStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
+void AudioMixerRemoveStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
 {
     AssertPtrReturnVoid(pSink);
     if (!pStream)
@@ -399,7 +399,7 @@ void audioMixerRemoveStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream)
     audioMixerDestroyStream(pStream);
 }
 
-int audioMixerSetDeviceFormat(PAUDIOMIXER pMixer, PPDMAUDIOSTREAMCFG pCfg)
+int AudioMixerSetDeviceFormat(PAUDIOMIXER pMixer, PPDMAUDIOSTREAMCFG pCfg)
 {
     AssertPtrReturn(pMixer, VERR_INVALID_POINTER);
     AssertPtrReturn(pCfg, VERR_INVALID_POINTER);
@@ -437,16 +437,16 @@ static int audioMixerUpdateSinkVolume(PAUDMIXSINK pSink, const PPDMAUDIOVOLUME p
     RTListForEach(&pSink->lstStreams, pStream, AUDMIXSTREAM, Node)
     {
         if (fOut)
-            audioMixBufSetVolume(&pStream->pOut->MixBuf, &volSink);
+            AudioMixBufSetVolume(&pStream->pOut->MixBuf, &volSink);
         else
-            audioMixBufSetVolume(&pStream->pIn->MixBuf,  &volSink);
+            AudioMixBufSetVolume(&pStream->pIn->MixBuf,  &volSink);
     }
 
     return VINF_SUCCESS;
 }
 
 /** Set the master volume of the mixer. */
-int audioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol)
+int AudioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol)
 {
     AssertPtrReturn(pMixer, VERR_INVALID_POINTER);
     AssertPtrReturn(pVol,   VERR_INVALID_POINTER);
@@ -457,12 +457,12 @@ int audioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol)
                  pMixer->pszName, pVol->uLeft, pVol->uRight,
                  pMixer->VolMaster.fMuted, pMixer->VolMaster.uLeft, pMixer->VolMaster.uRight));
 
-    audioMixerInvalidate(pMixer);
+    AudioMixerInvalidate(pMixer);
     return VINF_SUCCESS;
 }
 
 /** Set the volume of an individual sink. */
-int audioMixerSetSinkVolume(PAUDMIXSINK pSink, PPDMAUDIOVOLUME pVol)
+int AudioMixerSetSinkVolume(PAUDMIXSINK pSink, PPDMAUDIOVOLUME pVol)
 {
     AssertPtrReturn(pSink, VERR_INVALID_POINTER);
     AssertPtrReturn(pVol,  VERR_INVALID_POINTER);
diff --git a/src/VBox/Devices/Audio/AudioMixer.h b/src/VBox/Devices/Audio/AudioMixer.h
index 0b029f3..5a3cfdc 100644
--- a/src/VBox/Devices/Audio/AudioMixer.h
+++ b/src/VBox/Devices/Audio/AudioMixer.h
@@ -91,21 +91,21 @@ typedef enum AUDMIXOP
 } AUDMIXOP;
 
 
-int audioMixerAddSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR enmDir, PAUDMIXSINK *ppSink);
-int audioMixerAddStreamIn(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMIN pStream, uint32_t uFlags, PAUDMIXSTREAM *ppStream);
-int audioMixerAddStreamOut(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMOUT pStream, uint32_t uFlags, PAUDMIXSTREAM *ppStream);
-int audioMixerControlStream(AUDMIXSTREAM pHandle); /** @todo Implement me. */
-int audioMixerCreate(const char *pszName, uint32_t uFlags, PAUDIOMIXER *ppMixer);
-void audioMixerDestroy(PAUDIOMIXER pMixer);
-uint32_t audioMixerGetStreamCount(PAUDIOMIXER pMixer);
-void audioMixerInvalidate(PAUDIOMIXER pMixer);
-int audioMixerProcessSinkIn(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed);
-int audioMixerProcessSinkOut(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed);
-void audioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink);
-void audioMixerRemoveStream(PAUDMIXSINK pMixer, PAUDMIXSTREAM pStream);
-int audioMixerSetDeviceFormat(PAUDIOMIXER pMixer, PPDMAUDIOSTREAMCFG pCfg);
-int audioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol);
-int audioMixerSetSinkVolume(PAUDMIXSINK pSink, PPDMAUDIOVOLUME pVol);
+int AudioMixerAddSink(PAUDIOMIXER pMixer, const char *pszName, AUDMIXSINKDIR enmDir, PAUDMIXSINK *ppSink);
+int AudioMixerAddStreamIn(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMIN pStream, uint32_t uFlags, PAUDMIXSTREAM *ppStream);
+int AudioMixerAddStreamOut(PAUDMIXSINK pSink, PPDMIAUDIOCONNECTOR pConnector, PPDMAUDIOGSTSTRMOUT pStream, uint32_t uFlags, PAUDMIXSTREAM *ppStream);
+int AudioMixerControlStream(AUDMIXSTREAM pHandle); /** @todo Implement me. */
+int AudioMixerCreate(const char *pszName, uint32_t uFlags, PAUDIOMIXER *ppMixer);
+void AudioMixerDestroy(PAUDIOMIXER pMixer);
+uint32_t AudioMixerGetStreamCount(PAUDIOMIXER pMixer);
+void AudioMixerInvalidate(PAUDIOMIXER pMixer);
+int AudioMixerProcessSinkIn(PAUDMIXSINK pSink, AUDMIXOP enmOp, void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed);
+int AudioMixerProcessSinkOut(PAUDMIXSINK pSink, AUDMIXOP enmOp, const void *pvBuf, uint32_t cbBuf, uint32_t *pcbProcessed);
+void AudioMixerRemoveSink(PAUDIOMIXER pMixer, PAUDMIXSINK pSink);
+void AudioMixerRemoveStream(PAUDMIXSINK pSink, PAUDMIXSTREAM pStream);
+int AudioMixerSetDeviceFormat(PAUDIOMIXER pMixer, PPDMAUDIOSTREAMCFG pCfg);
+int AudioMixerSetMasterVolume(PAUDIOMIXER pMixer, PPDMAUDIOVOLUME pVol);
+int AudioMixerSetSinkVolume(PAUDMIXSINK pSink, PPDMAUDIOVOLUME pVol);
 
 #endif /* AUDIO_MIXER_H */
 
diff --git a/src/VBox/Devices/Audio/DevIchAc97.cpp b/src/VBox/Devices/Audio/DevIchAc97.cpp
index c2daf62..bb55efe 100644
--- a/src/VBox/Devices/Audio/DevIchAc97.cpp
+++ b/src/VBox/Devices/Audio/DevIchAc97.cpp
@@ -29,14 +29,7 @@
 #endif
 
 #include "VBoxDD.h"
-
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# include "AudioMixer.h"
-#else
- extern "C" {
-  #include "audio.h"
- }
-#endif
+#include "AudioMixer.h"
 
 #ifdef LOG_GROUP
  #undef LOG_GROUP
@@ -59,13 +52,9 @@
 #define AC97_SSM_VERSION 1
 
 #ifdef VBOX
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-#  define SOFT_VOLUME /** @todo Get rid of this crap. */
-# else
-#  undef  SOFT_VOLUME
-# endif
+# define SOFT_VOLUME /** @todo Get rid of this crap. */
 #else
-# define  SOFT_VOLUME
+# define SOFT_VOLUME
 #endif
 
 #define SR_FIFOE RT_BIT(4)          /* rwc, fifo error */
@@ -210,7 +199,6 @@ typedef struct AC97BusMasterRegs
 /** Pointer to a AC97 bus master register. */
 typedef AC97BusMasterRegs *PAC97BMREG;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 typedef struct AC97INPUTSTREAM
 {
     /** PCM line input stream. */
@@ -263,7 +251,6 @@ typedef struct AC97DRIVER
     /** Stream for output. */
     AC97OUTPUTSTREAM                   Out;
 } AC97DRIVER, *PAC97DRIVER;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 typedef struct AC97STATE
 {
@@ -279,17 +266,16 @@ typedef struct AC97STATE
     /** Bus Master Control Registers for PCM in, PCM out, and Mic in */
     AC97BusMasterRegs       bm_regs[3];
     uint8_t                 mixer_data[256];
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /** The emulation timer for handling the attached
      *  LUN drivers. */
     PTMTIMERR3              pTimer;
     /** Timer ticks for handling the LUN drivers. */
     uint64_t                uTicks;
-# ifdef VBOX_WITH_STATISTICS
+#ifdef VBOX_WITH_STATISTICS
     STAMPROFILE             StatTimer;
     STAMCOUNTER             StatBytesRead;
     STAMCOUNTER             StatBytesWritten;
-# endif
+#endif
     /** List of associated LUN drivers. */
     RTLISTANCHOR            lstDrv;
     /** The device' software mixer. */
@@ -300,15 +286,6 @@ typedef struct AC97STATE
     R3PTRTYPE(PAUDMIXSINK)  pSinkLineIn;
     /** Audio sink for microphone input. */
     R3PTRTYPE(PAUDMIXSINK)  pSinkMicIn;
-#else
-    QEMUSoundCard           card;
-    /** PCM in */
-    SWVoiceIn              *voice_pi;
-    /** PCM out */
-    SWVoiceOut             *voice_po;
-    /** Mic in */
-    SWVoiceIn              *voice_mc;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     uint8_t                 silence[128];
     int                     bup_flag;
     /** Pointer to the device instance. */
@@ -369,14 +346,8 @@ enum
 
 #define GET_BM(a_idx)   ( ((a_idx) >> 4) & 3 )
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static DECLCALLBACK(void) ichac97Timer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser);
 static int ichac97TransferAudio(PAC97STATE pThis, int index, uint32_t cbElapsed);
-#else
-static void ichac97OutputCallback(void *pvContext, int cbFree);
-static void ichac97InputCallback(void *pvContext, int cbAvail);
-static void ichac97MicInCallback(void *pvContext, int cbAvail);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 static void ichac97WarmReset(PAC97STATE pThis)
 {
@@ -463,7 +434,6 @@ static void ichac97StreamSetActive(PAC97STATE pThis, int bm_index, int on)
 
     LogFlowFunc(("index=%d, on=%d\n", bm_index, on));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     switch (bm_index)
     {
@@ -489,15 +459,6 @@ static void ichac97StreamSetActive(PAC97STATE pThis, int bm_index, int on)
             AssertMsgFailed(("Wrong index %d\n", bm_index));
             break;
     }
-#else
-    switch (bm_index)
-    {
-        case PI_INDEX: AUD_set_active_in( pThis->voice_pi, on); break;
-        case PO_INDEX: AUD_set_active_out(pThis->voice_po, on); break;
-        case MC_INDEX: AUD_set_active_in( pThis->voice_mc, on); break;
-        default:       AssertFailed (); break;
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 }
 
 static void ichac97ResetBMRegs(PAC97STATE pThis, PAC97BMREG pReg)
@@ -549,7 +510,6 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
 
     int rc;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     uint8_t uLUN = 0;
 
@@ -581,8 +541,8 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                     LogFlowFunc(("LUN#%RU8: Opened line input with rc=%Rrc\n", uLUN, rc));
                     if (rc == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
                     {
-                        audioMixerRemoveStream(pThis->pSinkLineIn, pDrv->LineIn.phStrmIn);
-                        rc = audioMixerAddStreamIn(pThis->pSinkLineIn,
+                        AudioMixerRemoveStream(pThis->pSinkLineIn, pDrv->LineIn.phStrmIn);
+                        rc = AudioMixerAddStreamIn(pThis->pSinkLineIn,
                                                    pDrv->pConnector, pDrv->LineIn.pStrmIn,
                                                    0 /* uFlags */,
                                                    &pDrv->LineIn.phStrmIn);
@@ -608,8 +568,8 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                     LogFlowFunc(("LUN#%RU8: Opened output with rc=%Rrc\n", uLUN, rc));
                     if (rc == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
                     {
-                        audioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
-                        rc = audioMixerAddStreamOut(pThis->pSinkOutput,
+                        AudioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
+                        rc = AudioMixerAddStreamOut(pThis->pSinkOutput,
                                                     pDrv->pConnector, pDrv->Out.pStrmOut,
                                                     0 /* uFlags */,
                                                     &pDrv->Out.phStrmOut);
@@ -636,8 +596,8 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                     LogFlowFunc(("LUN#%RU8: Opened mic input with rc=%Rrc\n", uLUN, rc));
                     if (rc == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
                     {
-                        audioMixerRemoveStream(pThis->pSinkMicIn, pDrv->MicIn.phStrmIn);
-                        rc = audioMixerAddStreamIn(pThis->pSinkMicIn,
+                        AudioMixerRemoveStream(pThis->pSinkMicIn, pDrv->MicIn.phStrmIn);
+                        rc = AudioMixerAddStreamIn(pThis->pSinkMicIn,
                                                    pDrv->pConnector, pDrv->MicIn.pStrmIn,
                                                    0 /* uFlags */,
                                                    &pDrv->MicIn.phStrmIn);
@@ -664,7 +624,7 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                 RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
                 {
                     pDrv->pConnector->pfnCloseIn(pDrv->pConnector, pDrv->LineIn.pStrmIn);
-                    audioMixerRemoveStream(pThis->pSinkLineIn, pDrv->LineIn.phStrmIn);
+                    AudioMixerRemoveStream(pThis->pSinkLineIn, pDrv->LineIn.phStrmIn);
 
                     pDrv->LineIn.pStrmIn  = NULL;
                     pDrv->LineIn.phStrmIn = NULL;
@@ -679,7 +639,7 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                 RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
                 {
                     pDrv->pConnector->pfnCloseOut(pDrv->pConnector, pDrv->Out.pStrmOut);
-                    audioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
+                    AudioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
 
                     pDrv->Out.pStrmOut  = NULL;
                     pDrv->Out.phStrmOut = NULL;
@@ -694,7 +654,7 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
                 RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
                 {
                     pDrv->pConnector->pfnCloseIn(pDrv->pConnector, pDrv->MicIn.pStrmIn);
-                    audioMixerRemoveStream(pThis->pSinkMicIn, pDrv->MicIn.phStrmIn);
+                    AudioMixerRemoveStream(pThis->pSinkMicIn, pDrv->MicIn.phStrmIn);
 
                     pDrv->MicIn.pStrmIn  = NULL;
                     pDrv->MicIn.phStrmIn = NULL;
@@ -712,75 +672,7 @@ static void ichac97OpenStream(PAC97STATE pThis, int index, uint16_t freq)
         rc = VINF_SUCCESS;
     }
 
-    audioMixerInvalidate(pThis->pMixer);
-#else
-    if (freq)
-    {
-        audsettings_t as;
-        as.freq       = freq;
-        as.nchannels  = 2;
-        as.fmt        = AUD_FMT_S16;
-        as.endianness = 0;
-
-        switch (index)
-        {
-            case PI_INDEX: /* PCM in */
-                pThis->voice_pi = AUD_open_in(&pThis->card, pThis->voice_pi, "ac97.pi", pThis, ichac97InputCallback, &as);
-#ifdef LOG_VOICES
-                LogRel(("AC97: open PI freq=%d (%s)\n", freq, pThis->voice_pi ? "ok" : "FAIL"));
-#endif
-                rc = pThis->voice_pi ? VINF_SUCCESS : VERR_GENERAL_FAILURE;
-                break;
-
-            case PO_INDEX: /* PCM out */
-                pThis->voice_po = AUD_open_out(&pThis->card, pThis->voice_po, "ac97.po", pThis, ichac97OutputCallback, &as);
-#ifdef LOG_VOICES
-                LogRel(("AC97: open PO freq=%d (%s)\n", freq, pThis->voice_po ? "ok" : "FAIL"));
-#endif
-                rc = pThis->voice_po ? VINF_SUCCESS : VERR_GENERAL_FAILURE;
-                break;
-
-            case MC_INDEX: /* Mic in */
-                pThis->voice_mc = AUD_open_in(&pThis->card, pThis->voice_mc, "ac97.mc", pThis, ichac97MicInCallback, &as);
-#ifdef LOG_VOICES
-                LogRel(("AC97: open MC freq=%d (%s)\n", freq, pThis->voice_mc ? "ok" : "FAIL"));
-#endif
-                rc = pThis->voice_mc ? VINF_SUCCESS : VERR_GENERAL_FAILURE;
-                break;
-        }
-    }
-    else
-    {
-        switch (index)
-        {
-            case PI_INDEX:
-                AUD_close_in(&pThis->card, pThis->voice_pi);
-                pThis->voice_pi = NULL;
-#ifdef LOG_VOICES
-                LogRel(("AC97: Closing PCM IN\n"));
-#endif
-                break;
-
-            case PO_INDEX:
-                AUD_close_out(&pThis->card, pThis->voice_po);
-                pThis->voice_po = NULL;
-#ifdef LOG_VOICES
-                LogRel(("AC97: Closing PCM OUT\n"));
-#endif
-                break;
-
-            case MC_INDEX:
-                AUD_close_in(&pThis->card, pThis->voice_mc);
-                pThis->voice_mc = NULL;
-#ifdef LOG_VOICES
-                LogRel(("AC97: Closing MIC IN\n"));
-#endif
-                break;
-        }
-
-        rc = VINF_SUCCESS;
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+    AudioMixerInvalidate(pThis->pMixer);
 
     LogFlowFuncLeaveRC(rc);
 }
@@ -794,13 +686,9 @@ static void ichac97ResetStreams(PAC97STATE pThis, uint8_t active[LAST_INDEX])
 
     ichac97OpenStream(pThis, PI_INDEX, uFreq);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
         pDrv->pConnector->pfnEnableIn(pDrv->pConnector, pDrv->LineIn.pStrmIn, fEnable);
-#else
-    AUD_set_active_in(pThis->voice_pi, active[PI_INDEX]);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     uFreq = ichac97MixerLoad(pThis, AC97_PCM_Front_DAC_Rate);
     fEnable = RT_BOOL(active[PO_INDEX]);
@@ -808,12 +696,8 @@ static void ichac97ResetStreams(PAC97STATE pThis, uint8_t active[LAST_INDEX])
 
     ichac97OpenStream(pThis, PO_INDEX, uFreq);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
         pDrv->pConnector->pfnEnableOut(pDrv->pConnector, pDrv->Out.pStrmOut, fEnable);
-#else
-    AUD_set_active_out(pThis->voice_po, active[PO_INDEX]);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     uFreq = ichac97MixerLoad(pThis, AC97_MIC_ADC_Rate);
     fEnable = RT_BOOL(active[MC_INDEX]);
@@ -821,19 +705,11 @@ static void ichac97ResetStreams(PAC97STATE pThis, uint8_t active[LAST_INDEX])
 
     ichac97OpenStream(pThis, MC_INDEX, uFreq);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
         pDrv->pConnector->pfnEnableIn(pDrv->pConnector, pDrv->MicIn.pStrmIn, fEnable);
-#else
-    AUD_set_active_in(pThis->voice_mc, active[MC_INDEX]);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static void ichac97SetVolume(PAC97STATE pThis, int index, PDMAUDIOMIXERCTL mt, uint32_t val)
-#else
-static void ichac97SetVolume(PAC97STATE pThis, int index, audmixerctl_t mt, uint32_t val)
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 {
     int mute = (val >> MUTE_SHIFT) & 1;
     uint8_t rvol = val & VOL_MASK;
@@ -855,41 +731,31 @@ static void ichac97SetVolume(PAC97STATE pThis, int index, audmixerctl_t mt, uint
     LogFunc(("mt=%ld, val=%RX32, mute=%RTbool\n", mt, val, RT_BOOL(mute)));
 
 #ifdef SOFT_VOLUME
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     if (pThis->pMixer) /* Device can be in reset state, so no mixer available. */
     {
         PDMAUDIOVOLUME vol = { RT_BOOL(mute), lvol, rvol };
         switch (mt)
         {
             case PDMAUDIOMIXERCTL_VOLUME:
-                audioMixerSetMasterVolume(pThis->pMixer, &vol);
+                AudioMixerSetMasterVolume(pThis->pMixer, &vol);
                 break;
 
             case PDMAUDIOMIXERCTL_PCM:
-                audioMixerSetSinkVolume(pThis->pSinkOutput, &vol);
+                AudioMixerSetSinkVolume(pThis->pSinkOutput, &vol);
                 break;
 
             case PDMAUDIOMIXERCTL_MIC_IN:
-                audioMixerSetSinkVolume(pThis->pSinkMicIn, &vol);
+                AudioMixerSetSinkVolume(pThis->pSinkMicIn, &vol);
                 break;
 
             case PDMAUDIOMIXERCTL_LINE_IN:
-                audioMixerSetSinkVolume(pThis->pSinkLineIn, &vol);
+                AudioMixerSetSinkVolume(pThis->pSinkLineIn, &vol);
                 break;
 
             default:
                 break;
         }
     }
-# else /* !VBOX_WITH_PDM_AUDIO_DRIVER */
-    if (index == AC97_Master_Volume_Mute)
-        AUD_set_volume_out(pThis->voice_po, mute, lvol, rvol);
-    else
-        AUD_set_volume(mt, &mute, &lvol, &rvol);
-# endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
-#else /* !SOFT_VOLUME */
-    AUD_set_volume(mt, &mute, &lvol, &rvol);
 #endif /* SOFT_VOLUME */
 
     rvol = VOL_MASK - ((VOL_MASK * rvol) / 255);
@@ -965,9 +831,7 @@ static void ichac97MixerReset(PAC97STATE pThis)
 
     RT_ZERO(pThis->mixer_data);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
-
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
     {
         pDrv->Out.phStrmOut   = NULL;
@@ -981,11 +845,11 @@ static void ichac97MixerReset(PAC97STATE pThis)
 
     if (pThis->pMixer)
     {
-        audioMixerDestroy(pThis->pMixer);
+        AudioMixerDestroy(pThis->pMixer);
         pThis->pMixer = NULL;
     }
 
-    int rc2 = audioMixerCreate("AC'97 Mixer", 0 /* uFlags */, &pThis->pMixer);
+    int rc2 = AudioMixerCreate("AC'97 Mixer", 0 /* uFlags */, &pThis->pMixer);
     if (RT_SUCCESS(rc2))
     {
         /* Set a default audio format for our mixer. */
@@ -995,23 +859,22 @@ static void ichac97MixerReset(PAC97STATE pThis)
         streamCfg.enmFormat     = AUD_FMT_S16;
         streamCfg.enmEndianness = PDMAUDIOHOSTENDIANNESS;
 
-        rc2 = audioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
+        rc2 = AudioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
         AssertRC(rc2);
 
         /* Add all required audio sinks. */
-        rc2 = audioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
+        rc2 = AudioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
                                AUDMIXSINKDIR_OUTPUT, &pThis->pSinkOutput);
         AssertRC(rc2);
 
-        rc2 = audioMixerAddSink(pThis->pMixer, "[Recording] Line In",
+        rc2 = AudioMixerAddSink(pThis->pMixer, "[Recording] Line In",
                                 AUDMIXSINKDIR_INPUT, &pThis->pSinkLineIn);
         AssertRC(rc2);
 
-        rc2 = audioMixerAddSink(pThis->pMixer, "[Recording] Microphone In",
+        rc2 = AudioMixerAddSink(pThis->pMixer, "[Recording] Microphone In",
                                 AUDMIXSINKDIR_INPUT, &pThis->pSinkMicIn);
         AssertRC(rc2);
     }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     ichac97MixerStore(pThis, AC97_Reset                   , 0x0000); /* 6940 */
     ichac97MixerStore(pThis, AC97_Master_Volume_Mono_Mute , 0x8000);
@@ -1047,15 +910,10 @@ static void ichac97MixerReset(PAC97STATE pThis)
         ichac97MixerStore(pThis, AC97_Vendor_ID2              , 0x7600); /* 7608 */
     }
     ichac97RecordSelect(pThis, 0);
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+
     ichac97SetVolume(pThis, AC97_Master_Volume_Mute,  PDMAUDIOMIXERCTL_VOLUME,  0x8000);
     ichac97SetVolume(pThis, AC97_PCM_Out_Volume_Mute, PDMAUDIOMIXERCTL_PCM,     0x8808);
     ichac97SetVolume(pThis, AC97_Line_In_Volume_Mute, PDMAUDIOMIXERCTL_LINE_IN, 0x8808);
-# else
-    ichac97SetVolume(pThis, AC97_Master_Volume_Mute,  AUD_MIXER_VOLUME,  0x8000);
-    ichac97SetVolume(pThis, AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM,     0x8808);
-    ichac97SetVolume(pThis, AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN, 0x8808);
-# endif
 
     /* Reset all streams. */
     uint8_t active[LAST_INDEX] = { 0 };
@@ -1103,7 +961,6 @@ static int ichac97WriteAudio(PAC97STATE pThis, PAC97BMREG pReg, uint32_t cbMax,
         cbToRead = RT_MIN(cbToWrite, pThis->cbReadWriteBuf);
         PDMDevHlpPhysRead(pDevIns, addr, pThis->pvReadWriteBuf, cbToRead); /** @todo Check rc? */
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         uint32_t cbWritten;
 
         /* Just multiplex the output to the connected backends.
@@ -1120,9 +977,7 @@ static int ichac97WriteAudio(PAC97STATE pThis, PAC97BMREG pReg, uint32_t cbMax,
             cbWrittenMin = RT_MIN(cbWrittenMin, cbWritten);
             LogFlowFunc(("\tLUN#%RU8: cbWritten=%RU32, cWrittenMin=%RU32\n", pDrv->uLUN, cbWritten, cbWrittenMin));
         }
-#else
-        cbWrittenMin = AUD_write(pThis->voice_po, pThis->pvReadWriteBuf, cbToRead);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+
         LogFlowFunc(("\tcbToRead=%RU32, cbWrittenMin=%RU32, cbToWrite=%RU32, cbLeft=%RU32\n",
                      cbToRead, cbWrittenMin, cbToWrite, cbToWrite - cbWrittenMin));
 
@@ -1185,7 +1040,6 @@ static void ichac97WriteBUP(PAC97STATE pThis, uint32_t cbElapsed)
         uint32_t cbToWrite = RT_MIN(cbElapsed, (uint32_t)sizeof(pThis->silence));
         while (cbToWrite)
         {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             PAC97DRIVER pDrv;
             uint32_t cbWritten;
             RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
@@ -1197,9 +1051,6 @@ static void ichac97WriteBUP(PAC97STATE pThis, uint32_t cbElapsed)
 
                 cbWrittenMin = RT_MIN(cbWrittenMin, cbWritten);
             }
-#else
-            cbWrittenMin = AUD_write(pThis->voice_po, pThis->silence, cbToWrite);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
             if (!cbWrittenMin)
                 return;
@@ -1223,7 +1074,6 @@ static int ichac97ReadAudio(PAC97STATE pThis, PAC97BMREG pReg, uint32_t cbMax, u
 
     int rc;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* Select audio sink to process. */
     PAUDMIXSINK pSink = (pReg - pThis->bm_regs) == MC_INDEX ? pThis->pSinkMicIn : pThis->pSinkLineIn;
     AssertPtr(pSink);
@@ -1242,7 +1092,7 @@ static int ichac97ReadAudio(PAC97STATE pThis, PAC97BMREG pReg, uint32_t cbMax, u
     uint8_t *pvMixBuf = (uint8_t *)RTMemAlloc(cbMixBuf);
     if (pvMixBuf)
     {
-        rc = audioMixerProcessSinkIn(pSink, AUDMIXOP_BLEND, pvMixBuf, cbToRead, &cbRead);
+        rc = AudioMixerProcessSinkIn(pSink, AUDMIXOP_BLEND, pvMixBuf, cbToRead, &cbRead);
         if (   RT_SUCCESS(rc)
             && cbRead)
         {
@@ -1262,50 +1112,8 @@ static int ichac97ReadAudio(PAC97STATE pThis, PAC97BMREG pReg, uint32_t cbMax, u
     }
 
     return rc;
-#else
-    rc = VINF_SUCCESS;
-
-    uint32_t    addr = pReg->bd.addr;
-    uint32_t    temp = pReg->picb << 1;
-    uint32_t    nread = 0;
-    int         to_copy = 0;
-
-    SWVoiceIn  *voice = (pReg - pThis->bm_regs) == MC_INDEX ? pThis->voice_mc : pThis->voice_pi;
-
-    temp = audio_MIN(temp, (uint32_t)cbMax);
-    if (!temp)
-    {
-        *pcbRead = 0;
-        return VINF_EOF;
-    }
-
-    uint8_t tmpbuf[4096];
-    while (temp)
-    {
-        int acquired;
-        to_copy = audio_MIN(temp, sizeof(tmpbuf));
-        acquired = AUD_read(voice, tmpbuf, to_copy);
-        if (!acquired)
-        {
-            rc = VERR_GENERAL_FAILURE; /* Not worth fixing anymore. */
-            break;
-        }
-        PDMDevHlpPCIPhysWrite(pDevIns, addr, tmpbuf, acquired);
-        temp  -= acquired;
-        addr  += acquired;
-        nread += acquired;
-    }
-
-    pReg->bd.addr = addr;
-
-    if (RT_SUCCESS(rc))
-        *pcbRead = nread;
-
-    return rc;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static DECLCALLBACK(void) ichac97Timer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser)
 {
     PAC97STATE pThis = PDMINS_2_DATA(pDevIns, PAC97STATE);
@@ -1381,7 +1189,6 @@ static DECLCALLBACK(void) ichac97Timer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void
 
     STAM_PROFILE_STOP(&pThis->StatTimer, a);
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 static int ichac97TransferAudio(PAC97STATE pThis, int index, uint32_t cbElapsed)
 {
@@ -1517,23 +1324,6 @@ static int ichac97TransferAudio(PAC97STATE pThis, int index, uint32_t cbElapsed)
     return rc;
 }
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-static void ichac97InputCallback(void *pvContext, int cbAvail)
-{
-    ichac97TransferAudio((AC97STATE *)pvContext, PI_INDEX, cbAvail);
-}
-
-static void ichac97MicInCallback(void *pvContext, int cbAvail)
-{
-    ichac97TransferAudio((AC97STATE *)pvContext, MC_INDEX, cbAvail);
-}
-
-static void ichac97OutputCallback(void *pvContext, int cbFree)
-{
-    ichac97TransferAudio((AC97STATE *)pvContext, PO_INDEX, cbFree);
-}
-#endif
-
 /**
  * @callback_method_impl{FNIOMIOPORTIN}
  */
@@ -1910,25 +1700,13 @@ static DECLCALLBACK(int) ichac97IOPortNAMWrite(PPDMDEVINS pDevIns,
                     ichac97MixerStore(pThis, index, u32);
                     break;
                 case AC97_Master_Volume_Mute:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     ichac97SetVolume(pThis, index, PDMAUDIOMIXERCTL_VOLUME, u32);
-#else
-                    ichac97SetVolume(pThis, index, AUD_MIXER_VOLUME, u32);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
                 case AC97_PCM_Out_Volume_Mute:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     ichac97SetVolume(pThis, index, PDMAUDIOMIXERCTL_PCM, u32);
-#else
-                    ichac97SetVolume(pThis, index, AUD_MIXER_PCM, u32);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
                 case AC97_Line_In_Volume_Mute:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     ichac97SetVolume(pThis, index, PDMAUDIOMIXERCTL_LINE_IN, u32);
-#else
-                    ichac97SetVolume(pThis, index, AUD_MIXER_LINE_IN, u32);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
                 case AC97_Record_Select:
                     ichac97RecordSelect(pThis, u32);
@@ -2069,7 +1847,6 @@ static DECLCALLBACK(int) ichac97SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
 
     uint8_t active[LAST_INDEX];
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
     {
@@ -2079,11 +1856,6 @@ static DECLCALLBACK(int) ichac97SaveExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
         active[PO_INDEX] = pCon->pfnIsActiveOut(pCon, pDrv->Out.pStrmOut)   ? 1 : 0;
         active[MC_INDEX] = pCon->pfnIsActiveIn (pCon, pDrv->MicIn.pStrmIn)  ? 1 : 0;
     }
-#else
-    active[PI_INDEX] = AUD_is_active_in( pThis->voice_pi) ? 1 : 0;
-    active[PO_INDEX] = AUD_is_active_out(pThis->voice_po) ? 1 : 0;
-    active[MC_INDEX] = AUD_is_active_in( pThis->voice_mc) ? 1 : 0;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     SSMR3PutMem(pSSM, active, sizeof(active));
 
@@ -2126,15 +1898,9 @@ static DECLCALLBACK(int) ichac97LoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, ui
 
     ichac97RecordSelect(pThis, ichac97MixerLoad(pThis, AC97_Record_Select));
 # define V_(a, b) ichac97SetVolume(pThis, a, b, ichac97MixerLoad(pThis, a))
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     V_(AC97_Master_Volume_Mute,  PDMAUDIOMIXERCTL_VOLUME);
     V_(AC97_PCM_Out_Volume_Mute, PDMAUDIOMIXERCTL_PCM);
     V_(AC97_Line_In_Volume_Mute, PDMAUDIOMIXERCTL_LINE_IN);
-# else
-    V_(AC97_Master_Volume_Mute,  AUD_MIXER_VOLUME);
-    V_(AC97_PCM_Out_Volume_Mute, AUD_MIXER_PCM);
-    V_(AC97_Line_In_Volume_Mute, AUD_MIXER_LINE_IN);
-# endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 # undef V_
     ichac97ResetStreams(pThis, active);
 
@@ -2193,7 +1959,6 @@ static DECLCALLBACK(int) ichac97Destruct(PPDMDEVINS pDevIns)
 
     LogFlowFuncEnter();
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     while (!RTListIsEmpty(&pThis->lstDrv))
     {
@@ -2205,10 +1970,9 @@ static DECLCALLBACK(int) ichac97Destruct(PPDMDEVINS pDevIns)
 
     if (pThis->pMixer)
     {
-        audioMixerDestroy(pThis->pMixer);
+        AudioMixerDestroy(pThis->pMixer);
         pThis->pMixer = NULL;
     }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (pThis->pvReadWriteBuf)
     {
@@ -2222,7 +1986,6 @@ static DECLCALLBACK(int) ichac97Destruct(PPDMDEVINS pDevIns)
 }
 
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 /**
  * Attach command.
  *
@@ -2294,7 +2057,6 @@ static DECLCALLBACK(int) ichac97Attach(PPDMDEVINS pDevIns, unsigned uLUN, uint32
     LogFunc(("iLUN=%u, fFlags=0x%x, rc=%Rrc\n", uLUN, fFlags, rc));
     return rc;
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 
 /**
@@ -2304,10 +2066,8 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
 {
     PAC97STATE pThis = PDMINS_2_DATA(pDevIns, PAC97STATE);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* NB: This must be done *before* any possible failure (and running the destructor). */
     RTListInit(&pThis->lstDrv);
-#endif
 
     Assert(iInstance == 0);
     PDMDEV_CHECK_VERSIONS_RETURN(pDevIns);
@@ -2403,7 +2163,6 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
     /*
      * Attach driver.
      */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     uint8_t uLUN;
     for (uLUN = 0; uLUN < UINT8_MAX; uLUN)
     {
@@ -2420,23 +2179,9 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
     }
 
     LogFunc(("cLUNs=%RU8, rc=%Rrc\n", uLUN, rc));
-#else
-    rc = PDMDevHlpDriverAttach(pDevIns, 0, &pThis->IBase, &pThis->pDrvBase, "Audio Driver Port");
-    if (rc == VERR_PDM_NO_ATTACHED_DRIVER)
-        LogFunc(("ac97: No attached driver!\n"));
-    else if (RT_FAILURE(rc))
-    {
-        AssertMsgFailed(("Failed to attach AC97 LUN #0! rc=%Rrc\n", rc));
-        return rc;
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-    AUD_register_card("ICH0", &pThis->card);
-#endif
     ac97Reset(pDevIns);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PAC97DRIVER pDrv;
     uLUN = 0;
     RTListForEach(&pThis->lstDrv, pDrv, AC97DRIVER, Node)
@@ -2508,52 +2253,6 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
                 "subsystem"), szMissingStreams);
         }
     }
-#else
-    if (!AUD_is_host_voice_in_ok(pThis->voice_pi))
-        LogRel(("AC97: WARNING: Unable to open PCM IN!\n"));
-    if (!AUD_is_host_voice_in_ok(pThis->voice_mc))
-        LogRel(("AC97: WARNING: Unable to open PCM MC!\n"));
-    if (!AUD_is_host_voice_out_ok(pThis->voice_po))
-        LogRel(("AC97: WARNING: Unable to open PCM OUT!\n"));
-
-    if (   !AUD_is_host_voice_in_ok( pThis->voice_pi)
-        && !AUD_is_host_voice_out_ok(pThis->voice_po)
-        && !AUD_is_host_voice_in_ok( pThis->voice_mc))
-    {
-        AUD_close_in(&pThis->card, pThis->voice_pi);
-        AUD_close_out(&pThis->card, pThis->voice_po);
-        AUD_close_in(&pThis->card, pThis->voice_mc);
-
-        pThis->voice_po = NULL;
-        pThis->voice_pi = NULL;
-        pThis->voice_mc = NULL;
-        AUD_init_null();
-        ac97Reset(pDevIns);
-
-        PDMDevHlpVMSetRuntimeError(pDevIns, 0 /*fFlags*/, "HostAudioNotResponding",
-            N_("No audio devices could be opened. Selecting the NULL audio backend "
-               "with the consequence that no sound is audible"));
-    }
-    else if (   !AUD_is_host_voice_in_ok( pThis->voice_pi)
-             || !AUD_is_host_voice_out_ok(pThis->voice_po)
-             || !AUD_is_host_voice_in_ok( pThis->voice_mc))
-    {
-        char   szMissingVoices[128];
-        size_t len = 0;
-        if (!AUD_is_host_voice_in_ok(pThis->voice_pi))
-            len = RTStrPrintf(szMissingVoices, sizeof(szMissingVoices), "PCM_in");
-        if (!AUD_is_host_voice_out_ok(pThis->voice_po))
-            len += RTStrPrintf(szMissingVoices + len, sizeof(szMissingVoices) - len, len ? ", PCM_out" : "PCM_out");
-        if (!AUD_is_host_voice_in_ok(pThis->voice_mc))
-            len += RTStrPrintf(szMissingVoices + len, sizeof(szMissingVoices) - len, len ? ", PCM_mic" : "PCM_mic");
-
-        PDMDevHlpVMSetRuntimeError(pDevIns, 0 /*fFlags*/, "HostAudioNotResponding",
-            N_("Some audio devices (%s) could not be opened. Guest applications generating audio "
-               "output or depending on audio input may hang. Make sure your host audio device "
-               "is working properly. Check the logfile for error messages of the audio "
-               "subsystem"), szMissingVoices);
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (RT_SUCCESS(rc))
     {
@@ -2563,7 +2262,6 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
             rc = VERR_NO_MEMORY;
     }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     if (RT_SUCCESS(rc))
     {
         /* Start the emulation timer. */
@@ -2595,8 +2293,6 @@ static DECLCALLBACK(int) ichac97Construct(PPDMDEVINS pDevIns, int iInstance, PCF
     }
 # endif
 
-#endif
-
     return VINF_SUCCESS;
 }
 
diff --git a/src/VBox/Devices/Audio/DevIchHda.cpp b/src/VBox/Devices/Audio/DevIchHda.cpp
index e411a1b..dcef0eb 100644
--- a/src/VBox/Devices/Audio/DevIchHda.cpp
+++ b/src/VBox/Devices/Audio/DevIchHda.cpp
@@ -44,13 +44,7 @@
 
 #include "VBoxDD.h"
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# include "AudioMixer.h"
-#else
- extern "C" {
-  #include "audio.h"
- }
-#endif
+#include "AudioMixer.h"
 #include "DevIchHdaCodec.h"
 
 /*******************************************************************************
@@ -550,7 +544,6 @@ typedef struct HDASTREAMTRANSFERDESC
     uint32_t u32Fifos;
 } HDASTREAMTRANSFERDESC, *PHDASTREAMTRANSFERDESC;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 typedef struct HDAINPUTSTREAM
 {
     /** PCM line input stream. */
@@ -607,7 +600,6 @@ typedef struct HDADRIVER
     /** Stream for output. */
     HDAOUTPUTSTREAM                    Out;
 } HDADRIVER, *PHDADRIVER;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 /**
  * ICH Intel HD Audio Controller state.
@@ -654,7 +646,6 @@ typedef struct HDASTATE
     bool                               fR0Enabled;
     /** Flag whether the RC part is enabled. */
     bool                               fRCEnabled;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /** The emulation timer for handling the attached
      *  LUN drivers. */
     PTMTIMERR3                         pTimer;
@@ -685,18 +676,10 @@ typedef struct HDASTATE
     R3PTRTYPE(PAUDMIXSINK)             pSinkLineIn;
     /** Audio mixer sink for microphone input. */
     R3PTRTYPE(PAUDMIXSINK)             pSinkMicIn;
-#else /* !VBOX_WITH_PDM_AUDIO_DRIVER */
-    /** The HDA codec to use. */
-    R3PTRTYPE(PHDACODEC)               pCodec;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     uint64_t                           u64BaseTS;
     /** 1.2.3.4.5.6.7. - someone please tell me what I'm counting! - .8.9.10... */
     uint8_t                            u8Counter;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     uint8_t                            au8Padding[7];
-#else
-    uint8_t                            au8Padding[7];
-#endif
 } HDASTATE;
 /** Pointer to the ICH Intel HD Audio Controller state. */
 typedef HDASTATE *PHDASTATE;
@@ -748,12 +731,8 @@ static int hdaRegWriteU16(PHDASTATE pThis, uint32_t iReg, uint32_t pu32Value);
 static int hdaRegReadU8(PHDASTATE pThis, uint32_t iReg, uint32_t *pu32Value);
 static int hdaRegWriteU8(PHDASTATE pThis, uint32_t iReg, uint32_t pu32Value);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static DECLCALLBACK(void) hdaTimer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser);
 static int hdaTransfer(PHDASTATE pThis, ENMSOUNDSOURCE enmSrc, uint32_t cbAvail);
-#else
-static int hdaTransfer(PHDACODEC pCodec, ENMSOUNDSOURCE enmSource, int cbAvail);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 #ifdef IN_RING3
 DECLINLINE(void) hdaInitTransferDescriptor(PHDASTATE pThis, PHDABDLEDESC pBdle, uint8_t u8Strm,
@@ -1530,13 +1509,11 @@ static int hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t iReg, uint32_t u32Value)
                 u8Strm = 0;
                 pBdle = &pThis->StInBdle;
                 break;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# ifdef VBOX_WITH_HDA_MIC_IN
+#ifdef VBOX_WITH_HDA_MIC_IN
             case HDA_REG_SD2CTL:
                 u8Strm = 2;
                 pBdle = &pThis->StMicBdle;
                 break;
-# endif
 #endif
             case HDA_REG_SD4CTL:
                 u8Strm = 4;
@@ -1562,38 +1539,32 @@ static int hdaRegWriteSDCTL(PHDASTATE pThis, uint32_t iReg, uint32_t u32Value)
         {
             Assert((!fReset && !fInReset));
 
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             PHDADRIVER pDrv;
-# endif
             switch (iReg)
             {
                 case HDA_REG_SD0CTL:
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+                {
                     RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
                         pDrv->pConnector->pfnEnableIn(pDrv->pConnector,
                                                       pDrv->LineIn.pStrmIn, fRun);
-# else
-                    AUD_set_active_in(pThis->pCodec->SwVoiceIn, fRun);
-# endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-#  ifdef VBOX_WITH_HDA_MIC_IN
+                }
+# ifdef VBOX_WITH_HDA_MIC_IN
                 case HDA_REG_SD2CTL:
+                {
                     RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
                         pDrv->pConnector->pfnEnableIn(pDrv->pConnector,
                                                       pDrv->MicIn.pStrmIn, fRun);
-#  endif
-# endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
+                }
+# endif
                 case HDA_REG_SD4CTL:
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+                {
                     RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
                         pDrv->pConnector->pfnEnableOut(pDrv->pConnector,
                                                        pDrv->Out.pStrmOut, fRun);
-# else
-                    AUD_set_active_out(pThis->pCodec->SwVoiceOut, fRun);
-# endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                     break;
+                }
                 default:
                     AssertMsgFailed(("Changing RUN bit on non-attached stream, register %RU32\n", iReg));
                     break;
@@ -1681,11 +1652,7 @@ static int hdaRegWriteSDFIFOS(PHDASTATE pThis, uint32_t iReg, uint32_t u32Value)
 }
 
 #ifdef IN_RING3
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static int hdaSdFmtToAudSettings(uint32_t u32SdFmt, PPDMAUDIOSTREAMCFG pCfg)
-#else
-static int hdaSdFmtToAudSettings(uint32_t u32SdFmt, audsettings_t *pCfg)
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 {
     AssertPtrReturn(pCfg, VERR_INVALID_POINTER);
 
@@ -1726,43 +1693,26 @@ static int hdaSdFmtToAudSettings(uint32_t u32SdFmt, audsettings_t *pCfg)
             break;
     }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PDMAUDIOFMT enmFmt = AUD_FMT_S16; /* Default to 16-bit signed. */
-#else
-    audfmt_e enmFmt = AUD_FMT_S16; /* Default to 16-bit signed. */
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
     switch (EXTRACT_VALUE(u32SdFmt, HDA_SDFMT_BITS_MASK, HDA_SDFMT_BITS_SHIFT))
     {
         case 0:
-            LogFunc(("%s requested 8-bit\n", __FUNCTION__));
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+            LogFunc(("Requested 8-bit\n"));
             enmFmt = AUD_FMT_S8;
-#else
-            enmFmt = AUD_FMT_S8;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
             break;
         case 1:
-            LogFunc(("%s requested 16-bit\n", __FUNCTION__));
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-            enmFmt = AUD_FMT_S16;
-#else
+            LogFunc(("Requested 16-bit\n"));
             enmFmt = AUD_FMT_S16;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
             break;
         case 2:
-            LogFunc(("%s requested 20-bit\n", __FUNCTION__));
+            LogFunc(("Requested 20-bit\n"));
             break;
         case 3:
-            LogFunc(("%s requested 24-bit\n", __FUNCTION__));
+            LogFunc(("Requested 24-bit\n"));
             break;
         case 4:
-            LogFunc(("%s requested 32-bit\n", __FUNCTION__));
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+            LogFunc(("Requested 32-bit\n"));
             enmFmt = AUD_FMT_S32;
-#else
-            enmFmt = AUD_FMT_S32;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
             break;
         default:
             AssertMsgFailed(("Unsupported bits shift %x\n",
@@ -1773,16 +1723,10 @@ static int hdaSdFmtToAudSettings(uint32_t u32SdFmt, audsettings_t *pCfg)
 
     if (RT_SUCCESS(rc))
     {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         pCfg->uHz = u32Hz * u32HzMult / u32HzDiv;
         pCfg->cChannels = (u32SdFmt & 0xf) + 1;
         pCfg->enmFormat = enmFmt;
         pCfg->enmEndianness = PDMAUDIOHOSTENDIANNESS;
-#else
-        pCfg->nchannels = (u32SdFmt & 0xf) + 1;
-        pCfg->fmt = enmFmt;
-        pCfg->endianness = 0;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     }
 
 # undef EXTRACT_VALUE
@@ -1811,14 +1755,12 @@ static int hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t iReg, uint32_t u32Value)
             RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
                 rc = hdaCodecOpenStream(pThis->pCodec, PI_INDEX, &as);
             break;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# ifdef VBOX_WITH_HDA_MIC_IN
+#  ifdef VBOX_WITH_HDA_MIC_IN
         case HDA_REG_SD2FMT:
             RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
                 rc = hdaCodecOpenStream(pThis->pCodec, MC_INDEX, &as);
             break;
-# endif
-#endif
+#  endif
         default:
             LogFunc(("Warning: Attempt to change format on register %d\n", iReg));
             break;
@@ -1826,10 +1768,10 @@ static int hdaRegWriteSDFMT(PHDASTATE pThis, uint32_t iReg, uint32_t u32Value)
 
     /** @todo r=andy rc gets lost; needs fixing. */
     return hdaRegWriteU16(pThis, iReg, u32Value);
-# else
+# else /* !VBOX_WITH_HDA_CODEC_EMU */
     return hdaRegWriteU16(pThis, iReg, u32Value);
 # endif
-#else
+#else /* !IN_RING3 */
     return VINF_IOM_R3_MMIO_WRITE;
 #endif
 }
@@ -2183,7 +2125,6 @@ static bool hdaDoNextTransferCycle(PHDASTATE pThis, PHDABDLEDESC pBdle, PHDASTRE
     return fDoNextTransferLoop;
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 /**
  * hdaReadAudio - copies samples from audio backend to DMA.
  * Note: This function writes to the DMA buffer immediately,
@@ -2209,7 +2150,7 @@ static int hdaReadAudio(PHDASTATE pThis, PAUDMIXSINK pSink,
     else
     {
         uint32_t cbRead = 0;
-        rc = audioMixerProcessSinkIn(pSink, AUDMIXOP_BLEND, pBdle->au8HdaBuffer, cb2Copy, &cbRead);
+        rc = AudioMixerProcessSinkIn(pSink, AUDMIXOP_BLEND, pBdle->au8HdaBuffer, cb2Copy, &cbRead);
         if (RT_SUCCESS(rc))
         {
             Assert(cbRead);
@@ -2243,63 +2184,6 @@ static int hdaReadAudio(PHDASTATE pThis, PAUDMIXSINK pSink,
 
     return rc;
 }
-#else
-static int hdaReadAudio(PHDASTATE pThis, PHDASTREAMTRANSFERDESC pStreamDesc,
-                        uint32_t u32CblLimit, uint32_t *pu32Avail, uint32_t *pcbRead)
-{
-    PHDABDLEDESC pBdle = &pThis->StInBdle;
-
-    uint32_t cbTransferred = 0;
-    uint32_t cb2Copy = 0;
-    uint32_t cbBackendCopy = 0;
-
-    int rc;
-
-    Log(("hda:ra: CVI(pos:%d, len:%d)\n", pBdle->u32BdleCviPos, pBdle->u32BdleCviLen));
-
-    cb2Copy = hdaCalculateTransferBufferLength(pBdle, pStreamDesc, *pu32Avail, u32CblLimit);
-    if (!cb2Copy)
-    {
-        /* if we enter here we can't report "unreported bits" */
-        rc = VINF_EOF;
-    }
-    else
-    {
-        /*
-         * read from backend input line to the last unreported position or at the begining.
-         */
-        cbBackendCopy = AUD_read(pThis->pCodec->SwVoiceIn, pBdle->au8HdaBuffer, cb2Copy);
-
-        /*
-         * write the HDA DMA buffer
-         */
-        PDMDevHlpPCIPhysWrite(pThis->CTX_SUFF(pDevIns), pBdle->u64BdleCviAddr + pBdle->u32BdleCviPos, pBdle->au8HdaBuffer,
-                              cbBackendCopy);
-
-        /* Don't see any reason why cb2Copy would differ from cbBackendCopy */
-        Assert((cbBackendCopy == cb2Copy && (*pu32Avail) >= cb2Copy)); /* sanity */
-
-        if (pBdle->cbUnderFifoW + cbBackendCopy > hdaFifoWToSz(pThis, 0))
-        {
-            hdaBackendReadTransferReported(pBdle, cb2Copy, cbBackendCopy, &cbTransferred, pu32Avail);
-            rc = VINF_SUCCESS;
-        }
-        else
-        {
-            hdaBackendTransferUnreported(pThis, pBdle, pStreamDesc, cbBackendCopy, pu32Avail);
-            rc = VINF_EOF;
-        }
-    }
-
-    Assert((cbTransferred <= (SDFIFOS(pThis, 0) + 1)));
-    Log(("hda:ra: CVI(pos:%d, len:%d) cbTransferred: %d\n", pBdle->u32BdleCviPos, pBdle->u32BdleCviLen, cbTransferred));
-
-    if (pcbRead)
-        *pcbRead = cbTransferred;
-
-    return rc;
-}
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 static int hdaWriteAudio(PHDASTATE pThis, PHDASTREAMTRANSFERDESC pStreamDesc, uint32_t u32CblLimit,
                          uint32_t *pcbAvail, uint32_t *pcbWritten)
@@ -2329,7 +2213,8 @@ static int hdaWriteAudio(PHDASTATE pThis, PHDASTREAMTRANSFERDESC pStreamDesc, ui
         PDMDevHlpPhysRead(pThis->CTX_SUFF(pDevIns),
                           pBdle->u64BdleCviAddr + pBdle->u32BdleCviPos,
                           pBdle->au8HdaBuffer + pBdle->cbUnderFifoW, cb2Copy);
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+
+#ifdef VBOX_WITH_STATISTICS
         STAM_COUNTER_ADD(&pThis->StatBytesRead, cb2Copy);
 #endif
 
@@ -2338,7 +2223,6 @@ static int hdaWriteAudio(PHDASTATE pThis, PHDASTREAMTRANSFERDESC pStreamDesc, ui
          */
         if (cb2Copy + pBdle->cbUnderFifoW >= hdaFifoWToSz(pThis, pStreamDesc))
         {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             uint32_t cbWritten;
             cbWrittenMin = UINT32_MAX;
 
@@ -2362,9 +2246,6 @@ static int hdaWriteAudio(PHDASTATE pThis, PHDASTREAMTRANSFERDESC pStreamDesc, ui
 
             if (cbWrittenMin == UINT32_MAX)
                 cbWrittenMin = 0;
-#else
-            cbWrittenMin = AUD_write (pThis->pCodec->SwVoiceOut, pBdle->au8HdaBuffer, cb2Copy + pBdle->cbUnderFifoW);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
             hdaBackendWriteTransferReported(pBdle, cb2Copy, cbWrittenMin, &cbTransferred, pcbAvail);
         }
@@ -2436,7 +2317,6 @@ static DECLCALLBACK(void) hdaCloseOut(PHDASTATE pThis)
     LogFlowFuncEnter();
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static DECLCALLBACK(int) hdaOpenIn(PHDASTATE pThis,
                                    const char *pszName, PDMAUDIORECSOURCE enmRecSource,
                                    PPDMAUDIOSTREAMCFG pCfg)
@@ -2474,8 +2354,8 @@ static DECLCALLBACK(int) hdaOpenIn(PHDASTATE pThis,
         LogFlowFunc(("LUN#%RU8: Opened input \"%s\", with rc=%Rrc\n", pDrv->uLUN, pszDesc, rc));
         if (rc == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
         {
-            audioMixerRemoveStream(pSink, pDrv->LineIn.phStrmIn);
-            rc = audioMixerAddStreamIn(pSink,
+            AudioMixerRemoveStream(pSink, pDrv->LineIn.phStrmIn);
+            rc = AudioMixerAddStreamIn(pSink,
                                        pDrv->pConnector, pDrv->LineIn.pStrmIn,
                                        0 /* uFlags */, &pDrv->LineIn.phStrmIn);
         }
@@ -2506,8 +2386,8 @@ static DECLCALLBACK(int) hdaOpenOut(PHDASTATE pThis,
         LogFlowFunc(("LUN#%RU8: Opened output \"%s\", with rc=%Rrc\n", pDrv->uLUN, pszDesc, rc));
         if (rc == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
         {
-            audioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
-            rc = audioMixerAddStreamOut(pThis->pSinkOutput,
+            AudioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
+            rc = AudioMixerAddStreamOut(pThis->pSinkOutput,
                                         pDrv->pConnector, pDrv->Out.pStrmOut,
                                         0 /* uFlags */, &pDrv->Out.phStrmOut);
         }
@@ -2542,14 +2422,12 @@ static DECLCALLBACK(int) hdaSetVolume(PHDASTATE pThis, ENMSOUNDSOURCE enmSource,
     }
 
     /* Set the volume. Codec already converted it to the correct range. */
-    audioMixerSetSinkVolume(pSink, &vol);
+    AudioMixerSetSinkVolume(pSink, &vol);
 
     LogFlowFuncLeaveRC(rc);
     return rc;
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static DECLCALLBACK(void) hdaTimer(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser)
 {
     PHDASTATE pThis = PDMINS_2_DATA(pDevIns, PHDASTATE);
@@ -2628,13 +2506,6 @@ static DECLCALLBACK(int) hdaTransfer(PHDASTATE pThis,
     AssertPtrReturn(pThis, VERR_INVALID_POINTER);
 
     LogFlowFunc(("pThis=%p, cbAvail=%RU32\n", pThis, cbAvail));
-#else
-static DECLCALLBACK(int) hdaTransfer(PHDACODEC pCodec, ENMSOUNDSOURCE enmSrc, uint32_t cbAvail)
-{
-    AssertPtrReturn(pCodec, VERR_INVALID_POINTER);
-    PHDASTATE pThis = pCodec->pHDAState;
-    AssertPtrReturn(pThis, VERR_INVALID_POINTER);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     uint8_t      u8Strm;
     PHDABDLEDESC pBdle;
@@ -2689,31 +2560,23 @@ static DECLCALLBACK(int) hdaTransfer(PHDACODEC pCodec, ENMSOUNDSOURCE enmSrc, ui
 
         LogFunc(("CBL=%RU32, LPIB=%RU32\n", StreamDesc.u32Cbl, *StreamDesc.pu32Lpib));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         PAUDMIXSINK pSink;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
         uint32_t cbWritten = 0;
         switch (enmSrc)
         {
             case PI_INDEX:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                 pSink = pThis->pSinkLineIn;
                 rc = hdaReadAudio(pThis, pSink, &StreamDesc, u32CblLimit, &cbAvail, &cbWritten);
-#else
-                rc = hdaReadAudio(pThis, &StreamDesc, u32CblLimit, (uint32_t *)&cbAvail, &cbWritten);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
                 break;
             case PO_INDEX:
                 rc = hdaWriteAudio(pThis, &StreamDesc, u32CblLimit, &cbAvail, &cbWritten);
                 break;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# ifdef VBOX_WITH_HDA_MIC_IN
+#ifdef VBOX_WITH_HDA_MIC_IN
             case MC_INDEX:
                 pSink = pThis->pSinkMicIn;
                 rc = hdaReadAudio(pThis, pSink, &StreamDesc, u32CblLimit, &cbAvail, &cbWritten);
                 break;
-# endif
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+#endif
             default:
                 AssertMsgFailed(("Unsupported source index %ld\n", enmSrc));
                 rc = VERR_NOT_SUPPORTED;
@@ -3246,7 +3109,6 @@ static DECLCALLBACK(int) hdaLoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32
 #endif
     bool fEnableOut   = RT_BOOL(SDCTL(pThis, 4) & HDA_REG_FIELD_FLAG_MASK(SDCTL, RUN));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PHDADRIVER pDrv;
     RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
     {
@@ -3260,10 +3122,6 @@ static DECLCALLBACK(int) hdaLoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32
         if (RT_FAILURE(rc))
             break;
     }
-#else
-    AUD_set_active_in(pThis->pCodec->SwVoiceIn, SDCTL(pThis, 0) & HDA_REG_FIELD_FLAG_MASK(SDCTL, RUN));
-    AUD_set_active_out(pThis->pCodec->SwVoiceOut, SDCTL(pThis, 4) & HDA_REG_FIELD_FLAG_MASK(SDCTL, RUN));
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (RT_SUCCESS(rc))
     {
@@ -3507,7 +3365,6 @@ static DECLCALLBACK(void) hdaReset(PPDMDEVINS pDevIns)
 
     LogFunc(("Resetting ...\n"));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* Stop any audio currently playing. */
     PHDADRIVER pDrv;
     RTListForEach(&pThis->lstDrv, pDrv, HDADRIVER, Node)
@@ -3519,10 +3376,6 @@ static DECLCALLBACK(void) hdaReset(PPDMDEVINS pDevIns)
         pDrv->pConnector->pfnEnableOut(pDrv->pConnector, pDrv->Out.pStrmOut, false /* Disable */);
         /* Ditto. */
     }
-#else
-    AUD_set_active_in(pThis->pCodec->SwVoiceIn, false);
-    AUD_set_active_out(pThis->pCodec->SwVoiceOut, false);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     pThis->cbCorbBuf = 256 * sizeof(uint32_t);
 
@@ -3576,7 +3429,6 @@ static DECLCALLBACK(int) hdaDestruct(PPDMDEVINS pDevIns)
 {
     PHDASTATE pThis = PDMINS_2_DATA(pDevIns, PHDASTATE);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PHDADRIVER pDrv;
     while (!RTListIsEmpty(&pThis->lstDrv))
     {
@@ -3588,10 +3440,9 @@ static DECLCALLBACK(int) hdaDestruct(PPDMDEVINS pDevIns)
 
     if (pThis->pMixer)
     {
-        audioMixerDestroy(pThis->pMixer);
+        AudioMixerDestroy(pThis->pMixer);
         pThis->pMixer = NULL;
     }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (pThis->pCodec)
     {
@@ -3611,7 +3462,6 @@ static DECLCALLBACK(int) hdaDestruct(PPDMDEVINS pDevIns)
     return VINF_SUCCESS;
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 /**
  * Attach command.
  *
@@ -3691,7 +3541,6 @@ static DECLCALLBACK(void) hdaDetach(PPDMDEVINS pDevIns, unsigned iLUN, uint32_t
 
     LogFlowFuncEnter();
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 /**
  * @interface_method_impl{PDMDEVREG,pfnConstruct}
@@ -3834,7 +3683,6 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
     if (RT_FAILURE(rc))
         return rc;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     RTListInit(&pThis->lstDrv);
 
     uint8_t uLUN;
@@ -3857,7 +3705,7 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
 
     if (RT_SUCCESS(rc))
     {
-        rc = audioMixerCreate("HDA Mixer", 0 /* uFlags */, &pThis->pMixer);
+        rc = AudioMixerCreate("HDA Mixer", 0 /* uFlags */, &pThis->pMixer);
         if (RT_SUCCESS(rc))
         {
             /* Set a default audio format for our mixer. */
@@ -3867,43 +3715,30 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
             streamCfg.enmFormat     = AUD_FMT_S16;
             streamCfg.enmEndianness = PDMAUDIOHOSTENDIANNESS;
 
-            rc = audioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
+            rc = AudioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
             AssertRC(rc);
 
             /* Add all required audio sinks. */
-            rc = audioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
+            rc = AudioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
                                    AUDMIXSINKDIR_OUTPUT, &pThis->pSinkOutput);
             AssertRC(rc);
 
-            rc = audioMixerAddSink(pThis->pMixer, "[Recording] Line In",
+            rc = AudioMixerAddSink(pThis->pMixer, "[Recording] Line In",
                                    AUDMIXSINKDIR_INPUT, &pThis->pSinkLineIn);
             AssertRC(rc);
 
-            rc = audioMixerAddSink(pThis->pMixer, "[Recording] Microphone In",
+            rc = AudioMixerAddSink(pThis->pMixer, "[Recording] Microphone In",
                                    AUDMIXSINKDIR_INPUT, &pThis->pSinkMicIn);
             AssertRC(rc);
 
             /* There is no master volume control. Set the master to max. */
             PDMAUDIOVOLUME vol = { false, 255, 255 };
-            rc = audioMixerSetMasterVolume(pThis->pMixer, &vol);
+            rc = AudioMixerSetMasterVolume(pThis->pMixer, &vol);
             AssertRC(rc);
         }
     }
 
     LogFunc(("cLUNs=%RU8, rc=%Rrc\n", uLUN, rc));
-#else
-    /*
-     * Attach driver.
-     */
-    rc = PDMDevHlpDriverAttach(pDevIns, 0, &pThis->IBase, &pThis->pDrvBase, "Audio Driver Port");
-    if (rc == VERR_PDM_NO_ATTACHED_DRIVER)
-        Log(("hda: No attached driver!\n"));
-    else if (RT_FAILURE(rc))
-    {
-        AssertMsgFailed(("Failed to attach Intel HDA LUN #0! rc=%Rrc\n", rc));
-        return rc;
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (RT_SUCCESS(rc))
     {
@@ -3912,14 +3747,13 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
         if (!pThis->pCodec)
             return PDMDEV_SET_ERROR(pDevIns, VERR_NO_MEMORY, N_("Out of memory allocating HDA codec state"));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         /* Audio driver callbacks for multiplexing. */
         pThis->pCodec->pfnCloseIn   = hdaCloseIn;
         pThis->pCodec->pfnCloseOut  = hdaCloseOut;
         pThis->pCodec->pfnOpenIn    = hdaOpenIn;
         pThis->pCodec->pfnOpenOut   = hdaOpenOut;
+        pThis->pCodec->pfnReset     = hdaCodecReset;
         pThis->pCodec->pfnSetVolume = hdaSetVolume;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
         pThis->pCodec->pHDAState = pThis; /* Assign HDA controller state to codec. */
 
@@ -3934,11 +3768,6 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
         Assert(pThis->pCodec->u16DeviceId);
         PCIDevSetSubSystemVendorId(&pThis->PciDev, pThis->pCodec->u16VendorId); /* 2c ro - intel.) */
         PCIDevSetSubSystemId(      &pThis->PciDev, pThis->pCodec->u16DeviceId); /* 2e ro. */
-
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-        pThis->pCodec->pfnTransfer = hdaTransfer;
-#endif
-        pThis->pCodec->pfnReset    = hdaCodecReset;
     }
 
     if (RT_SUCCESS(rc))
@@ -4021,7 +3850,6 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
         }
     }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     if (RT_SUCCESS(rc))
     {
         /* Start the emulation timer. */
@@ -4055,8 +3883,6 @@ static DECLCALLBACK(int) hdaConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNO
     }
 # endif
 
-#endif
-
     LogFlowFuncLeaveRC(rc);
     return rc;
 }
diff --git a/src/VBox/Devices/Audio/DevIchHdaCodec.cpp b/src/VBox/Devices/Audio/DevIchHdaCodec.cpp
index ebb14d5..e0c6b0b 100644
--- a/src/VBox/Devices/Audio/DevIchHdaCodec.cpp
+++ b/src/VBox/Devices/Audio/DevIchHdaCodec.cpp
@@ -34,11 +34,6 @@
 #include <iprt/cpp/utils.h>
 
 #include "VBoxDD.h"
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-extern "C" {
-#include "audio.h"
-}
-#endif
 #include "DevIchHdaCodec.h"
 
 
@@ -1166,31 +1161,18 @@ DECLISNODEOFTYPE(Reserved)
 /*
  * Misc helpers.
  */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static int hdaCodecToAudVolume(PHDACODEC pThis, AMPLIFIER *pAmp, PDMAUDIOMIXERCTL mt)
-#else
-static int hdaCodecToAudVolume(AMPLIFIER *pAmp, audmixerctl_t mt)
-#endif
 {
     uint32_t dir = AMPLIFIER_OUT;
     ENMSOUNDSOURCE enmSrc;
     switch (mt)
     {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         case PDMAUDIOMIXERCTL_PCM:
             enmSrc = PO_INDEX;
-#else
-        case AUD_MIXER_VOLUME:
-        case AUD_MIXER_PCM:
-#endif
             dir = AMPLIFIER_OUT;
             break;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         case PDMAUDIOMIXERCTL_LINE_IN:
             enmSrc = PI_INDEX;
-#else
-        case AUD_MIXER_LINE_IN:
-#endif
             dir = AMPLIFIER_IN;
             break;
         default:
@@ -1213,13 +1195,7 @@ static int hdaCodecToAudVolume(AMPLIFIER *pAmp, audmixerctl_t mt)
     lVol = (lVol + 1) * (2 * 255) / 256;
     rVol = (rVol + 1) * (2 * 255) / 256;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    /** @todo In SetVolume no passing audmixerctl_in as its not used in DrvAudio.cpp. */
-    pThis->pfnSetVolume(pThis->pHDAState, enmSrc, RT_BOOL(mute), lVol, rVol);
-#else
-    AUD_set_volume(mt, &mute, &lVol, &rVol);
-#endif
-    return VINF_SUCCESS;
+    return pThis->pfnSetVolume(pThis->pHDAState, enmSrc, RT_BOOL(mute), lVol, rVol);
 }
 
 DECLINLINE(void) hdaCodecSetRegister(uint32_t *pu32Reg, uint32_t u32Cmd, uint8_t u8Offset, uint32_t mask)
@@ -1359,11 +1335,7 @@ static DECLCALLBACK(int) vrbProcSetAmplifier(PHDACODEC pThis, uint32_t cmd, uint
             hdaCodecSetRegisterU8(&AMPLIFIER_REGISTER(*pAmplifier, AMPLIFIER_IN, AMPLIFIER_RIGHT, u8Index), cmd, 0);
 
         /** @todo Fix ID of u8AdcVolsLineIn! */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         hdaCodecToAudVolume(pThis, pAmplifier, PDMAUDIOMIXERCTL_LINE_IN);
-#else
-        hdaCodecToAudVolume(pAmplifier, AUD_MIXER_LINE_IN);
-#endif
     }
     if (fIsOut)
     {
@@ -1373,11 +1345,7 @@ static DECLCALLBACK(int) vrbProcSetAmplifier(PHDACODEC pThis, uint32_t cmd, uint
             hdaCodecSetRegisterU8(&AMPLIFIER_REGISTER(*pAmplifier, AMPLIFIER_OUT, AMPLIFIER_RIGHT, u8Index), cmd, 0);
 
         /** @todo Fix ID of u8DacLineOut! */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         hdaCodecToAudVolume(pThis, pAmplifier, PDMAUDIOMIXERCTL_PCM);
-#else
-        hdaCodecToAudVolume(pAmplifier, AUD_MIXER_VOLUME);
-#endif
     }
 
     return VINF_SUCCESS;
@@ -2274,25 +2242,10 @@ static int codecLookup(PHDACODEC pThis, uint32_t cmd, PPFNHDACODECVERBPROCESSOR
     return VINF_SUCCESS;
 }
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-static void pi_callback(void *opaque, int avail)
-{
-    PHDACODEC pThis = (PHDACODEC)opaque;
-    pThis->pfnTransfer(pThis, PI_INDEX, avail);
-}
-
-static void po_callback(void *opaque, int avail)
-{
-    PHDACODEC pThis = (PHDACODEC)opaque;
-    pThis->pfnTransfer(pThis, PO_INDEX, avail);
-}
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
 /*
  * APIs exposed to DevHDA.
  */
 
-
 /**
  *
  * routines open one of the voices (IN, OUT) with corresponding parameters.
@@ -2301,11 +2254,7 @@ static void po_callback(void *opaque, int avail)
  * @todo Probably passed settings should be verified (if AFG's declared proposed
  *       format) before enabling.
  */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 int hdaCodecOpenStream(PHDACODEC pThis, ENMSOUNDSOURCE enmSoundSource, PPDMAUDIOSTREAMCFG pCfg)
-#else
-int hdaCodecOpenStream(PHDACODEC pThis, ENMSOUNDSOURCE enmSoundSource, audsettings_t *pAudioSettings)
-#endif
 {
     AssertPtrReturn(pThis, VERR_INVALID_POINTER);
 
@@ -2314,33 +2263,18 @@ int hdaCodecOpenStream(PHDACODEC pThis, ENMSOUNDSOURCE enmSoundSource, audsettin
     switch (enmSoundSource)
     {
         case PI_INDEX:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-                rc = pThis->pfnOpenIn(pThis->pHDAState, "hda.in",
-                                      PDMAUDIORECSOURCE_LINE_IN, pCfg);
-#else
-                pThis->SwVoiceIn = AUD_open_in(&pThis->card, pThis->SwVoiceIn, "hda.in", pThis, pi_callback, pAudioSettings);
-                rc = pThis->SwVoiceIn ? VINF_SUCCESS : VERR_GENERAL_FAILURE;
-#endif
+            rc = pThis->pfnOpenIn(pThis->pHDAState, "hda.in", PDMAUDIORECSOURCE_LINE_IN, pCfg);
             break;
 
         case PO_INDEX:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             rc = pThis->pfnOpenOut(pThis->pHDAState, "hda.out", pCfg);
-#else
-            pThis->SwVoiceOut = AUD_open_out(&pThis->card, pThis->SwVoiceOut, "hda.out", pThis, po_callback, pAudioSettings);
-            rc = pThis->SwVoiceOut ? VINF_SUCCESS : VERR_GENERAL_FAILURE;
-#endif
             break;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# ifdef VBOX_WITH_HDA_MIC_IN
+#ifdef VBOX_WITH_HDA_MIC_IN
         case MC_INDEX:
-            rc = pThis->pfnOpenIn(pThis->pHDAState, "hda.mc",
-                                  PDMAUDIORECSOURCE_MIC, pCfg);
+            rc = pThis->pfnOpenIn(pThis->pHDAState, "hda.mc", PDMAUDIORECSOURCE_MIC, pCfg);
             break;
-# endif
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
+#endif
         default:
             AssertMsgFailed(("Index %ld not implemented\n", enmSoundSource));
             rc = VERR_NOT_IMPLEMENTED;
@@ -2415,19 +2349,10 @@ int hdaCodecLoadState(PHDACODEC pThis, PSSMHANDLE pSSM, uint32_t uVersion)
      * Update stuff after changing the state.
      */
     if (hdaCodecIsDacNode(pThis, pThis->u8DacLineOut))
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         hdaCodecToAudVolume(pThis, &pThis->paNodes[pThis->u8DacLineOut].dac.B_params, PDMAUDIOMIXERCTL_PCM);
-#else
-        hdaCodecToAudVolume(&pThis->paNodes[pThis->u8DacLineOut].dac.B_params, AUD_MIXER_VOLUME);
-#endif
     else if (hdaCodecIsSpdifOutNode(pThis, pThis->u8DacLineOut))
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         hdaCodecToAudVolume(pThis, &pThis->paNodes[pThis->u8DacLineOut].spdifout.B_params, PDMAUDIOMIXERCTL_PCM);
     hdaCodecToAudVolume(pThis, &pThis->paNodes[pThis->u8AdcVolsLineIn].adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
-#else
-        hdaCodecToAudVolume(&pThis->paNodes[pThis->u8DacLineOut].spdifout.B_params, AUD_MIXER_VOLUME);
-    hdaCodecToAudVolume(&pThis->paNodes[pThis->u8AdcVolsLineIn].adcvol.B_params, AUD_MIXER_LINE_IN);
-#endif
 
     return VINF_SUCCESS;
 }
@@ -2467,33 +2392,20 @@ int hdaCodecConstruct(PPDMDEVINS pDevIns, PHDACODEC pThis,
     pThis->paNodes[1].node.au32F00_param[5] = CODEC_MAKE_F00_05(1, CODEC_F00_05_AFG);
     pThis->paNodes[1].afg.u32F20_param = CODEC_MAKE_F20(pThis->u16VendorId, pThis->u8BSKU, pThis->u8AssemblyId);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* 44.1 kHz. */
     PDMAUDIOSTREAMCFG as;
     as.uHz           = 44100;
     as.cChannels     = 2;
     as.enmFormat     = AUD_FMT_S16;
     as.enmEndianness = PDMAUDIOHOSTENDIANNESS;
-#else
-    AUD_register_card("ICH0", &pThis->card);
-
-    /* 44.1 kHz */
-    audsettings_t as;
-    as.freq = 44100;
-    as.nchannels = 2;
-    as.fmt = AUD_FMT_S16;
-    as.endianness = 0;
-#endif
 
     pThis->paNodes[1].node.au32F00_param[0xA] = CODEC_F00_0A_16_BIT;
 
     hdaCodecOpenStream(pThis, PI_INDEX, &as);
     hdaCodecOpenStream(pThis, PO_INDEX, &as);
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# ifdef VBOX_WITH_HDA_MIC_IN
+#ifdef VBOX_WITH_HDA_MIC_IN
     hdaCodecOpenStream(pThis, MC_INDEX, &as);
-# endif
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+#endif
 
     pThis->paNodes[1].node.au32F00_param[0xA] |= CODEC_F00_0A_44_1KHZ;
 
@@ -2504,54 +2416,9 @@ int hdaCodecConstruct(PPDMDEVINS pDevIns, PHDACODEC pThis,
     for (i = 0; i < pThis->cTotalNodes; ++i)
         pThis->pfnCodecNodeReset(pThis, i, &pThis->paNodes[i]);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     hdaCodecToAudVolume(pThis, &pThis->paNodes[pThis->u8DacLineOut].dac.B_params, PDMAUDIOMIXERCTL_PCM);
     hdaCodecToAudVolume(pThis, &pThis->paNodes[pThis->u8AdcVolsLineIn].adcvol.B_params, PDMAUDIOMIXERCTL_LINE_IN);
 
-
-#else
-    hdaCodecToAudVolume(&pThis->paNodes[pThis->u8DacLineOut].dac.B_params, AUD_MIXER_VOLUME);
-    hdaCodecToAudVolume(&pThis->paNodes[pThis->u8AdcVolsLineIn].adcvol.B_params, AUD_MIXER_LINE_IN);
-
-    if (!AUD_is_host_voice_in_ok(pThis->SwVoiceIn))
-        LogRel (("HDA: WARNING: Unable to open PCM IN!\n"));
-    if (!AUD_is_host_voice_out_ok(pThis->SwVoiceOut))
-        LogRel (("HDA: WARNING: Unable to open PCM OUT!\n"));
-
-    if (   !AUD_is_host_voice_in_ok(pThis->SwVoiceIn)
-        && !AUD_is_host_voice_out_ok(pThis->SwVoiceOut))
-    {
-        AUD_close_in(&pThis->card, pThis->SwVoiceIn);
-        AUD_close_out(&pThis->card, pThis->SwVoiceOut);
-
-        pThis->SwVoiceOut = NULL;
-        pThis->SwVoiceIn = NULL;
-
-        AUD_init_null ();
-
-        PDMDevHlpVMSetRuntimeError (pDevIns, 0 /*fFlags*/, "HostAudioNotResponding",
-            N_ ("No audio devices could be opened. Selecting the NULL audio backend "
-                "with the consequence that no sound is audible"));
-    }
-    else if (   !AUD_is_host_voice_in_ok(pThis->SwVoiceIn)
-             || !AUD_is_host_voice_out_ok(pThis->SwVoiceOut))
-    {
-        char   szMissingVoices[128];
-        size_t len = 0;
-
-        if (!AUD_is_host_voice_in_ok(pThis->SwVoiceIn))
-            len = RTStrPrintf (szMissingVoices, sizeof(szMissingVoices), "PCM_in");
-        if (!AUD_is_host_voice_out_ok(pThis->SwVoiceOut))
-            len += RTStrPrintf (szMissingVoices + len, sizeof(szMissingVoices) - len, len ? ", PCM_out" : "PCM_out");
-
-        PDMDevHlpVMSetRuntimeError (pDevIns, 0 /*fFlags*/, "HostAudioNotResponding",
-            N_ ("Some audio devices (%s) could not be opened. Guest applications generating audio "
-                "output or depending on audio input may hang. Make sure your host audio device "
-                "is working properly. Check the logfile for error messages of the audio "
-                "subsystem"), szMissingVoices);
-    }
-#endif
-
     return VINF_SUCCESS;
 }
 
diff --git a/src/VBox/Devices/Audio/DevIchHdaCodec.h b/src/VBox/Devices/Audio/DevIchHdaCodec.h
index d5d62a9..6dc4d1c 100644
--- a/src/VBox/Devices/Audio/DevIchHdaCodec.h
+++ b/src/VBox/Devices/Audio/DevIchHdaCodec.h
@@ -109,22 +109,12 @@ typedef struct HDACODEC
     const uint8_t           u8AdcVolsLineIn;
     const uint8_t           u8DacLineOut;
 #endif
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* Callbacks to the HDA controller, mostly used for multiplexing to the various host backends. */
     DECLR3CALLBACKMEMBER(void, pfnCloseIn, (PHDASTATE pThis, PDMAUDIORECSOURCE enmRecSource));
     DECLR3CALLBACKMEMBER(void, pfnCloseOut, (PHDASTATE pThis));
     DECLR3CALLBACKMEMBER(int, pfnOpenIn, (PHDASTATE pThis, const char *pszName, PDMAUDIORECSOURCE enmRecSource, PPDMAUDIOSTREAMCFG pCfg));
     DECLR3CALLBACKMEMBER(int, pfnOpenOut, (PHDASTATE pThis, const char *pszName, PPDMAUDIOSTREAMCFG pCfg));
     DECLR3CALLBACKMEMBER(int, pfnSetVolume, (PHDASTATE pThis, ENMSOUNDSOURCE enmSource, bool fMute, uint8_t uVolLeft, uint8_t uVolRight));
-#else
-    QEMUSoundCard           card;
-    /** PCM in */
-    SWVoiceIn              *SwVoiceIn;
-    /** PCM out */
-    SWVoiceOut             *SwVoiceOut;
-    /* Callbacks for host driver backends. */
-    DECLR3CALLBACKMEMBER(int, pfnTransfer, (PHDACODEC pCodec, ENMSOUNDSOURCE enmSource, uint32_t cbAvail));
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     /* Callbacks by codec implementation. */
     DECLR3CALLBACKMEMBER(int, pfnLookup, (PHDACODEC pThis, uint32_t verb, PPFNHDACODECVERBPROCESSOR));
     DECLR3CALLBACKMEMBER(int, pfnReset, (PHDACODEC pThis));
@@ -138,11 +128,7 @@ int hdaCodecConstruct(PPDMDEVINS pDevIns, PHDACODEC pThis, uint16_t uLUN, PCFGMN
 int hdaCodecDestruct(PHDACODEC pThis);
 int hdaCodecSaveState(PHDACODEC pThis, PSSMHANDLE pSSM);
 int hdaCodecLoadState(PHDACODEC pThis, PSSMHANDLE pSSM, uint32_t uVersion);
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 int hdaCodecOpenStream(PHDACODEC pThis, PDMAUDIORECSOURCE enmRecSource, PDMAUDIOSTREAMCFG *pAudioSettings);
-#else
-int hdaCodecOpenVoice(PHDACODEC pThis, ENMSOUNDSOURCE enmSoundSource, audsettings_t *pAudioSettings);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 #define HDA_SSM_VERSION   4
 #define HDA_SSM_VERSION_1 1
diff --git a/src/VBox/Devices/Audio/DevSB16.cpp b/src/VBox/Devices/Audio/DevSB16.cpp
index c09f435..321cdea 100644
--- a/src/VBox/Devices/Audio/DevSB16.cpp
+++ b/src/VBox/Devices/Audio/DevSB16.cpp
@@ -59,13 +59,7 @@
 #define LOG_GROUP LOG_GROUP_DEV_AUDIO
 #include <VBox/log.h>
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# include "AudioMixer.h"
-#else
- extern "C" {
-  #include "audio.h"
- }
-#endif
+#include "AudioMixer.h"
 
 /** Current saved state version. */
 #define SB16_SAVE_STATE_VERSION         2
@@ -82,7 +76,6 @@
 
 static const char e3[] = "COPYRIGHT (C) CREATIVE TECHNOLOGY LTD, 1992.";
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 typedef struct SB16OUTPUTSTREAM
 {
     /** PCM output stream. */
@@ -123,7 +116,6 @@ typedef struct SB16DRIVER
     /** Stream for output. */
     SB16OUTPUTSTREAM                   Out;
 } SB16DRIVER, *PSB16DRIVER;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 typedef struct SB16STATE
 {
@@ -149,12 +141,7 @@ typedef struct SB16STATE
     int fmt_stereo;
     int fmt_signed;
     int fmt_bits;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PDMAUDIOFMT fmt;
-#else
-    audfmt_e fmt;
-    QEMUSoundCard card;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     int dma_auto;
     int block_size;
     int fifo;
@@ -190,7 +177,6 @@ typedef struct SB16STATE
     int bytes_per_second;
     int align;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     RTLISTANCHOR                   lstDrv;
     /** The device' software mixer. */
     R3PTRTYPE(PAUDIOMIXER)         pMixer;
@@ -200,10 +186,6 @@ typedef struct SB16STATE
     PTMTIMERR3                     pTimerIO;
     /** Timer ticks for handling the LUN drivers. */
     uint64_t                       uTicksIO;
-#else
-    uint32_t audio_free;
-    SWVoiceOut *voice;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     PTMTIMER  pTimerIRQ;
     PPDMIBASE pDrvBase;
@@ -215,11 +197,8 @@ typedef struct SB16STATE
     uint8_t mixer_regs[256];
 } SB16STATE, *PSB16STATE;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static int sb16OpenOut(PSB16STATE pThis, PPDMAUDIOSTREAMCFG pCfg);
-#endif
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 /**
  * Attach command.
  *
@@ -291,13 +270,8 @@ static DECLCALLBACK(int) sb16Attach(PPDMDEVINS pDevIns, unsigned uLUN, uint32_t
     LogFunc(("iLUN=%u, fFlags=0x%x, rc=%Rrc\n", uLUN, fFlags, rc));
     return rc;
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static void sb16AudioCallback(void *pvContext, uint32_t cbFree);
-#else
-static void sb16AudioCallback(void *pvContext, int cbFree);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 static int magic_of_irq(int irq)
 {
@@ -367,31 +341,21 @@ static void sb16Control(PSB16STATE pThis, int hold)
 
     LogFlowFunc(("hold %d high %d dma %d\n", hold, pThis->use_hdma, dma));
 
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PSB16DRIVER pDrv;
-# endif
     if (hold)
     {
         PDMDevHlpDMASetDREQ (pThis->pDevIns, dma, 1);
         PDMDevHlpDMASchedule (pThis->pDevIns);
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         RTListForEach(&pThis->lstDrv, pDrv, SB16DRIVER, Node)
             pDrv->pConnector->pfnEnableOut(pDrv->pConnector,
                                            pDrv->Out.pStrmOut, true /* fEnable */);
-# else
-        AUD_set_active_out (pThis->voice, 1);
-# endif
     }
     else
     {
         PDMDevHlpDMASetDREQ (pThis->pDevIns, dma, 0);
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         RTListForEach(&pThis->lstDrv, pDrv, SB16DRIVER, Node)
             pDrv->pConnector->pfnEnableOut(pDrv->pConnector,
                                            pDrv->Out.pStrmOut, false /* fEnable */);
-# else
-        AUD_set_active_out (pThis->voice, 0);
-# endif
     }
 }
 
@@ -409,7 +373,6 @@ static void continue_dma8(PSB16STATE pThis)
 {
     if (pThis->freq > 0)
     {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         PDMAUDIOSTREAMCFG streamCfg;
         streamCfg.uHz           = pThis->freq;
         streamCfg.cChannels     = 1 << pThis->fmt_stereo;
@@ -418,23 +381,6 @@ static void continue_dma8(PSB16STATE pThis)
 
         int rc = sb16OpenOut(pThis, &streamCfg);
         AssertRC(rc);
-#else
-        pThis->audio_free = 0;
-
-        audsettings_t streamCfg;
-        streamCfg.freq = pThis->freq;
-        streamCfg.nchannels = 1 << pThis->fmt_stereo;
-        streamCfg.fmt = pThis->fmt;
-        streamCfg.endianness = 0;
-        pThis->voice = AUD_open_out (
-            &pThis->card,
-            pThis->voice,
-            "sb16",
-            pThis,
-            sb16AudioCallback,
-            &streamCfg
-            );
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     }
 
     sb16Control(pThis, 1);
@@ -562,7 +508,6 @@ static void dma_cmd(PSB16STATE pThis, uint8_t cmd, uint8_t d0, int dma_len)
 
     if (pThis->freq)
     {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         PDMAUDIOSTREAMCFG streamCfg;
         streamCfg.uHz           = pThis->freq;
         streamCfg.cChannels     = 1 << pThis->fmt_stereo;
@@ -571,23 +516,6 @@ static void dma_cmd(PSB16STATE pThis, uint8_t cmd, uint8_t d0, int dma_len)
 
         int rc = sb16OpenOut(pThis, &streamCfg);
         AssertRC(rc);
-#else
-        pThis->audio_free = 0;
-
-        audsettings_t streamCfg;
-        streamCfg.freq = pThis->freq;
-        streamCfg.nchannels = 1 << pThis->fmt_stereo;
-        streamCfg.fmt = pThis->fmt;
-        streamCfg.endianness = 0;
-        pThis->voice = AUD_open_out (
-            &pThis->card,
-            pThis->voice,
-            "sb16",
-            pThis,
-            sb16AudioCallback,
-            &streamCfg
-            );
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
     }
 
     sb16Control(pThis, 1);
@@ -1069,36 +997,20 @@ static uint8_t sb16MixRegToVol(PSB16STATE pThis, int reg)
 
 static void sb16SetMasterVolume(PSB16STATE pThis)
 {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* There's no mute switch, only volume controls. */
     uint8_t lvol = sb16MixRegToVol(pThis, 0x30);
     uint8_t rvol = sb16MixRegToVol(pThis, 0x31);
     PDMAUDIOVOLUME vol = { false, lvol, rvol };
-    audioMixerSetMasterVolume(pThis->pMixer, &vol);
-#else
-    int     mute = 0;
-    uint8_t lvol = pThis->mixer_regs[0x30];
-    uint8_t rvol = pThis->mixer_regs[0x31];
-
-    AUD_set_volume(AUD_MIXER_VOLUME, &mute, &lvol, &rvol);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+    AudioMixerSetMasterVolume(pThis->pMixer, &vol);
 }
 
 static void sb16SetPcmOutVolume(PSB16STATE pThis)
 {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     /* There's no mute switch, only volume controls. */
     uint8_t lvol = sb16MixRegToVol(pThis, 0x32);
     uint8_t rvol = sb16MixRegToVol(pThis, 0x33);
     PDMAUDIOVOLUME vol = { false, lvol, rvol };
-    audioMixerSetSinkVolume(pThis->pSinkOutput, &vol);
-#else
-    int     mute = 0;
-    uint8_t lvol = pThis->mixer_regs[0x32];
-    uint8_t rvol = pThis->mixer_regs[0x33];
-
-    AUD_set_volume(AUD_MIXER_PCM, &mute, &lvol, &rvol);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
+    AudioMixerSetSinkVolume(pThis->pSinkOutput, &vol);
 }
 
 static void sb16ResetLegacy(PSB16STATE pThis)
@@ -1108,33 +1020,14 @@ static void sb16ResetLegacy(PSB16STATE pThis)
     pThis->fmt_bits   = 8;
     pThis->fmt_stereo = 0;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PDMAUDIOSTREAMCFG streamCfg;
     streamCfg.uHz           = pThis->freq;
     streamCfg.cChannels     = 1; /* Mono */
     streamCfg.enmFormat     = AUD_FMT_U8;
     streamCfg.enmEndianness = PDMAUDIOHOSTENDIANNESS;
 
-    int rc = sb16OpenOut(pThis, &streamCfg);
-    AssertRC(rc);
-#else
-    audsettings_t streamCfg;
-    streamCfg.freq = pThis->freq;
-    streamCfg.nchannels = 1;
-    streamCfg.fmt = AUD_FMT_U8;
-    streamCfg.endianness = 0;
-    pThis->voice = AUD_open_out (
-        &pThis->card,
-        pThis->voice,
-        "sb16",
-        pThis,
-        sb16AudioCallback,
-        &streamCfg
-        );
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
-
-    /* Not sure about that... */
-    /* AUD_set_active_out (pThis->voice, 1); */
+    int rc2 = sb16OpenOut(pThis, &streamCfg);
+    AssertRC(rc2);
 }
 
 static void sb16Reset(PSB16STATE pThis)
@@ -1337,7 +1230,6 @@ static IO_READ_PROTO(dsp_read)
 
 static void sb16MixerReset(PSB16STATE pThis)
 {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PSB16DRIVER pDrv;
 
     RTListForEach(&pThis->lstDrv, pDrv, SB16DRIVER, Node)
@@ -1347,13 +1239,12 @@ static void sb16MixerReset(PSB16STATE pThis)
 
     if (pThis->pMixer)
     {
-        audioMixerDestroy(pThis->pMixer);
+        AudioMixerDestroy(pThis->pMixer);
         pThis->pMixer = NULL;
     }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
-    memset (pThis->mixer_regs, 0xff, 0x7f);
-    memset (pThis->mixer_regs + 0x83, 0xff, sizeof (pThis->mixer_regs) - 0x83);
+    memset(pThis->mixer_regs, 0xff, 0x7f);
+    memset(pThis->mixer_regs + 0x83, 0xff, sizeof (pThis->mixer_regs) - 0x83);
 
     pThis->mixer_regs[0x02] = 4;    /* master volume 3bits */
     pThis->mixer_regs[0x06] = 4;    /* MIDI volume 3bits */
@@ -1381,8 +1272,7 @@ static void sb16MixerReset(PSB16STATE pThis)
     for (int i = 0x44; i < 0x48; i++)
         pThis->mixer_regs[i] = 0x80;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    int rc2 = audioMixerCreate("SB16 Mixer", 0 /* uFlags */, &pThis->pMixer);
+    int rc2 = AudioMixerCreate("SB16 Mixer", 0 /* uFlags */, &pThis->pMixer);
     if (RT_SUCCESS(rc2))
     {
         /* Set a default audio format for our mixer. */
@@ -1392,15 +1282,14 @@ static void sb16MixerReset(PSB16STATE pThis)
         streamCfg.enmFormat     = AUD_FMT_S16;
         streamCfg.enmEndianness = PDMAUDIOHOSTENDIANNESS;
 
-        rc2 = audioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
+        rc2 = AudioMixerSetDeviceFormat(pThis->pMixer, &streamCfg);
         AssertRC(rc2);
 
         /* Add all required audio sinks. */
-        rc2 = audioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
+        rc2 = AudioMixerAddSink(pThis->pMixer, "[Playback] PCM Output",
                                 AUDMIXSINKDIR_OUTPUT, &pThis->pSinkOutput);
         AssertRC(rc2);
     }
-#endif
 
     /* Update the master (mixer) and PCM out volumes. */
     sb16SetMasterVolume(pThis);
@@ -1416,8 +1305,7 @@ static IO_WRITE_PROTO(mixer_write_indexb)
     return VINF_SUCCESS;
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-uint32_t popcount (uint32_t u) /** @todo r=andy WTF? */
+uint32_t popcount(uint32_t u) /** @todo r=andy WTF? */
 {
     u = ((u&0x55555555) + ((u>>1)&0x55555555));
     u = ((u&0x33333333) + ((u>>2)&0x33333333));
@@ -1427,11 +1315,10 @@ uint32_t popcount (uint32_t u) /** @todo r=andy WTF? */
     return u;
 }
 
-uint32_t lsbindex (uint32_t u)
+uint32_t lsbindex(uint32_t u)
 {
-    return popcount ((u & -(int32_t)u) - 1);
+    return popcount((u & -(int32_t)u) - 1);
 }
-#endif
 
 /* Convert SB16 to SB Pro mixer volume (left). */
 static inline void sb16ConvVolumeL(PSB16STATE pThis, unsigned reg, uint8_t val)
@@ -1655,7 +1542,6 @@ static int sb16WriteAudio(PSB16STATE pThis, int nchan, uint32_t dma_pos,
         int rc = PDMDevHlpDMAReadMemory(pThis->pDevIns, nchan, tmpbuf, dma_pos, cbToRead, &cbRead);
         AssertMsgRC(rc, ("DMAReadMemory -> %Rrc\n", rc));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         uint32_t cbWritten;
 
         /* Just multiplex the output to the connected backends.
@@ -1672,9 +1558,6 @@ static int sb16WriteAudio(PSB16STATE pThis, int nchan, uint32_t dma_pos,
             cbWrittenMin = RT_MIN(cbWrittenMin, cbWritten);
             LogFlowFunc(("\tLUN#%RU8: cbWritten=%RU32, cWrittenMin=%RU32\n", pDrv->uLUN, cbWritten, cbWrittenMin));
         }
-#else
-        cbWrittenMin = AUD_write (pThis->voice, tmpbuf, cbToRead);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
         Assert(cbToWrite >= cbWrittenMin);
         cbToWrite      -= cbWrittenMin;
@@ -1703,7 +1586,6 @@ static DECLCALLBACK(uint32_t) sb16DMARead(PPDMDEVINS pDevIns, void *opaque, unsi
     if (pThis->left_till_irq < 0)
         pThis->left_till_irq = pThis->block_size;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PSB16DRIVER pDrv;
 
     uint32_t cbOutMin = UINT32_MAX;
@@ -1727,16 +1609,6 @@ static DECLCALLBACK(uint32_t) sb16DMARead(PPDMDEVINS pDevIns, void *opaque, unsi
         if ((free <= 0) || !dma_len)
             return dma_pos;
     }
-#else
-    if (pThis->voice)
-    {
-        free = pThis->audio_free & ~pThis->align;
-        if ((free <= 0) || !dma_len)
-            return dma_pos;
-    }
-    else
-        free = dma_len;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     copy = free;
     till = pThis->left_till_irq;
@@ -1785,16 +1657,6 @@ static DECLCALLBACK(uint32_t) sb16DMARead(PPDMDEVINS pDevIns, void *opaque, unsi
     return dma_pos;
 }
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-static void sb16AudioCallback(void *pvContext, int cbFree)
-{
-    PSB16STATE pState = (PSB16STATE)pvContext;
-    AssertPtrReturnVoid(pState);
-    pState->audio_free = cbFree;
-    /* New space available, see if we can transfer more. There is no cyclic DMA timer in VBox. */
-    PDMDevHlpDMASchedule(pState->pDevIns);
-}
-#else
 static DECLCALLBACK(void) sb16TimerIO(PPDMDEVINS pDevIns, PTMTIMER pTimer, void *pvUser)
 {
     PSB16STATE pThis = PDMINS_2_DATA(pDevIns, PSB16STATE);
@@ -1861,7 +1723,6 @@ static DECLCALLBACK(void) sb16TimerIO(PPDMDEVINS pDevIns, PTMTIMER pTimer, void
 
     TMTimerSet(pThis->pTimerIO, TMTimerGet(pThis->pTimerIO) + pThis->uTicksIO);
 }
-#endif /* !VBOX_WITH_PDM_AUDIO_DRIVER */
 
 static void sb16Save(PSSMHANDLE pSSM, PSB16STATE pThis)
 {
@@ -1969,7 +1830,6 @@ static int sb16Load(PSSMHANDLE pSSM, PSB16STATE pThis, int version_id)
     SSMR3GetS32(pSSM, &pThis->mixer_nreg);
     SSMR3GetMem(pSSM, pThis->mixer_regs, 256);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 #if 0
     PSB16DRIVER pDrv;
     RTListForEach(&pThis->lstDrv, pDrv, SB16DRIVER, Node)
@@ -1981,16 +1841,11 @@ static int sb16Load(PSSMHANDLE pSSM, PSB16STATE pThis, int version_id)
         }
     }
 #endif
-#else
-    AUD_close_out (&pThis->card, pThis->voice);
-    pThis->voice = NULL;
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     if (pThis->dma_running)
     {
         if (pThis->freq)
         {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             PDMAUDIOSTREAMCFG streamCfg;
             streamCfg.uHz           = pThis->freq;
             streamCfg.cChannels     = 1 << pThis->fmt_stereo;
@@ -1999,23 +1854,6 @@ static int sb16Load(PSSMHANDLE pSSM, PSB16STATE pThis, int version_id)
 
             int rc = sb16OpenOut(pThis, &streamCfg);
             AssertRC(rc);
-#else
-            pThis->audio_free = 0;
-
-            audsettings_t as;
-            as.freq = pThis->freq;
-            as.nchannels = 1 << pThis->fmt_stereo;
-            as.fmt = pThis->fmt;
-            as.endianness = 0;
-            pThis->voice = AUD_open_out (
-                &pThis->card,
-                pThis->voice,
-                "sb16",
-                pThis,
-                sb16AudioCallback,
-                &as
-                );
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
         }
 
         sb16Control(pThis, 1);
@@ -2095,7 +1933,6 @@ static DECLCALLBACK(int) sb16LoadExec(PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint3
     return VINF_SUCCESS;
 }
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 static int sb16OpenOut(PSB16STATE pThis, PPDMAUDIOSTREAMCFG pCfg)
 {
     AssertPtrReturn(pThis, VERR_INVALID_POINTER);
@@ -2118,8 +1955,8 @@ static int sb16OpenOut(PSB16STATE pThis, PPDMAUDIOSTREAMCFG pCfg)
         LogFlowFunc(("LUN#%RU8: Opened output with rc=%Rrc\n", uLUN, rc));
         if (rc2 == VINF_SUCCESS) /* Note: Could return VWRN_ALREADY_EXISTS. */
         {
-            audioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
-            rc = audioMixerAddStreamOut(pThis->pSinkOutput,
+            AudioMixerRemoveStream(pThis->pSinkOutput, pDrv->Out.phStrmOut);
+            rc = AudioMixerAddStreamOut(pThis->pSinkOutput,
                                         pDrv->pConnector, pDrv->Out.pStrmOut,
                                         0 /* uFlags */,
                                         &pDrv->Out.phStrmOut);
@@ -2137,11 +1974,10 @@ static int sb16OpenOut(PSB16STATE pThis, PPDMAUDIOSTREAMCFG pCfg)
         uLUN++;
     }
     /* Ensure volume gets propagated. */
-    audioMixerInvalidate(pThis->pMixer);
+    AudioMixerInvalidate(pThis->pMixer);
 
     return rc;
 }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
 /**
  * @interface_method_impl{PDMDEVREG,pfnReset}
@@ -2195,7 +2031,6 @@ static DECLCALLBACK(int) sb16Destruct(PPDMDEVINS pDevIns)
 {
     PSB16STATE pThis = PDMINS_2_DATA(pDevIns, PSB16STATE);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     PSB16DRIVER pDrv;
 
     RTListForEach(&pThis->lstDrv, pDrv, SB16DRIVER, Node)
@@ -2205,10 +2040,9 @@ static DECLCALLBACK(int) sb16Destruct(PPDMDEVINS pDevIns)
 
     if (pThis->pMixer)
     {
-        audioMixerDestroy(pThis->pMixer);
+        AudioMixerDestroy(pThis->pMixer);
         pThis->pMixer = NULL;
     }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     return VINF_SUCCESS;
 }
@@ -2283,9 +2117,7 @@ static DECLCALLBACK(int) sb16Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMN
     pThis->csp_regs[5]             = 1;
     pThis->csp_regs[9]             = 0xf8;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     RTListInit(&pThis->lstDrv);
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     sb16MixerReset(pThis);
 
@@ -2322,7 +2154,6 @@ static DECLCALLBACK(int) sb16Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMN
     /*
      * Attach driver.
      */
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     uint8_t uLUN;
     for (uLUN = 0; uLUN < UINT8_MAX; uLUN)
     {
@@ -2339,18 +2170,7 @@ static DECLCALLBACK(int) sb16Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMN
     }
 
     LogFunc(("cLUNs=%RU8, rc=%Rrc\n", uLUN, rc));
-#else
-    rc = PDMDevHlpDriverAttach(pDevIns, 0, &pThis->IBase, &pThis->pDrvBase, "Audio Driver Port");
-    if (rc == VERR_PDM_NO_ATTACHED_DRIVER)
-        LogFunc(("SB16: No attached driver!\n"));
-    else if (RT_FAILURE(rc))
-    {
-        AssertMsgFailed(("Failed to attach SB16 LUN #0! rc=%Rrc\n", rc));
-        return rc;
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     sb16ResetLegacy(pThis);
 
     PSB16DRIVER pDrv;
@@ -2408,23 +2228,6 @@ static DECLCALLBACK(int) sb16Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMN
             TMTimerSet(pThis->pTimerIO, TMTimerGet(pThis->pTimerIO) + pThis->uTicksIO);
         }
     }
-#else
-    AUD_register_card("sb16", &pThis->card);
-    sb16ResetLegacy(pThis);
-
-    if (!AUD_is_host_voice_out_ok(pThis->voice))
-    {
-        LogRel (("SB16: WARNING: Unable to open PCM OUT!\n"));
-        AUD_close_out (&pThis->card, pThis->voice);
-        pThis->voice = NULL;
-
-        AUD_init_null();
-
-        PDMDevHlpVMSetRuntimeError(pDevIns, 0 /*fFlags*/, "HostAudioNotResponding",
-            N_("No audio devices could be opened. Selecting the NULL audio backend "
-               "with the consequence that no sound is audible"));
-    }
-#endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
     return VINF_SUCCESS;
 }
diff --git a/src/VBox/Devices/Audio/DrvAudio.cpp b/src/VBox/Devices/Audio/DrvAudio.cpp
index 463ac22..7cc6d7b 100644
--- a/src/VBox/Devices/Audio/DrvAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvAudio.cpp
@@ -489,9 +489,9 @@ int drvAudioGstOutInit(PPDMAUDIOGSTSTRMOUT pGstStrmOut, PPDMAUDIOHSTSTRMOUT pHos
         if (RTStrAPrintf(&pszTemp, "%s (Guest)", pszName) <= 0)
             return VERR_NO_MEMORY;
 
-        rc = audioMixBufInit(&pGstStrmOut->MixBuf, pszTemp, &pGstStrmOut->Props, audioMixBufSize(&pHostStrmOut->MixBuf));
+        rc = AudioMixBufInit(&pGstStrmOut->MixBuf, pszTemp, &pGstStrmOut->Props, AudioMixBufSize(&pHostStrmOut->MixBuf));
         if (RT_SUCCESS(rc))
-            rc = audioMixBufLinkTo(&pGstStrmOut->MixBuf, &pHostStrmOut->MixBuf);
+            rc = AudioMixBufLinkTo(&pGstStrmOut->MixBuf, &pHostStrmOut->MixBuf);
 
         RTStrFree(pszTemp);
 
@@ -563,7 +563,7 @@ int drvAudioAllocHstOut(PDRVAUDIO pThis, const char *pszName, PPDMAUDIOSTREAMCFG
             break;
         }
 
-        rc = audioMixBufInit(&pHstStrmOut->MixBuf, pszTemp, &pHstStrmOut->Props, cSamples);
+        rc = AudioMixBufInit(&pHstStrmOut->MixBuf, pszTemp, &pHstStrmOut->Props, cSamples);
         if (RT_SUCCESS(rc))
         {
             RTListPrepend(&pThis->lstHstStrmOut, &pHstStrmOut->Node);
@@ -741,9 +741,9 @@ int drvAudioGstInInit(PPDMAUDIOGSTSTRMIN pGstStrmIn, PPDMAUDIOHSTSTRMIN pHstStrm
         if (RTStrAPrintf(&pszTemp, "%s (Guest)", pszName) <= 0)
             return VERR_NO_MEMORY;
 
-        rc = audioMixBufInit(&pGstStrmIn->MixBuf, pszTemp, &pGstStrmIn->Props, audioMixBufSize(&pHstStrmIn->MixBuf));
+        rc = AudioMixBufInit(&pGstStrmIn->MixBuf, pszTemp, &pGstStrmIn->Props, AudioMixBufSize(&pHstStrmIn->MixBuf));
         if (RT_SUCCESS(rc))
-            rc = audioMixBufLinkTo(&pHstStrmIn->MixBuf, &pGstStrmIn->MixBuf);
+            rc = AudioMixBufLinkTo(&pHstStrmIn->MixBuf, &pGstStrmIn->MixBuf);
 
         RTStrFree(pszTemp);
 
@@ -815,7 +815,7 @@ static int drvAudioAllocHstIn(PDRVAUDIO pThis, const char *pszName, PPDMAUDIOSTR
             break;
         }
 
-        rc = audioMixBufInit(&pHstStrmIn->MixBuf, pszTemp, &pHstStrmIn->Props, cSamples);
+        rc = AudioMixBufInit(&pHstStrmIn->MixBuf, pszTemp, &pHstStrmIn->Props, cSamples);
         if (RT_SUCCESS(rc))
         {
             RTListPrepend(&pThis->lstHstStrmIn, &pHstStrmIn->Node);
@@ -884,7 +884,7 @@ int drvAudioWrite(PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOGSTSTRMOUT pGstStrmOu
      * guest mixing buffer.
      */
     uint32_t cWritten;
-    int rc = audioMixBufWriteAt(&pGstStrmOut->MixBuf, 0 /* Offset in samples */, pvBuf, cbBuf, &cWritten);
+    int rc = AudioMixBufWriteAt(&pGstStrmOut->MixBuf, 0 /* Offset in samples */, pvBuf, cbBuf, &cWritten);
 
     /*
      * Second, mix the guest mixing buffer with the host mixing
@@ -894,7 +894,7 @@ int drvAudioWrite(PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOGSTSTRMOUT pGstStrmOu
     if (   RT_SUCCESS(rc)
         && cWritten)
     {
-        rc = audioMixBufMixToParent(&pGstStrmOut->MixBuf, cWritten, &cMixed);
+        rc = AudioMixBufMixToParent(&pGstStrmOut->MixBuf, cWritten, &cMixed);
     }
     else
         cMixed = 0;
@@ -1077,7 +1077,7 @@ static DECLCALLBACK(int) drvAudioQueryStatus(PPDMIAUDIOCONNECTOR pInterface,
                 /* Tell the sound device emulation how many samples are free
                  * so that it can start writing PCM data to us. */
                 cbFree2 = RT_MIN(cbFree2, AUDIOMIXBUF_S2B_RATIO(&pGstStrmOut->MixBuf,
-                                                                audioMixBufFree(&pGstStrmOut->MixBuf)));
+                                                                AudioMixBufFree(&pGstStrmOut->MixBuf)));
 
                 LogFlowFunc(("\t[%s] cbFree=%RU32\n", pGstStrmOut->MixBuf.pszName, cbFree2));
             }
@@ -1107,7 +1107,7 @@ static DECLCALLBACK(int) drvAudioQueryStatus(PPDMIAUDIOCONNECTOR pInterface,
         if (pGstStrmIn->State.fActive)
         {
             cbAvailIn = RT_MAX(cbAvailIn, AUDIOMIXBUF_S2B(&pHstStrmIn->MixBuf,
-                                                          audioMixBufMixed(&pHstStrmIn->MixBuf)));
+                                                          AudioMixBufMixed(&pHstStrmIn->MixBuf)));
 
             LogFlowFunc(("\t[%s] cbFree=%RU32\n", pHstStrmIn->MixBuf.pszName, cbAvailIn));
         }
@@ -1193,7 +1193,7 @@ static DECLCALLBACK(int) drvAudioPlayOut(PPDMIAUDIOCONNECTOR pInterface, uint32_
                 && pGstStrmOut->State.fEmpty)
                 continue;
 
-            if (audioMixBufIsEmpty(&pGstStrmOut->MixBuf))
+            if (AudioMixBufIsEmpty(&pGstStrmOut->MixBuf))
             {
                 pGstStrmOut->State.fEmpty = true;
                 fNeedsCleanup |= !pGstStrmOut->State.fActive;
@@ -1427,11 +1427,11 @@ static DECLCALLBACK(int) drvAudioRead(PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOG
      * should have the audio data in the format the guest needs.
      */
     uint32_t cRead;
-    int rc = audioMixBufReadCirc(&pGstStrmIn->MixBuf,
+    int rc = AudioMixBufReadCirc(&pGstStrmIn->MixBuf,
                                  pvBuf, cbBuf, &cRead);
     if (RT_SUCCESS(rc))
     {
-        audioMixBufFinish(&pGstStrmIn->MixBuf, cRead);
+        AudioMixBufFinish(&pGstStrmIn->MixBuf, cRead);
 
         if (pcbRead)
             *pcbRead = AUDIOMIXBUF_S2B(&pGstStrmIn->MixBuf, cRead);
diff --git a/src/VBox/Devices/Audio/DrvAudioCommon.cpp b/src/VBox/Devices/Audio/DrvAudioCommon.cpp
index 2be7151..4878378 100644
--- a/src/VBox/Devices/Audio/DrvAudioCommon.cpp
+++ b/src/VBox/Devices/Audio/DrvAudioCommon.cpp
@@ -146,13 +146,13 @@ void drvAudioGstInFreeRes(PPDMAUDIOGSTSTRMIN pGstStrmIn)
         pGstStrmIn->State.pszName = NULL;
     }
 
-    audioMixBufDestroy(&pGstStrmIn->MixBuf);
+    AudioMixBufDestroy(&pGstStrmIn->MixBuf);
 }
 
 void drvAudioHstInFreeRes(PPDMAUDIOHSTSTRMIN pHstStrmIn)
 {
     AssertPtrReturnVoid(pHstStrmIn);
-    audioMixBufDestroy(&pHstStrmIn->MixBuf);
+    AudioMixBufDestroy(&pHstStrmIn->MixBuf);
 }
 
 void drvAudioGstOutFreeRes(PPDMAUDIOGSTSTRMOUT pGstStrmOut)
@@ -166,7 +166,7 @@ void drvAudioGstOutFreeRes(PPDMAUDIOGSTSTRMOUT pGstStrmOut)
         pGstStrmOut->State.pszName = NULL;
     }
 
-    audioMixBufDestroy(&pGstStrmOut->MixBuf);
+    AudioMixBufDestroy(&pGstStrmOut->MixBuf);
 }
 
 #if 0
@@ -225,7 +225,7 @@ uint32_t drvAudioHstInGetLive(PPDMAUDIOHSTSTRMIN pHstStrmIn)
 void drvAudioHstOutFreeRes(PPDMAUDIOHSTSTRMOUT pHstStrmOut)
 {
     AssertPtrReturnVoid(pHstStrmOut);
-    audioMixBufDestroy(&pHstStrmOut->MixBuf);
+    AudioMixBufDestroy(&pHstStrmOut->MixBuf);
 }
 
 #if 0
@@ -437,7 +437,7 @@ static uint32_t drvAudioHstOutMinSamplesMixed(PPDMAUDIOHSTSTRMOUT pHstStrmOut, u
         if (    pGstStrmOut->State.fActive
             || !pGstStrmOut->State.fEmpty)
         {
-            cSamples = audioMixBufMixed(&pGstStrmOut->MixBuf);
+            cSamples = AudioMixBufMixed(&pGstStrmOut->MixBuf);
             cMinSamplesMixed = RT_MIN(cMinSamplesMixed, cSamples);
 
             cStreamsLive++;
@@ -472,7 +472,7 @@ uint32_t drvAudioHstOutSamplesLive(PPDMAUDIOHSTSTRMOUT pHstStrmOut, uint32_t *pc
     if (cStreamsLive) /* Any live streams at all? */
     {
         if (   cSamplesMin == UINT32_MAX
-            || cSamplesMin > audioMixBufSize(&pHstStrmOut->MixBuf))
+            || cSamplesMin > AudioMixBufSize(&pHstStrmOut->MixBuf))
         {
             LogFlowFunc(("Error: cSamplesMin=%RU32\n", cSamplesMin));
             return 0;
diff --git a/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp b/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
index 19455bd..c75d7e3 100644
--- a/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
@@ -800,7 +800,7 @@ static DECLCALLBACK(int) drvHostALSAAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
         switch (state)
         {
             case SND_PCM_STATE_PREPARED:
-                cAvail = audioMixBufFree(&pHstStrmIn->MixBuf);
+                cAvail = AudioMixBufFree(&pHstStrmIn->MixBuf);
                 break;
 
             case SND_PCM_STATE_SUSPENDED:
@@ -881,7 +881,7 @@ static DECLCALLBACK(int) drvHostALSAAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
         else
         {
             uint32_t cWritten;
-            rc = audioMixBufWriteCirc(&pHstStrmIn->MixBuf,
+            rc = AudioMixBufWriteCirc(&pHstStrmIn->MixBuf,
                                       pThisStrmIn->pvBuf, AUDIOMIXBUF_S2B(&pHstStrmIn->MixBuf, cRead),
                                       &cWritten);
             if (RT_FAILURE(rc))
@@ -899,7 +899,7 @@ static DECLCALLBACK(int) drvHostALSAAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
     {
         uint32_t cProcessed = 0;
         if (cWrittenTotal)
-            rc = audioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
+            rc = AudioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
                                         &cProcessed);
 
         if (pcSamplesCaptured)
@@ -945,7 +945,7 @@ static DECLCALLBACK(int) drvHostALSAAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
         snd_pcm_sframes_t cWritten;
         while (cbToRead)
         {
-            rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf, pThisStrmOut->pvBuf, cbToRead, &cRead);
+            rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf, pThisStrmOut->pvBuf, cbToRead, &cRead);
             if (RT_FAILURE(rc))
                 break;
 
@@ -1010,7 +1010,7 @@ static DECLCALLBACK(int) drvHostALSAAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
     {
         uint32_t cReadTotal = AUDIOMIXBUF_B2S(&pHstStrmOut->MixBuf, cbReadTotal);
         if (cReadTotal)
-            audioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
+            AudioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
 
         if (pcSamplesPlayed)
             *pcSamplesPlayed = cReadTotal;
diff --git a/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp b/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
index 8908142..1804230 100644
--- a/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostCoreAudio.cpp
@@ -336,40 +336,72 @@ static DECLCALLBACK(OSStatus) drvHostCoreAudioDefaultDeviceChanged(AudioObjectID
                                                                    const AudioObjectPropertyAddress properties[],
                                                                    void *pvUser)
 {
-    PCOREAUDIOSTREAMIN pStreamIn = (PCOREAUDIOSTREAMIN)pvUser;
-
     OSStatus err = noErr;
 
-    switch (propertyID)
+    LogFlowFunc(("propertyID=%u nAddresses=%u pvUser=%p\n", propertyID, nAddresses, pvUser));
+
+    for (UInt32 idxAddress = 0; idxAddress < nAddresses; idxAddress++)
     {
-        case kAudioHardwarePropertyDefaultInputDevice:
+        const AudioObjectPropertyAddress *pProperty = &properties[idxAddress];
+
+        switch (pProperty->mSelector)
         {
-            /* This listener is called on every change of the hardware
-             * device. So check if the default device has really changed. */
-            AudioObjectPropertyAddress propAdr = { kAudioHardwarePropertyDefaultInputDevice,
-                                                   kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
+            case kAudioHardwarePropertyDefaultInputDevice:
+            {
+                PCOREAUDIOSTREAMIN pStreamIn = (PCOREAUDIOSTREAMIN)pvUser;
 
-            UInt32 uSize = sizeof(pStreamIn->deviceID);
-            UInt32 uResp;
-            err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propAdr, 0, NULL, &uSize, &uResp);
+                /* This listener is called on every change of the hardware
+                 * device. So check if the default device has really changed. */
+                UInt32 uSize = sizeof(pStreamIn->deviceID);
+                UInt32 uResp;
+                err = AudioObjectGetPropertyData(kAudioObjectSystemObject, pProperty, 0, NULL, &uSize, &uResp);
 
-            if (err == noErr)
-            {
-                if (pStreamIn->deviceID != uResp)
+                if (err == noErr)
                 {
-                    LogRel(("CoreAudio: Default input device has changed\n"));
+                    if (pStreamIn->deviceID != uResp)
+                    {
+                        LogRel(("CoreAudio: Default input device has changed\n"));
+
+                        /* We move the reinitialization to the next input event.
+                         * This make sure this thread isn't blocked and the
+                         * reinitialization is done when necessary only. */
+                        ASMAtomicXchgU32(&pStreamIn->status, CA_STATUS_REINIT);
+                    }
+                }
+                break;
+            }
 
-                    /* We move the reinitialization to the next input event.
-                     * This make sure this thread isn't blocked and the
-                     * reinitialization is done when necessary only. */
-                    ASMAtomicXchgU32(&pStreamIn->status, CA_STATUS_REINIT);
+            case kAudioHardwarePropertyDefaultOutputDevice:
+            {
+                PCOREAUDIOSTREAMOUT pStreamOut = (PCOREAUDIOSTREAMOUT)pvUser;
+
+                /* This listener is called on every change of the hardware
+                 * device. So check if the default device has really changed. */
+                AudioObjectPropertyAddress propAdr = { kAudioHardwarePropertyDefaultOutputDevice,
+                                                       kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster };
+
+                UInt32 uSize = sizeof(pStreamOut->deviceID);
+                UInt32 uResp;
+                err = AudioObjectGetPropertyData(kAudioObjectSystemObject, &propAdr, 0, NULL, &uSize, &uResp);
+
+                if (err == noErr)
+                {
+                    if (pStreamOut->deviceID != uResp)
+                    {
+                        LogRel(("CoreAudio: Default output device has changed\n"));
+
+                        /* We move the reinitialization to the next input event.
+                         * This make sure this thread isn't blocked and the
+                         * reinitialization is done when necessary only. */
+                        ASMAtomicXchgU32(&pStreamOut->status, CA_STATUS_REINIT);
+                    }
                 }
+                break;
             }
-            break;
-        }
 
-        default:
-            break;
+            default:
+                break;
+        }
     }
 
     return noErr;
@@ -1319,7 +1351,7 @@ static DECLCALLBACK(int) drvHostCoreAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
 
     do
     {
-        size_t cbBuf = audioMixBufSizeBytes(&pHstStrmIn->MixBuf);
+        size_t cbBuf = AudioMixBufSizeBytes(&pHstStrmIn->MixBuf);
         size_t cbToWrite = RT_MIN(cbBuf, RTCircBufFree(pStreamIn->pBuf));
         LogFlowFunc(("cbToWrite=%zu\n", cbToWrite));
 
@@ -1337,7 +1369,7 @@ static DECLCALLBACK(int) drvHostCoreAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
                 break;
             }
 
-            rc = audioMixBufWriteCirc(&pHstStrmIn->MixBuf, puBuf, cbToRead, &cWritten);
+            rc = AudioMixBufWriteCirc(&pHstStrmIn->MixBuf, puBuf, cbToRead, &cWritten);
             if (RT_FAILURE(rc))
                 break;
 
@@ -1357,7 +1389,7 @@ static DECLCALLBACK(int) drvHostCoreAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PP
     {
         uint32_t cWrittenTotal = AUDIOMIXBUF_B2S(&pHstStrmIn->MixBuf, cbWrittenTotal);
         if (cWrittenTotal)
-            audioMixBufFinish(&pHstStrmIn->MixBuf, cWrittenTotal);
+            AudioMixBufFinish(&pHstStrmIn->MixBuf, cWrittenTotal);
 
         LogFlowFunc(("cWrittenTotal=%RU32 (%RU32 bytes)\n", cWrittenTotal, cbWrittenTotal));
 
@@ -1476,7 +1508,7 @@ static DECLCALLBACK(int) drvHostCoreAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
 
     do
     {
-        size_t cbBuf = RT_MIN(audioMixBufSizeBytes(&pHstStrmOut->MixBuf), pStreamOut->cbPCMBuf);
+        size_t cbBuf = RT_MIN(AudioMixBufSizeBytes(&pHstStrmOut->MixBuf), pStreamOut->cbPCMBuf);
         size_t cbToRead = RT_MIN(cbBuf, RTCircBufFree(pStreamOut->pBuf));
         LogFlowFunc(("cbToRead=%zu\n", cbToRead));
 
@@ -1486,7 +1518,7 @@ static DECLCALLBACK(int) drvHostCoreAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
 
         while (cbToRead)
         {
-            rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf,
+            rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf,
                                      pStreamOut->pvPCMBuf, cbToRead, &cRead);
             if (   RT_FAILURE(rc)
                 || !cRead)
@@ -1521,7 +1553,7 @@ static DECLCALLBACK(int) drvHostCoreAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
     {
         uint32_t cReadTotal = AUDIOMIXBUF_B2S(&pHstStrmOut->MixBuf, cbReadTotal);
         if (cReadTotal)
-            audioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
+            AudioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
 
         LogFlowFunc(("cReadTotal=%RU32 (%RU32 bytes)\n", cReadTotal, cbReadTotal));
 
@@ -1707,7 +1739,7 @@ static DECLCALLBACK(int) drvHostCoreAudioFiniIn(PPDMIHOSTAUDIO pInterface, PPDMA
         /*
          * Unregister input device callbacks.
          */
-        AudioObjectPropertyAddress propAdr = { kAudioDeviceProcessorOverload, kAudioUnitScope_Global,
+        AudioObjectPropertyAddress propAdr = { kAudioDeviceProcessorOverload, kAudioObjectPropertyScopeGlobal,
                                                kAudioObjectPropertyElementMaster };
 #ifdef DEBUG
         err = AudioObjectRemovePropertyListener(pStreamIn->deviceID, &propAdr,
@@ -1805,7 +1837,7 @@ static DECLCALLBACK(int) drvHostCoreAudioFiniOut(PPDMIHOSTAUDIO pInterface, PPDM
         OSStatus err;
         if (pStreamOut->fDefDevChgListReg)
         {
-            AudioObjectPropertyAddress propAdr = { kAudioHardwarePropertyDefaultOutputDevice, kAudioUnitScope_Global,
+            AudioObjectPropertyAddress propAdr = { kAudioHardwarePropertyDefaultOutputDevice, kAudioObjectPropertyScopeGlobal,
                                                    kAudioObjectPropertyElementMaster };
             err = AudioObjectRemovePropertyListener(pStreamOut->deviceID, &propAdr,
                                                     drvHostCoreAudioDefaultDeviceChanged, NULL);
diff --git a/src/VBox/Devices/Audio/DrvHostDSound.cpp b/src/VBox/Devices/Audio/DrvHostDSound.cpp
index dc654a1..d2b932c 100644
--- a/src/VBox/Devices/Audio/DrvHostDSound.cpp
+++ b/src/VBox/Devices/Audio/DrvHostDSound.cpp
@@ -1166,7 +1166,7 @@ static DECLCALLBACK(int) drvHostDSoundPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUD
 
     if (pv1 && cb1)
     {
-        rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf, pv1, cb1, &cRead);
+        rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf, pv1, cb1, &cRead);
         if (RT_SUCCESS(rc))
             cReadTotal += cRead;
     }
@@ -1175,7 +1175,7 @@ static DECLCALLBACK(int) drvHostDSoundPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUD
         && cReadTotal == len1
         && pv2 && cb2)
     {
-        rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf, pv2, cb2, &cRead);
+        rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf, pv2, cb2, &cRead);
         if (RT_SUCCESS(rc))
             cReadTotal += cRead;
     }
@@ -1191,7 +1191,7 @@ static DECLCALLBACK(int) drvHostDSoundPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUD
 
     if (cReadTotal)
     {
-        audioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
+        AudioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
         rc = VINF_SUCCESS; /* Played something. */
     }
 
@@ -1351,10 +1351,10 @@ static DECLCALLBACK(int) drvHostDSoundCaptureIn(PPDMIHOSTAUDIO pInterface, PPDMA
     }
 
     /* Using as an intermediate not circular buffer. */
-    audioMixBufReset(&pHstStrmIn->MixBuf);
+    AudioMixBufReset(&pHstStrmIn->MixBuf);
 
     /* Get number of free samples in the mix buffer and check that is has free space */
-    uint32_t csMixFree = audioMixBufFree(&pHstStrmIn->MixBuf);
+    uint32_t csMixFree = AudioMixBufFree(&pHstStrmIn->MixBuf);
     if (csMixFree == 0)
     {
         DSLOG(("DSound: capture mix buffer full\n"));
@@ -1391,7 +1391,7 @@ static DECLCALLBACK(int) drvHostDSoundCaptureIn(PPDMIHOSTAUDIO pInterface, PPDMA
     uint32_t csWritten;
     if (pv1 && len1)
     {
-        rc = audioMixBufWriteAt(&pHstStrmIn->MixBuf, 0 /* offWrite */,
+        rc = AudioMixBufWriteAt(&pHstStrmIn->MixBuf, 0 /* offWrite */,
                                 pv1, cb1, &csWritten);
         if (RT_SUCCESS(rc))
             csWrittenTotal += csWritten;
@@ -1401,7 +1401,7 @@ static DECLCALLBACK(int) drvHostDSoundCaptureIn(PPDMIHOSTAUDIO pInterface, PPDMA
         && csWrittenTotal == len1
         && pv2 && len2)
     {
-        rc = audioMixBufWriteAt(&pHstStrmIn->MixBuf, csWrittenTotal,
+        rc = AudioMixBufWriteAt(&pHstStrmIn->MixBuf, csWrittenTotal,
                                 pv2, cb2, &csWritten);
         if (RT_SUCCESS(rc))
             csWrittenTotal += csWritten;
@@ -1413,7 +1413,7 @@ static DECLCALLBACK(int) drvHostDSoundCaptureIn(PPDMIHOSTAUDIO pInterface, PPDMA
     if (csWrittenTotal != 0)
     {
         /* Captured something. */
-        rc = audioMixBufMixToParent(&pHstStrmIn->MixBuf, csWrittenTotal,
+        rc = AudioMixBufMixToParent(&pHstStrmIn->MixBuf, csWrittenTotal,
                                     &csProcessed);
     }
 
diff --git a/src/VBox/Devices/Audio/DrvHostNullAudio.cpp b/src/VBox/Devices/Audio/DrvHostNullAudio.cpp
index fa1107a..6a0ccd5 100644
--- a/src/VBox/Devices/Audio/DrvHostNullAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostNullAudio.cpp
@@ -174,7 +174,7 @@ static DECLCALLBACK(int) drvHostNullAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDM
     if (cSamplesPlayed > csLive)
         cSamplesPlayed = csLive;
 
-    audioMixBufFinish(&pHstStrmOut->MixBuf, cSamplesPlayed);
+    AudioMixBufFinish(&pHstStrmOut->MixBuf, cSamplesPlayed);
 
     if (pcSamplesPlayed)
         *pcSamplesPlayed = cSamplesPlayed;
diff --git a/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp b/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
index 853fea7..28494db 100644
--- a/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostOSSAudio.cpp
@@ -365,7 +365,7 @@ static DECLCALLBACK(int) drvHostOSSAudioControlOut(PPDMIHOSTAUDIO pInterface, PP
         case PDMAUDIOSTREAMCMD_ENABLE:
         {
             audio_pcm_info_clear_buf(&pHstStrmOut->Props,
-                                     pThisStrmOut->pvPCMBuf, audioMixBufSize(&pHstStrmOut->MixBuf));
+                                     pThisStrmOut->pvPCMBuf, AudioMixBufSize(&pHstStrmOut->MixBuf));
 
             mask = PCM_ENABLE_OUTPUT;
             if (ioctl(pThisStrmOut->hFile, SNDCTL_DSP_SETTRIGGER, &mask) < 0)
@@ -418,7 +418,7 @@ static DECLCALLBACK(int) drvHostOSSAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PPD
 
     int rc = VINF_SUCCESS;
     size_t cbToRead = RT_MIN(pThisStrmIn->cbBuf,
-                             audioMixBufFreeBytes(&pHstStrmIn->MixBuf));
+                             AudioMixBufFreeBytes(&pHstStrmIn->MixBuf));
 
     LogFlowFunc(("cbToRead=%zu\n", cbToRead));
 
@@ -465,7 +465,7 @@ static DECLCALLBACK(int) drvHostOSSAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PPD
         else if (cbRead)
         {
             uint32_t cWritten;
-            rc = audioMixBufWriteCirc(&pHstStrmIn->MixBuf,
+            rc = AudioMixBufWriteCirc(&pHstStrmIn->MixBuf,
                                       pThisStrmIn->pvBuf, cbRead,
                                       &cWritten);
             if (RT_FAILURE(rc))
@@ -489,7 +489,7 @@ static DECLCALLBACK(int) drvHostOSSAudioCaptureIn(PPDMIHOSTAUDIO pInterface, PPD
     {
         uint32_t cProcessed = 0;
         if (cWrittenTotal)
-            rc = audioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
+            rc = AudioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
                                         &cProcessed);
 
         if (pcSamplesCaptured)
@@ -785,7 +785,7 @@ static DECLCALLBACK(int) drvHostOSSAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDMA
 
     do
     {
-        size_t cbBuf = audioMixBufSizeBytes(&pHstStrmOut->MixBuf);
+        size_t cbBuf = AudioMixBufSizeBytes(&pHstStrmOut->MixBuf);
 
         uint32_t cLive = drvAudioHstOutSamplesLive(pHstStrmOut,
                                                    NULL /* pcStreamsLive */);
@@ -860,7 +860,7 @@ static DECLCALLBACK(int) drvHostOSSAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDMA
         uint32_t cRead, cbRead;
         while (cbToRead)
         {
-            rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf,
+            rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf,
                                      pThisStrmOut->pvPCMBuf, cbToRead, &cRead);
             if (RT_FAILURE(rc))
                 break;
@@ -892,7 +892,7 @@ static DECLCALLBACK(int) drvHostOSSAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPDMA
     {
         uint32_t cReadTotal = AUDIOMIXBUF_B2S(&pHstStrmOut->MixBuf, cbReadTotal);
         if (cReadTotal)
-            audioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
+            AudioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
 
         if (pcSamplesPlayed)
             *pcSamplesPlayed = cReadTotal;
diff --git a/src/VBox/Devices/Audio/DrvHostPulseAudio.cpp b/src/VBox/Devices/Audio/DrvHostPulseAudio.cpp
index e6a4807..69243a5 100644
--- a/src/VBox/Devices/Audio/DrvHostPulseAudio.cpp
+++ b/src/VBox/Devices/Audio/DrvHostPulseAudio.cpp
@@ -74,6 +74,8 @@ typedef struct DRVHOSTPULSEAUDIO
     /** Error count for not flooding the release log.
      *  UINT32_MAX for unlimited logging. */
     uint32_t           cLogErrors;
+    /** Configuration option: stream name. */
+    char               *pszStreamName;
 } DRVHOSTPULSEAUDIO, *PDRVHOSTPULSEAUDIO;
 
 typedef struct PULSEAUDIOSTREAM
@@ -84,7 +86,7 @@ typedef struct PULSEAUDIOSTREAM
     {
         PDMAUDIOHSTSTRMIN  In;
         PDMAUDIOHSTSTRMOUT Out;
-    } hw;
+    };
     /** Pointer to driver instance. */
     PDRVHOSTPULSEAUDIO     pDrv;
     /** DAC/ADC buffer. */
@@ -555,11 +557,12 @@ static DECLCALLBACK(int) drvHostPulseAudioInitOut(PPDMIHOSTAUDIO pInterface,
                                                   PPDMAUDIOHSTSTRMOUT pHstStrmOut, PPDMAUDIOSTREAMCFG pCfg,
                                                   uint32_t *pcSamples)
 {
-    NOREF(pInterface);
+    AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pHstStrmOut, VERR_INVALID_POINTER);
     AssertPtrReturn(pCfg, VERR_INVALID_POINTER);
     /* pcSamples is optional. */
 
+    PDRVHOSTPULSEAUDIO pDrv = PDMIHOSTAUDIO_2_DRVHOSTPULSEAUDIO(pInterface);
     PPULSEAUDIOSTREAM pThisStrmOut = (PPULSEAUDIOSTREAM)pHstStrmOut;
 
     LogFlowFuncEnter();
@@ -579,7 +582,9 @@ static DECLCALLBACK(int) drvHostPulseAudioInitOut(PPDMIHOSTAUDIO pInterface,
     pThisStrmOut->BufAttr.minreq      = -1; /* Pulse should set something sensible for minreq on it's own */
 
     /* Note that the struct BufAttr is updated to the obtained values after this call! */
-    int rc = drvHostPulseAudioOpen(false /* fIn */, "pa.out", &pThisStrmOut->SampleSpec, &pThisStrmOut->BufAttr,
+    char achName[64];
+    RTStrPrintf(achName, sizeof(achName), "%.32s (out)", pDrv->pszStreamName);
+    int rc = drvHostPulseAudioOpen(false /* fIn */, achName, &pThisStrmOut->SampleSpec, &pThisStrmOut->BufAttr,
                                    &pThisStrmOut->pStream);
     if (RT_FAILURE(rc))
         return rc;
@@ -612,6 +617,9 @@ static DECLCALLBACK(int) drvHostPulseAudioInitOut(PPDMIHOSTAUDIO pInterface,
                 if (pcSamples)
                     *pcSamples = cSamples;
 
+                /* Save pointer to driver instance. */
+                pThisStrmOut->pDrv = pDrv;
+
                 LogFunc(("cbBuf=%RU32, cSamples=%RU32\n", cbBuf, cSamples));
             }
             else
@@ -637,11 +645,12 @@ static DECLCALLBACK(int) drvHostPulseAudioInitIn(PPDMIHOSTAUDIO pInterface,
                                                  PDMAUDIORECSOURCE enmRecSource,
                                                  uint32_t *pcSamples)
 {
-    NOREF(pInterface);
+    AssertPtrReturn(pInterface, VERR_INVALID_POINTER);
     AssertPtrReturn(pHstStrmIn, VERR_INVALID_POINTER);
     AssertPtrReturn(pCfg, VERR_INVALID_POINTER);
     /* pcSamples is optional. */
 
+    PDRVHOSTPULSEAUDIO pDrv = PDMIHOSTAUDIO_2_DRVHOSTPULSEAUDIO(pInterface);
     PPULSEAUDIOSTREAM pThisStrmIn = (PPULSEAUDIOSTREAM)pHstStrmIn;
 
     LogFunc(("enmRecSrc=%ld\n", enmRecSource));
@@ -656,7 +665,9 @@ static DECLCALLBACK(int) drvHostPulseAudioInitIn(PPDMIHOSTAUDIO pInterface,
     pThisStrmIn->BufAttr.maxlength   = (pThisStrmIn->BufAttr.fragsize * 3) / 2;
     /* Note: Other members of pa_buffer_attr are ignored for record streams. */
 
-    int rc = drvHostPulseAudioOpen(true /* fIn */, "pa.in", &pThisStrmIn->SampleSpec, &pThisStrmIn->BufAttr,
+    char achName[64];
+    RTStrPrintf(achName, sizeof(achName), "%.32s (in)", pDrv->pszStreamName);
+    int rc = drvHostPulseAudioOpen(true /* fIn */, achName, &pThisStrmIn->SampleSpec, &pThisStrmIn->BufAttr,
                                    &pThisStrmIn->pStream);
     if (RT_FAILURE(rc))
         return rc;
@@ -683,6 +694,9 @@ static DECLCALLBACK(int) drvHostPulseAudioInitIn(PPDMIHOSTAUDIO pInterface,
         if (pcSamples)
             *pcSamples = cSamples;
 
+        /* Save pointer to driver instance. */
+        pThisStrmIn->pDrv = pDrv;
+
         pThisStrmIn->pu8PeekBuf = NULL;
     }
 
@@ -722,7 +736,7 @@ static DECLCALLBACK(int) drvHostPulseAudioCaptureIn(PPDMIHOSTAUDIO pInterface, P
     }
 
     int rc = VINF_SUCCESS;
-    size_t cbToRead = RT_MIN(cbAvail, audioMixBufFreeBytes(&pHstStrmIn->MixBuf));
+    size_t cbToRead = RT_MIN(cbAvail, AudioMixBufFreeBytes(&pHstStrmIn->MixBuf));
 
     LogFlowFunc(("cbToRead=%zu, cbAvail=%zu, offPeekBuf=%zu, cbPeekBuf=%zu\n",
                  cbToRead, cbAvail, pThisStrmIn->offPeekBuf, pThisStrmIn->cbPeekBuf));
@@ -762,7 +776,7 @@ static DECLCALLBACK(int) drvHostPulseAudioCaptureIn(PPDMIHOSTAUDIO pInterface, P
         if (cbToWrite)
         {
             uint32_t cWritten;
-            rc = audioMixBufWriteCirc(&pHstStrmIn->MixBuf,
+            rc = AudioMixBufWriteCirc(&pHstStrmIn->MixBuf,
                                       pThisStrmIn->pu8PeekBuf + pThisStrmIn->offPeekBuf,
                                       cbToWrite, &cWritten);
             if (RT_FAILURE(rc))
@@ -795,7 +809,7 @@ static DECLCALLBACK(int) drvHostPulseAudioCaptureIn(PPDMIHOSTAUDIO pInterface, P
     {
         uint32_t cProcessed = 0;
         if (cWrittenTotal)
-            rc = audioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
+            rc = AudioMixBufMixToParent(&pHstStrmIn->MixBuf, cWrittenTotal,
                                         &cProcessed);
 
         if (pcSamplesCaptured)
@@ -851,7 +865,7 @@ static DECLCALLBACK(int) drvHostPulseAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPD
         uint32_t cRead, cbRead;
         while (cbToRead)
         {
-            rc = audioMixBufReadCirc(&pHstStrmOut->MixBuf, pThisStrmOut->pvPCMBuf,
+            rc = AudioMixBufReadCirc(&pHstStrmOut->MixBuf, pThisStrmOut->pvPCMBuf,
                                      RT_MIN(cbToRead, pThisStrmOut->cbPCMBuf), &cRead);
             if (   !cRead
                 || RT_FAILURE(rc))
@@ -883,7 +897,7 @@ static DECLCALLBACK(int) drvHostPulseAudioPlayOut(PPDMIHOSTAUDIO pInterface, PPD
     {
         uint32_t cReadTotal = AUDIOMIXBUF_B2S(&pHstStrmOut->MixBuf, cbReadTotal);
         if (cReadTotal)
-            audioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
+            AudioMixBufFinish(&pHstStrmOut->MixBuf, cReadTotal);
 
         if (pcSamplesPlayed)
             *pcSamplesPlayed = cReadTotal;
@@ -1138,10 +1152,11 @@ static DECLCALLBACK(void *) drvHostPulseAudioQueryInterface(PPDMIBASE pInterface
 static DECLCALLBACK(int) drvHostPulseAudioConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags)
 {
     AssertPtrReturn(pDrvIns, VERR_INVALID_POINTER);
-    /* pCfg is optional. */
 
     PDRVHOSTPULSEAUDIO pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTPULSEAUDIO);
     LogRel(("Audio: Initializing PulseAudio driver\n"));
+    
+    CFGMR3QueryStringAlloc(pCfg, "StreamName", &pThis->pszStreamName);
 
     pThis->pDrvIns                   = pDrvIns;
     /* IBase */
@@ -1159,8 +1174,13 @@ static DECLCALLBACK(int) drvHostPulseAudioConstruct(PPDMDRVINS pDrvIns, PCFGMNOD
  */
 static DECLCALLBACK(void) drvHostPulseAudioDestruct(PPDMDRVINS pDrvIns)
 {
-    NOREF(pDrvIns);
+    PDRVHOSTPULSEAUDIO pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTPULSEAUDIO);
     LogFlowFuncEnter();
+    if (pThis->pszStreamName)
+    {
+        MMR3HeapFree(pThis->pszStreamName);
+        pThis->pszStreamName = NULL;
+    }
 }
 
 /**
diff --git a/src/VBox/Devices/Audio/alsaaudio.c b/src/VBox/Devices/Audio/alsaaudio.c
deleted file mode 100644
index 92db38f..0000000
--- a/src/VBox/Devices/Audio/alsaaudio.c
+++ /dev/null
@@ -1,1194 +0,0 @@
-/*
- * QEMU ALSA audio driver
- *
- * Copyright (c) 2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifdef VBOX
-#ifndef DEBUG
-#define NDEBUG
-#endif
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#endif
-
-#ifdef VBOX
-# include "alsa_stubs.h"
-# include "alsa_mangling.h"
-#endif
-
-#include <alsa/asoundlib.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#include "audio.h"
-#include <iprt/alloc.h>
-
-#define AUDIO_CAP "alsa"
-#include "audio_int.h"
-
-typedef struct ALSAVoiceOut {
-    HWVoiceOut hw;
-    void *pcm_buf;
-    snd_pcm_t *handle;
-} ALSAVoiceOut;
-
-typedef struct ALSAVoiceIn {
-    HWVoiceIn hw;
-    snd_pcm_t *handle;
-    void *pcm_buf;
-} ALSAVoiceIn;
-
-/* latency = period_size * periods / (rate * bytes_per_frame) */
-
-static struct {
-    int size_in_usec_in;
-    int size_in_usec_out;
-    const char *pcm_name_in;
-    const char *pcm_name_out;
-    unsigned int buffer_size_in;
-    unsigned int period_size_in;
-    unsigned int buffer_size_out;
-    unsigned int period_size_out;
-    unsigned int threshold;
-
-    int buffer_size_in_overriden;
-    int period_size_in_overriden;
-
-    int buffer_size_out_overriden;
-    int period_size_out_overriden;
-    int verbose;
-} conf = {
-#ifdef HIGH_LATENCY
-    INIT_FIELD (.size_in_usec_in           =) 1,
-    INIT_FIELD (.size_in_usec_out          =) 1,
-#else
-    INIT_FIELD (.size_in_usec_in           =) 0,
-    INIT_FIELD (.size_in_usec_out          =) 0,
-#endif
-    INIT_FIELD (.pcm_name_out              =) "default",
-    INIT_FIELD (.pcm_name_in               =) "default",
-#ifdef HIGH_LATENCY
-    INIT_FIELD (.buffer_size_in            =) 400000,
-    INIT_FIELD (.period_size_in            =) 400000 / 4,
-    INIT_FIELD (.buffer_size_out           =) 400000,
-    INIT_FIELD (.period_size_out           =) 400000 / 4,
-#else
-#define DEFAULT_BUFFER_SIZE 1024
-#define DEFAULT_PERIOD_SIZE 256
-    INIT_FIELD (.buffer_size_in            =) DEFAULT_BUFFER_SIZE * 4,
-    INIT_FIELD (.period_size_in            =) DEFAULT_PERIOD_SIZE * 4,
-    INIT_FIELD (.buffer_size_out           =) DEFAULT_BUFFER_SIZE,
-    INIT_FIELD (.period_size_out           =) DEFAULT_PERIOD_SIZE,
-#endif
-    INIT_FIELD (.threshold                 =) 0,
-    INIT_FIELD (.buffer_size_in_overriden  =) 0,
-    INIT_FIELD (.period_size_in_overriden  =) 0,
-    INIT_FIELD (.buffer_size_out_overriden =) 0,
-    INIT_FIELD (.period_size_out_overriden =) 0,
-    INIT_FIELD (.verbose                   =) 0
-};
-
-struct alsa_params_req {
-    int freq;
-    audfmt_e fmt;
-    int nchannels;
-    unsigned long buffer_size;
-    unsigned long period_size;
-};
-
-struct alsa_params_obt {
-    int freq;
-    audfmt_e fmt;
-    int nchannels;
-    snd_pcm_uframes_t samples;
-};
-
-static void GCC_FMT_ATTR (2, 3) alsa_logerr (int err, const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    AUD_log (AUDIO_CAP, "Reason: %s\n", snd_strerror (err));
-}
-
-static void GCC_FMT_ATTR (3, 4) alsa_logerr2 (
-    int err,
-    const char *typ,
-    const char *fmt,
-    ...
-    )
-{
-    va_list ap;
-
-    AUD_log (AUDIO_CAP, "Could not initialize %s\n", typ);
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    AUD_log (AUDIO_CAP, "Reason: %s\n", snd_strerror (err));
-}
-
-static void alsa_anal_close (snd_pcm_t **handlep)
-{
-    int err = snd_pcm_close (*handlep);
-    if (err) {
-        alsa_logerr (err, "Failed to close PCM handle %p\n",
-                     (void *) *handlep);
-    }
-    *handlep = NULL;
-}
-
-static int alsa_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int aud_to_alsafmt (audfmt_e fmt)
-{
-    switch (fmt) {
-    case AUD_FMT_S8:
-        return SND_PCM_FORMAT_S8;
-
-    case AUD_FMT_U8:
-        return SND_PCM_FORMAT_U8;
-
-    case AUD_FMT_S16:
-        return SND_PCM_FORMAT_S16_LE;
-
-    case AUD_FMT_U16:
-        return SND_PCM_FORMAT_U16_LE;
-
-    case AUD_FMT_S32:
-        return SND_PCM_FORMAT_S32_LE;
-
-    case AUD_FMT_U32:
-        return SND_PCM_FORMAT_U32_LE;
-
-    default:
-        dolog ("Internal logic error: Bad audio format %d\n", fmt);
-#ifdef DEBUG_AUDIO
-        abort ();
-#endif
-        return SND_PCM_FORMAT_U8;
-    }
-}
-
-static int alsa_to_audfmt (int alsafmt, audfmt_e *fmt, int *endianness)
-{
-    switch (alsafmt) {
-    case SND_PCM_FORMAT_S8:
-        *endianness = 0;
-        *fmt = AUD_FMT_S8;
-        break;
-
-    case SND_PCM_FORMAT_U8:
-        *endianness = 0;
-        *fmt = AUD_FMT_U8;
-        break;
-
-    case SND_PCM_FORMAT_S16_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_S16;
-        break;
-
-    case SND_PCM_FORMAT_U16_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_U16;
-        break;
-
-    case SND_PCM_FORMAT_S16_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_S16;
-        break;
-
-    case SND_PCM_FORMAT_U16_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_U16;
-        break;
-
-    case SND_PCM_FORMAT_S32_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_S32;
-        break;
-
-    case SND_PCM_FORMAT_U32_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_U32;
-        break;
-
-    case SND_PCM_FORMAT_S32_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_S32;
-        break;
-
-    case SND_PCM_FORMAT_U32_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_U32;
-        break;
-
-    default:
-        dolog ("Unrecognized audio format %d\n", alsafmt);
-        return -1;
-    }
-
-    return 0;
-}
-
-#if defined DEBUG_MISMATCHES || defined DEBUG
-static void alsa_dump_info (struct alsa_params_req *req,
-                            struct alsa_params_obt *obt)
-{
-    dolog ("parameter | requested value | obtained value\n");
-    dolog ("format    |      %10d |     %10d\n", req->fmt, obt->fmt);
-    dolog ("channels  |      %10d |     %10d\n",
-           req->nchannels, obt->nchannels);
-    dolog ("frequency |      %10d |     %10d\n", req->freq, obt->freq);
-    dolog ("============================================\n");
-    dolog ("requested: buffer size %d period size %d\n",
-           req->buffer_size, req->period_size);
-    dolog ("obtained: samples %ld\n", obt->samples);
-}
-#endif
-
-static void alsa_set_threshold (snd_pcm_t *handle, snd_pcm_uframes_t threshold)
-{
-    int err;
-    snd_pcm_sw_params_t *sw_params;
-
-    snd_pcm_sw_params_alloca (&sw_params);
-
-    err = snd_pcm_sw_params_current (handle, sw_params);
-    if (err < 0) {
-        dolog ("Could not fully initialize DAC\n");
-        alsa_logerr (err, "Failed to get current software parameters\n");
-        return;
-    }
-
-    err = snd_pcm_sw_params_set_start_threshold (handle, sw_params, threshold);
-    if (err < 0) {
-        dolog ("Could not fully initialize DAC\n");
-        alsa_logerr (err, "Failed to set software threshold to %ld\n",
-                     threshold);
-        return;
-    }
-
-    err = snd_pcm_sw_params (handle, sw_params);
-    if (err < 0) {
-        dolog ("Could not fully initialize DAC\n");
-        alsa_logerr (err, "Failed to set software parameters\n");
-        return;
-    }
-}
-
-static int alsa_open (int in, struct alsa_params_req *req,
-                      struct alsa_params_obt *obt, snd_pcm_t **handlep)
-{
-    snd_pcm_t *handle;
-    snd_pcm_hw_params_t *hw_params;
-    int err, dir;
-    unsigned int freq, nchannels;
-    const char *pcm_name = in ? conf.pcm_name_in : conf.pcm_name_out;
-    unsigned int period_size, buffer_size;
-    snd_pcm_uframes_t period_size_f, buffer_size_f;
-    snd_pcm_uframes_t obt_buffer_size, obt_period_size;
-    const char *typ = in ? "ADC" : "DAC";
-
-    freq = req->freq;
-    period_size = req->period_size;
-    buffer_size = req->buffer_size;
-    period_size_f = (snd_pcm_uframes_t)period_size;
-    buffer_size_f = (snd_pcm_uframes_t)buffer_size;
-    nchannels = req->nchannels;
-
-    snd_pcm_hw_params_alloca (&hw_params);
-
-    err = snd_pcm_open (
-        &handle,
-        pcm_name,
-        in ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK,
-        SND_PCM_NONBLOCK
-        );
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to open `%s':\n", pcm_name);
-#else
-        LogRel(("ALSA: Failed to open '%s' as %s\n", pcm_name, typ));
-#endif
-        return -1;
-    }
-
-    err = snd_pcm_hw_params_any (handle, hw_params);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to initialize hardware parameters\n");
-#else
-        LogRel(("ALSA: Failed to initialize hardware parameters\n"));
-#endif
-        goto err;
-    }
-
-    err = snd_pcm_hw_params_set_access (
-        handle,
-        hw_params,
-        SND_PCM_ACCESS_RW_INTERLEAVED
-        );
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to set access type\n");
-#else
-        LogRel(("ALSA: Failed to set access type\n"));
-#endif
-        goto err;
-    }
-
-    err = snd_pcm_hw_params_set_format (handle, hw_params, req->fmt);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to set format %d\n", req->fmt);
-#else
-        LogRel(("ALSA: Failed to set format %d\n", req->fmt));
-#endif
-        goto err;
-    }
-
-    err = snd_pcm_hw_params_set_rate_near (handle, hw_params, &freq, 0);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to set frequency %d\n", req->freq);
-#else
-        LogRel(("ALSA: Failed to set frequency %dHz\n", req->freq));
-#endif
-        goto err;
-    }
-
-    err = snd_pcm_hw_params_set_channels_near (
-        handle,
-        hw_params,
-        &nchannels
-        );
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to set number of channels %d\n",
-                      req->nchannels);
-#else
-        LogRel(("ALSA: Failed to set number of channels to %d\n", req->nchannels));
-#endif
-        goto err;
-    }
-
-    if (nchannels != 1 && nchannels != 2) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ,
-                      "Can not handle obtained number of channels %d\n",
-                      nchannels);
-#else
-        LogRel(("ALSA: Cannot handle obtained number of channels (%d)\n", nchannels));
-#endif
-        goto err;
-    }
-
-    if (!((in && conf.size_in_usec_in) || (!in && conf.size_in_usec_out))) {
-        if (!buffer_size) {
-            buffer_size = DEFAULT_BUFFER_SIZE;
-            period_size= DEFAULT_PERIOD_SIZE;
-        }
-    }
-
-    if (buffer_size) {
-        if ((in && conf.size_in_usec_in) || (!in && conf.size_in_usec_out)) {
-            if (period_size) {
-                err = snd_pcm_hw_params_set_period_time_near (
-                    handle,
-                    hw_params,
-                    &period_size,
-                    0
-                    );
-                if (err < 0) {
-#ifndef VBOX
-                    alsa_logerr2 (err, typ,
-                                  "Failed to set period time %d\n",
-                                  req->period_size);
-#else
-                    LogRel(("ALSA: Failed to set period time %d\n", req->period_size));
-#endif
-                    goto err;
-                }
-            }
-
-            err = snd_pcm_hw_params_set_buffer_time_near (
-                handle,
-                hw_params,
-                &buffer_size,
-                0
-                );
-
-            if (err < 0) {
-#ifndef VBOX
-                alsa_logerr2 (err, typ,
-                              "Failed to set buffer time %d\n",
-                              req->buffer_size);
-#else
-                LogRel(("ALSA: Failed to set buffer time %d\n", req->buffer_size));
-#endif
-                goto err;
-            }
-        }
-        else {
-            snd_pcm_uframes_t minval;
-
-            if (period_size_f) {
-                minval = period_size_f;
-                dir = 0;
-
-                err = snd_pcm_hw_params_get_period_size_min (
-                    hw_params,
-                    &minval,
-                    &dir
-                    );
-                if (err < 0) {
-#ifndef VBOX
-                    alsa_logerr (
-                        err,
-                        "Could not get minimal period size for %s\n",
-                        typ
-                        );
-#else
-                    LogRel(("ALSA: Could not get minimal period size for %s\n", typ));
-#endif
-                }
-                else {
-                    dolog("minimal period size %ld\n", minval);
-                    if (period_size_f < minval) {
-                        if ((in && conf.period_size_in_overriden)
-                            || (!in && conf.period_size_out_overriden)) {
-                            dolog ("%s period size(%d) is less "
-                                   "than minimal period size(%ld)\n",
-                                   typ,
-                                   period_size_f,
-                                   minval);
-                        }
-                        period_size_f = minval;
-                    }
-                }
-
-#ifndef VBOX
-                err = snd_pcm_hw_params_set_period_size (
-                    handle,
-                    hw_params,
-                    period_size_f,
-                    0
-                    );
-#else
-                err = snd_pcm_hw_params_set_period_size_near (
-                    handle,
-                    hw_params,
-                    &period_size_f,
-                    0
-                    );
-#endif
-                dolog("PERIOD_SIZE %d\n", period_size_f);
-                if (err < 0) {
-#ifndef VBOX
-                    alsa_logerr2 (err, typ, "Failed to set period size %d\n",
-                                  period_size_f);
-#else
-                    LogRel(("ALSA: Failed to set period size %d (%s)\n",
-                            period_size_f, snd_strerror(err)));
-#endif
-                    goto err;
-                }
-            }
-
-#ifdef VBOX
-            /* Calculate default buffer size here since it might have been changed
-             * in the _near functions */
-            buffer_size_f = 4 * period_size_f;
-#endif
-
-            minval = buffer_size_f;
-            err = snd_pcm_hw_params_get_buffer_size_min (
-                hw_params,
-                &minval
-                );
-            if (err < 0) {
-#ifndef VBOX
-                alsa_logerr (err, "Could not get minimal buffer size for %s\n",
-                             typ);
-#else
-                LogRel(("ALSA: Could not get minimal buffer size for %s\n", typ));
-#endif
-            }
-            else {
-                if (buffer_size_f < minval) {
-                    if ((in && conf.buffer_size_in_overriden)
-                        || (!in && conf.buffer_size_out_overriden)) {
-                        dolog (
-                            "%s buffer size(%d) is less "
-                            "than minimal buffer size(%ld)\n",
-                            typ,
-                            buffer_size_f,
-                            minval
-                            );
-                    }
-                    buffer_size_f = minval;
-                }
-            }
-
-            err = snd_pcm_hw_params_set_buffer_size_near (
-                handle,
-                hw_params,
-                &buffer_size_f
-                );
-            dolog("BUFFER_SIZE %d\n", buffer_size_f);
-            if (err < 0) {
-#ifndef VBOX
-                alsa_logerr2 (err, typ, "Failed to set buffer size %d\n",
-                              buffer_size_f);
-#else
-                LogRel(("ALSA: Failed to set buffer size %d (%s)\n",
-                        buffer_size_f, snd_strerror(err)));
-#endif
-                goto err;
-            }
-        }
-    }
-    else {
-        dolog ("warning: Buffer size is not set\n");
-    }
-
-    err = snd_pcm_hw_params (handle, hw_params);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to apply audio parameters\n");
-#else
-        LogRel(("ALSA: Failed to apply audio parameters\n"));
-#endif
-        goto err;
-    }
-
-    err = snd_pcm_hw_params_get_buffer_size (hw_params, &obt_buffer_size);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr2 (err, typ, "Failed to get buffer size\n");
-#else
-        LogRel(("ALSA: Failed to get buffer size\n"));
-#endif
-        goto err;
-    }
-
-#ifdef VBOX
-    dir = 0;
-    err = snd_pcm_hw_params_get_period_size (hw_params, &obt_period_size, &dir);
-    if (err < 0)
-    {
-        LogRel(("ALSA: Failed to get period size\n"));
-        goto err;
-    }
-    LogRel(("ALSA: %s frequency %dHz, period size %ld, buffer size %ld\n",
-             typ, req->freq, obt_period_size, obt_buffer_size));
-#endif
-
-    err = snd_pcm_prepare (handle);
-    if (err < 0) {
-        alsa_logerr2 (err, typ, "Could not prepare handle %p\n",
-                      (void *) handle);
-        goto err;
-    }
-
-    if (!in && conf.threshold) {
-        snd_pcm_uframes_t threshold;
-        int bytes_per_sec;
-
-        bytes_per_sec = freq
-            << (nchannels == 2)
-            << (req->fmt == AUD_FMT_S16 || req->fmt == AUD_FMT_U16);
-
-        threshold = (conf.threshold * bytes_per_sec) / 1000;
-        alsa_set_threshold (handle, threshold);
-    }
-
-    obt->fmt = req->fmt;
-    obt->nchannels = nchannels;
-    obt->freq = freq;
-    obt->samples = obt_buffer_size;
-    *handlep = handle;
-
-#if defined DEBUG_MISMATCHES || defined DEBUG
-    if (obt->fmt != req->fmt ||
-        obt->nchannels != req->nchannels ||
-        obt->freq != req->freq) {
-        dolog ("Audio parameters mismatch for %s\n", typ);
-        alsa_dump_info (req, obt);
-    }
-#endif
-
-#ifdef DEBUG
-    alsa_dump_info (req, obt);
-#endif
-    return 0;
-
- err:
-    alsa_anal_close (&handle);
-    return -1;
-}
-
-static int alsa_recover (snd_pcm_t *handle)
-{
-    int err = snd_pcm_prepare (handle);
-    if (err < 0) {
-        alsa_logerr (err, "Failed to prepare handle %p\n",
-                     (void *) handle);
-        return -1;
-    }
-    return 0;
-}
-
-static int alsa_resume (snd_pcm_t *handle)
-{
-    int err = snd_pcm_resume (handle);
-    if (err < 0) {
-#ifndef VBOX
-        alsa_logerr (err, "Failed to resume handle %p\n", handle);
-#endif
-        return -1;
-    }
-    return 0;
-}
-
-static snd_pcm_sframes_t alsa_get_avail (snd_pcm_t *handle)
-{
-    snd_pcm_sframes_t avail;
-
-    avail = snd_pcm_avail_update (handle);
-    if (avail < 0) {
-        if (avail == -EPIPE) {
-            if (!alsa_recover (handle)) {
-                avail = snd_pcm_avail_update (handle);
-            }
-        }
-
-        if (avail < 0) {
-            alsa_logerr (avail,
-                         "Could not obtain number of available frames\n");
-            return -1;
-        }
-    }
-
-    return avail;
-}
-
-static int alsa_run_out (HWVoiceOut *hw)
-{
-    ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
-    int rpos, live, decr;
-    int samples;
-    uint8_t *dst;
-    st_sample_t *src;
-    snd_pcm_sframes_t avail;
-
-    live = audio_pcm_hw_get_live_out (hw);
-    if (!live) {
-        return 0;
-    }
-
-    avail = alsa_get_avail (alsa->handle);
-    if (avail < 0) {
-        dolog ("Could not get number of available playback frames\n");
-        return 0;
-    }
-
-    decr = audio_MIN (live, avail);
-    samples = decr;
-    rpos = hw->rpos;
-    while (samples) {
-        int left_till_end_samples = hw->samples - rpos;
-        int len = audio_MIN (samples, left_till_end_samples);
-        snd_pcm_sframes_t written;
-
-        src = hw->mix_buf + rpos;
-        dst = advance (alsa->pcm_buf, rpos << hw->info.shift);
-
-        hw->clip (dst, src, len);
-
-        while (len) {
-            written = snd_pcm_writei (alsa->handle, dst, len);
-
-            if (written <= 0) {
-                switch (written) {
-                case 0:
-                    if (conf.verbose) {
-                        dolog ("Failed to write %d frames (wrote zero)\n", len);
-                    }
-                    goto exit;
-
-                case -EPIPE:
-                    if (alsa_recover (alsa->handle)) {
-                        alsa_logerr (written, "Failed to write %d frames\n",
-                                     len);
-                        goto exit;
-                    }
-                    if (conf.verbose) {
-                        dolog ("Recovering from playback xrun\n");
-                    }
-                    continue;
-
-                case -ESTRPIPE:
-                    /* stream is suspended and waiting for an
-                       application recovery */
-                    if (alsa_resume (alsa->handle)) {
-#ifndef VBOX
-                        alsa_logerr (written, "Failed to write %d frames\n", len);
-#else
-                        LogRel(("ALSA: Failed to resume output stream\n"));
-#endif
-                        goto exit;
-                    }
-                    if (conf.verbose) {
-                        dolog ("Resuming suspended output stream\n");
-                    }
-                    continue;
-
-                case -EAGAIN:
-                    goto exit;
-
-                default:
-                    alsa_logerr (written, "Failed to write %d frames to %p\n",
-                                 len, dst);
-                    goto exit;
-                }
-            }
-
-            rpos = (rpos + written) % hw->samples;
-            samples -= written;
-            len -= written;
-            dst = advance (dst, written << hw->info.shift);
-            src += written;
-        }
-    }
-
- exit:
-    hw->rpos = rpos;
-    return decr;
-}
-
-static void alsa_fini_out (HWVoiceOut *hw)
-{
-    ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
-
-    ldebug ("alsa_fini\n");
-    alsa_anal_close (&alsa->handle);
-
-    if (alsa->pcm_buf) {
-        qemu_free (alsa->pcm_buf);
-        alsa->pcm_buf = NULL;
-    }
-}
-
-static int alsa_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
-    struct alsa_params_req req;
-    struct alsa_params_obt obt;
-    audfmt_e effective_fmt;
-    int endianness;
-    int err;
-    snd_pcm_t *handle;
-    audsettings_t obt_as;
-
-    req.fmt = aud_to_alsafmt (as->fmt);
-    req.freq = as->freq;
-    req.nchannels = as->nchannels;
-    req.period_size = conf.period_size_out;
-    req.buffer_size = conf.buffer_size_out;
-
-    if (alsa_open (0, &req, &obt, &handle)) {
-        return -1;
-    }
-
-    err = alsa_to_audfmt (obt.fmt, &effective_fmt, &endianness);
-    if (err) {
-        alsa_anal_close (&handle);
-        return -1;
-    }
-
-    obt_as.freq = obt.freq;
-    obt_as.nchannels = obt.nchannels;
-    obt_as.fmt = effective_fmt;
-    obt_as.endianness = endianness;
-
-    audio_pcm_init_info (&hw->info, &obt_as);
-    hw->samples = obt.samples;
-
-    alsa->pcm_buf = audio_calloc (AUDIO_FUNC, obt.samples, 1 << hw->info.shift);
-    if (!alsa->pcm_buf) {
-        dolog ("Could not allocate DAC buffer (%d samples, each %d bytes)\n",
-               hw->samples, 1 << hw->info.shift);
-        alsa_anal_close (&handle);
-        return -1;
-    }
-
-    alsa->handle = handle;
-    return 0;
-}
-
-static int alsa_voice_ctl (snd_pcm_t *handle, const char *typ, int pauseit) /* VBOX: s/pause/pauseit/; -Wshadow */
-{
-    int err;
-
-    if (pauseit) {
-        err = snd_pcm_drop (handle);
-        if (err < 0) {
-            alsa_logerr (err, "Could not stop %s\n", typ);
-            return -1;
-        }
-    }
-    else {
-        err = snd_pcm_prepare (handle);
-        if (err < 0) {
-            alsa_logerr (err, "Could not prepare handle for %s\n", typ);
-            return -1;
-        }
-    }
-
-    return 0;
-}
-
-static int alsa_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    ALSAVoiceOut *alsa = (ALSAVoiceOut *) hw;
-
-    switch (cmd) {
-    case VOICE_ENABLE:
-        ldebug ("enabling voice\n");
-        return alsa_voice_ctl (alsa->handle, "playback", 0);
-
-    case VOICE_DISABLE:
-        ldebug ("disabling voice\n");
-        return alsa_voice_ctl (alsa->handle, "playback", 1);
-    }
-
-    return -1;
-}
-
-static int alsa_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
-    struct alsa_params_req req;
-    struct alsa_params_obt obt;
-    int endianness;
-    int err;
-    audfmt_e effective_fmt;
-    snd_pcm_t *handle;
-    audsettings_t obt_as;
-
-    req.fmt = aud_to_alsafmt (as->fmt);
-    req.freq = as->freq;
-    req.nchannels = as->nchannels;
-    req.period_size = conf.period_size_in;
-    req.buffer_size = conf.buffer_size_in;
-
-    if (alsa_open (1, &req, &obt, &handle)) {
-        return -1;
-    }
-
-    err = alsa_to_audfmt (obt.fmt, &effective_fmt, &endianness);
-    if (err) {
-        alsa_anal_close (&handle);
-        return -1;
-    }
-
-    obt_as.freq = obt.freq;
-    obt_as.nchannels = obt.nchannels;
-    obt_as.fmt = effective_fmt;
-    obt_as.endianness = endianness;
-
-    audio_pcm_init_info (&hw->info, &obt_as);
-    hw->samples = obt.samples;
-
-    alsa->pcm_buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);
-    if (!alsa->pcm_buf) {
-        dolog ("Could not allocate ADC buffer (%d samples, each %d bytes)\n",
-               hw->samples, 1 << hw->info.shift);
-        alsa_anal_close (&handle);
-        return -1;
-    }
-
-    alsa->handle = handle;
-    return 0;
-}
-
-static void alsa_fini_in (HWVoiceIn *hw)
-{
-    ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
-
-    alsa_anal_close (&alsa->handle);
-
-    if (alsa->pcm_buf) {
-        qemu_free (alsa->pcm_buf);
-        alsa->pcm_buf = NULL;
-    }
-}
-
-static int alsa_run_in (HWVoiceIn *hw)
-{
-    ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
-    int hwshift = hw->info.shift;
-    int i;
-    int live = audio_pcm_hw_get_live_in (hw);
-    int dead = hw->samples - live;
-    int decr;
-    struct {
-        int add;
-        int len;
-    } bufs[2];
-
-    snd_pcm_sframes_t avail;
-    snd_pcm_uframes_t read_samples = 0;
-
-    bufs[0].add = hw->wpos;
-    bufs[0].len = 0;
-    bufs[1].add = 0;
-    bufs[1].len = 0;
-
-    if (!dead) {
-        return 0;
-    }
-
-    avail = alsa_get_avail (alsa->handle);
-    if (avail < 0) {
-        dolog ("Could not get number of captured frames\n");
-        return 0;
-    }
-
-    if (!avail) {
-        snd_pcm_state_t state;
-        state = snd_pcm_state (alsa->handle);
-        switch (state) {
-            case SND_PCM_STATE_PREPARED:
-                avail = hw->samples;
-                break;
-            case SND_PCM_STATE_SUSPENDED:
-                /* stream is suspended and waiting for an application recovery */
-                if (alsa_resume (alsa->handle)) {
-#ifndef VBOX
-                    dolog ("Failed to resume suspended input stream\n");
-#else
-                    LogRel(("ALSA: Failed to resume input stream\n"));
-#endif
-                    return 0;
-                }
-                if (conf.verbose) {
-                    dolog ("Resuming suspended input stream\n");
-                }
-                break;
-            default:
-                if (conf.verbose) {
-                    dolog ("No frames available and ALSA state is %d\n", state);
-                }
-                return 0;
-        }
-    }
-
-    decr = audio_MIN (dead, avail);
-    if (!decr) {
-        return 0;
-    }
-
-    if (hw->wpos + decr > hw->samples) {
-        bufs[0].len = (hw->samples - hw->wpos);
-        bufs[1].len = (decr - (hw->samples - hw->wpos));
-    }
-    else {
-        bufs[0].len = decr;
-    }
-
-    for (i = 0; i < 2; ++i) {
-        void *src;
-        st_sample_t *dst;
-        snd_pcm_sframes_t nread;
-        snd_pcm_uframes_t len;
-
-        len = bufs[i].len;
-
-        src = advance (alsa->pcm_buf, bufs[i].add << hwshift);
-        dst = hw->conv_buf + bufs[i].add;
-
-        while (len) {
-            nread = snd_pcm_readi (alsa->handle, src, len);
-
-            if (nread <= 0) {
-                switch (nread) {
-                case 0:
-                    if (conf.verbose) {
-                        dolog ("Failed to read %ld frames (read zero)\n", len);
-                    }
-                    goto exit;
-
-                case -EPIPE:
-                    if (alsa_recover (alsa->handle)) {
-                        alsa_logerr (nread, "Failed to read %ld frames\n", len);
-                        goto exit;
-                    }
-                    if (conf.verbose) {
-                        dolog ("Recovering from capture xrun\n");
-                    }
-                    continue;
-
-                case -EAGAIN:
-                    goto exit;
-
-                default:
-                    alsa_logerr (
-                        nread,
-                        "Failed to read %ld frames from %p\n",
-                        len,
-                        src
-                        );
-                    goto exit;
-                }
-            }
-
-            hw->conv (dst, src, nread, &nominal_volume);
-
-            src = advance (src, nread << hwshift);
-            dst += nread;
-
-            read_samples += nread;
-            len -= nread;
-        }
-    }
-
- exit:
-    hw->wpos = (hw->wpos + read_samples) % hw->samples;
-    return read_samples;
-}
-
-static int alsa_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int alsa_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    ALSAVoiceIn *alsa = (ALSAVoiceIn *) hw;
-
-    switch (cmd) {
-    case VOICE_ENABLE:
-        ldebug ("enabling voice\n");
-        return alsa_voice_ctl (alsa->handle, "capture", 0);
-
-    case VOICE_DISABLE:
-        ldebug ("disabling voice\n");
-        return alsa_voice_ctl (alsa->handle, "capture", 1);
-    }
-
-    return -1;
-}
-
-#ifdef VBOX
-static void alsa_error_handler(const char *file, int line, const char *function,
-                               int err, const char *fmt, ...)
-{
-    /* ignore */
-}
-#endif
-
-static void *alsa_audio_init (void)
-{
-#ifdef VBOX
-    int rc;
-
-    rc = audioLoadAlsaLib();
-    if (RT_FAILURE(rc)) {
-        LogRel(("ALSA: Failed to load the ALSA shared library!  Error %Rrc\n", rc));
-        return NULL;
-    }
-    snd_lib_error_set_handler (alsa_error_handler);
-#endif
-    return &conf;
-}
-
-static void alsa_audio_fini (void *opaque)
-{
-    (void) opaque;
-}
-
-static struct audio_option alsa_options[] = {
-    {"DACSizeInUsec", AUD_OPT_BOOL, &conf.size_in_usec_out,
-     "DAC period/buffer size in microseconds (otherwise in frames)", NULL, 0},
-    {"DACPeriodSize", AUD_OPT_INT, &conf.period_size_out,
-     "DAC period size", &conf.period_size_out_overriden, 0},
-    {"DACBufferSize", AUD_OPT_INT, &conf.buffer_size_out,
-     "DAC buffer size", &conf.buffer_size_out_overriden, 0},
-
-    {"ADCSizeInUsec", AUD_OPT_BOOL, &conf.size_in_usec_in,
-     "ADC period/buffer size in microseconds (otherwise in frames)", NULL, 0},
-    {"ADCPeriodSize", AUD_OPT_INT, &conf.period_size_in,
-     "ADC period size", &conf.period_size_in_overriden, 0},
-    {"ADCBufferSize", AUD_OPT_INT, &conf.buffer_size_in,
-     "ADC buffer size", &conf.buffer_size_in_overriden, 0},
-
-    {"Threshold", AUD_OPT_INT, &conf.threshold,
-     "(undocumented)", NULL, 0},
-
-    {"DACDev", AUD_OPT_STR, &conf.pcm_name_out,
-     "DAC device name (for instance dmix)", NULL, 0},
-
-    {"ADCDev", AUD_OPT_STR, &conf.pcm_name_in,
-     "ADC device name", NULL, 0},
-
-    {"Verbose", AUD_OPT_BOOL, &conf.verbose,
-     "Behave in a more verbose way", NULL, 0},
-
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static struct audio_pcm_ops alsa_pcm_ops = {
-    alsa_init_out,
-    alsa_fini_out,
-    alsa_run_out,
-    alsa_write,
-    alsa_ctl_out,
-
-    alsa_init_in,
-    alsa_fini_in,
-    alsa_run_in,
-    alsa_read,
-    alsa_ctl_in
-};
-
-struct audio_driver alsa_audio_driver = {
-    INIT_FIELD (name           = ) "alsa",
-    INIT_FIELD (descr          = ) "ALSA http://www.alsa-project.org",
-    INIT_FIELD (options        = ) alsa_options,
-    INIT_FIELD (init           = ) alsa_audio_init,
-    INIT_FIELD (fini           = ) alsa_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &alsa_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) INT_MAX,
-    INIT_FIELD (voice_size_out = ) sizeof (ALSAVoiceOut),
-    INIT_FIELD (voice_size_in  = ) sizeof (ALSAVoiceIn)
-};
diff --git a/src/VBox/Devices/Audio/audio.c b/src/VBox/Devices/Audio/audio.c
deleted file mode 100644
index 3aeecc8..0000000
--- a/src/VBox/Devices/Audio/audio.c
+++ /dev/null
@@ -1,2159 +0,0 @@
-/*
- * QEMU Audio subsystem
- *
- * Copyright (c) 2003-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/vmm/pdm.h>
-#include <VBox/err.h>
-#include <VBox/vmm/mm.h>
-
-#include <VBox/log.h>
-#include <iprt/asm-math.h>
-#include <iprt/assert.h>
-#include <iprt/uuid.h>
-#include <iprt/string.h>
-#include <iprt/alloc.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-
-#include <ctype.h>
-#include <stdlib.h>
-
-#define AUDIO_CAP "audio"
-#include "audio.h"
-#include "audio_int.h"
-
-#ifdef RT_OS_WINDOWS
-#define strcasecmp stricmp
-#endif
-
-/* #define DEBUG_PLIVE */
-/* #define DEBUG_LIVE */
-/* #define DEBUG_OUT */
-/* #define DEBUG_CAPTURE */
-
-#define SW_NAME(sw) (sw)->name ? (sw)->name : "unknown"
-
-/**
- * @implements PDMIAUDIOCONNECTOR
- */
-typedef struct DRVAUDIO
-{
-    /** The audio interface. */
-    PDMIAUDIOCONNECTOR      IAudioConnector;
-    /** Pointer to the driver instance. */
-    PPDMDRVINS              pDrvIns;
-} DRVAUDIO, *PDRVAUDIO;
-
-static struct audio_driver *drvtab[] = {
-#if defined (RT_OS_LINUX) || defined (RT_OS_FREEBSD) || defined(VBOX_WITH_SOLARIS_OSS)
-    &oss_audio_driver,
-#endif
-#ifdef RT_OS_LINUX
-# ifdef VBOX_WITH_PULSE
-    &pulse_audio_driver,
-# endif
-# ifdef VBOX_WITH_ALSA
-    &alsa_audio_driver,
-# endif
-#endif /* RT_OS_LINUX */
-#ifdef RT_OS_FREEBSD
-# ifdef VBOX_WITH_PULSE
-    &pulse_audio_driver,
-# endif
-#endif
-#ifdef RT_OS_DARWIN
-    &coreaudio_audio_driver,
-#endif
-#ifdef RT_OS_WINDOWS
-    &dsound_audio_driver,
-#endif
-#ifdef RT_OS_L4
-    &oss_audio_driver,
-#endif
-#ifdef RT_OS_SOLARIS
-    &solaudio_audio_driver,
-#endif
-    &no_audio_driver
-};
-
-static char *audio_streamname;
-
-const char *audio_get_stream_name(void)
-{
-    return audio_streamname;
-}
-
-struct fixed_settings {
-    int enabled;
-    int nb_voices;
-    int greedy;
-    audsettings_t settings;
-};
-
-static struct {
-    struct fixed_settings fixed_out;
-    struct fixed_settings fixed_in;
-    union {
-        int hz;
-        int64_t ticks;
-    } period;
-    int plive;
-} conf = {
-    {                           /* DAC fixed settings */
-        1,                      /* enabled */
-        1,                      /* nb_voices */
-        1,                      /* greedy */
-        {
-            44100,              /* freq */
-            2,                  /* nchannels */
-            AUD_FMT_S16         /* fmt */
-        }
-    },
-
-    {                           /* ADC fixed settings */
-        1,                      /* enabled */
-        1,                      /* nb_voices */
-        1,                      /* greedy */
-        {
-            44100,              /* freq */
-            2,                  /* nchannels */
-            AUD_FMT_S16         /* fmt */
-        }
-    },
-
-    { 200 },                    /* frequency (in Hz) */
-    0,                          /* plive */
-};
-
-static AudioState glob_audio_state;
-
-volume_t nominal_volume = {
-    0,
-#ifdef FLOAT_MIXENG
-    1.0,
-    1.0
-#else
-#ifndef VBOX
-    UINT_MAX,
-    UINT_MAX
-#else
-    INT_MAX,
-    INT_MAX
-#endif
-#endif
-};
-
-#ifdef VBOX
-volume_t sum_out_volume =
-{
-    0,
-    INT_MAX,
-    INT_MAX
-};
-volume_t master_out_volume =
-{
-    0,
-    INT_MAX,
-    INT_MAX
-};
-volume_t pcm_out_volume =
-{
-    0,
-    INT_MAX,
-    INT_MAX
-};
-volume_t pcm_in_volume =
-{
-    0,
-    INT_MAX,
-    INT_MAX
-};
-#endif
-
-/* http://www.df.lth.se/~john_e/gems/gem002d.html */
-/* http://www.multi-platforms.com/Tips/PopCount.htm */
-uint32_t popcount (uint32_t u)
-{
-    u = ((u&0x55555555) + ((u>>1)&0x55555555));
-    u = ((u&0x33333333) + ((u>>2)&0x33333333));
-    u = ((u&0x0f0f0f0f) + ((u>>4)&0x0f0f0f0f));
-    u = ((u&0x00ff00ff) + ((u>>8)&0x00ff00ff));
-    u = ( u&0x0000ffff) + (u>>16);
-    return u;
-}
-
-uint32_t lsbindex (uint32_t u)
-{
-    return popcount ((u&-u)-1);
-}
-
-uint64_t audio_get_clock (void)
-{
-    AudioState *s;
-
-    s = &glob_audio_state;
-    return PDMDrvHlpTMGetVirtualTime (s->pDrvIns);
-}
-
-uint64_t audio_get_ticks_per_sec (void)
-{
-    AudioState *s;
-
-    s = &glob_audio_state;
-    return PDMDrvHlpTMGetVirtualFreq (s->pDrvIns);
-}
-
-#ifdef AUDIO_IS_FLAWLESS_AND_NO_CHECKS_ARE_REQURIED
-#error No its not
-#else
-int audio_bug (const char *funcname, int cond)
-{
-    if (cond) {
-        static int shown;
-
-        AUD_log (NULL, "A bug was just triggered in %s\n", funcname);
-        if (!shown) {
-            shown = 1;
-            AUD_log (NULL, "Save all your work and restart without audio\n");
-            AUD_log (NULL, "Please send a bug, see www.virtualbox.org\n");
-            AUD_log (NULL, "I am sorry\n");
-        }
-        AUD_log (NULL, "Context:\n");
-
-#if defined AUDIO_BREAKPOINT_ON_BUG
-#  if defined HOST_I386
-#    if defined __GNUC__
-        __asm__ ("int3");
-#    elif defined _MSC_VER
-        _asm _emit 0xcc;
-#    else
-        abort ();
-#    endif
-#  else
-        abort ();
-#  endif
-#endif
-    }
-
-    return cond;
-}
-#endif
-
-static inline int audio_bits_to_index (int bits)
-{
-    switch (bits) {
-    case 8:
-        return 0;
-
-    case 16:
-        return 1;
-
-    case 32:
-        return 2;
-
-    default:
-        audio_bug ("bits_to_index", 1);
-        AUD_log (NULL, "invalid bits %d\n", bits);
-        return 0;
-    }
-}
-
-void *audio_calloc (const char *funcname, int nmemb, size_t size)
-{
-    int cond;
-    size_t len;
-
-    len = nmemb * size;
-    cond = !nmemb || !size;
-    cond |= nmemb < 0;
-    cond |= len < size;
-
-    if (audio_bug ("audio_calloc", cond)) {
-        AUD_log (NULL, "%s passed invalid arguments to audio_calloc\n",
-                 funcname);
-        AUD_log (NULL, "nmemb=%d size=%" FMTZ "u (len=%" FMTZ "u)\n",
-                 nmemb, size, len);
-        return NULL;
-    }
-
-    return qemu_mallocz (len);
-}
-
-static const char *audio_audfmt_to_string (audfmt_e fmt)
-{
-    switch (fmt) {
-    case AUD_FMT_U8:
-        return "U8";
-
-    case AUD_FMT_U16:
-        return "U16";
-
-    case AUD_FMT_U32:
-        return "U32";
-
-    case AUD_FMT_S8:
-        return "S8";
-
-    case AUD_FMT_S16:
-        return "S16";
-
-    case AUD_FMT_S32:
-        return "S32";
-    }
-
-    dolog ("Bogus audfmt %d returning S16\n", fmt);
-    return "S16";
-}
-
-static audfmt_e audio_string_to_audfmt (const char *s, audfmt_e defval,
-                                        int *defaultp)
-{
-    if (!strcasecmp (s, "u8")) {
-        *defaultp = 0;
-        return AUD_FMT_U8;
-    }
-    else if (!strcasecmp (s, "u16")) {
-        *defaultp = 0;
-        return AUD_FMT_U16;
-    }
-    else if (!strcasecmp (s, "u32")) {
-        *defaultp = 0;
-        return AUD_FMT_U32;
-    }
-    else if (!strcasecmp (s, "s8")) {
-        *defaultp = 0;
-        return AUD_FMT_S8;
-    }
-    else if (!strcasecmp (s, "s16")) {
-        *defaultp = 0;
-        return AUD_FMT_S16;
-    }
-    else if (!strcasecmp (s, "s32")) {
-        *defaultp = 0;
-        return AUD_FMT_S32;
-    }
-    else {
-        dolog ("Bogus audio format `%s' using %s\n",
-               s, audio_audfmt_to_string (defval));
-        *defaultp = 1;
-        return defval;
-    }
-}
-
-static audfmt_e audio_get_conf_fmt (PCFGMNODE pCfgHandle, const char *envname,
-                                    audfmt_e defval,
-                                    int *defaultp)
-{
-    char *var = NULL;
-    int rc;
-
-    if(pCfgHandle == NULL || envname == NULL) {
-        *defaultp = 1;
-        return defval;
-    }
-
-    rc = CFGMR3QueryStringAlloc(pCfgHandle, envname, &var);
-    if (RT_FAILURE (rc)) {
-        *defaultp = 1;
-        return defval;
-    }
-    return audio_string_to_audfmt (var, defval, defaultp);
-}
-
-static int audio_get_conf_int (PCFGMNODE  pCfgHandle, const char *key, int defval, int *defaultp)
-{
-    int rc;
-    uint64_t u64Data = 0;
-    if(pCfgHandle == NULL || key == NULL) {
-        *defaultp = 1;
-        return defval;
-    }
-
-    *defaultp = 0;
-    rc = CFGMR3QueryInteger(pCfgHandle, key, &u64Data);
-    if (RT_FAILURE (rc))
-    {
-        *defaultp = 1;
-        return defval;
-
-    }
-    else
-    {
-        LogFlow(("%s, Value = %d\n", key, u64Data));
-        *defaultp = 0;
-        return u64Data;
-    }
-}
-
-static const char *audio_get_conf_str (PCFGMNODE  pCfgHandle, const char *key,
-                                       const char *defval,
-                                       int *defaultp)
-{
-    char *val = NULL;
-    int rc;
-    if(pCfgHandle == NULL || key == NULL) {
-        *defaultp = 1;
-        return defval;
-    }
-
-    rc = CFGMR3QueryStringAlloc(pCfgHandle, key, &val);
-    if (RT_FAILURE (rc)) {
-        *defaultp = 1;
-        return defval;
-    }
-    else {
-        *defaultp = 0;
-        return val;
-    }
-}
-
-void AUD_vlog (const char *cap, const char *fmt, va_list va)
-{
-    va_list va2;
-    va_copy (va2, va); /* Have to make a copy here or GCC will break. */
-    if (cap) {
-        Log (("%s: %N", cap, fmt, &va2));
-    }
-    else {
-        Log (("%N", fmt, &va2));
-    }
-    va_end (va2);
-}
-
-void AUD_log (const char *cap, const char *fmt, ...)
-{
-    va_list va;
-
-    va_start (va, fmt);
-    AUD_vlog (cap, fmt, va);
-    va_end (va);
-}
-
-static void audio_process_options (PCFGMNODE pCfgHandle, const char *prefix,
-                                   struct audio_option *opt)
-{
-    int def;
-    PCFGMNODE pCfgChildHandle = NULL;
-    PCFGMNODE pCfgChildChildHandle = NULL;
-
-    if (audio_bug (AUDIO_FUNC, !prefix)) {
-        dolog ("prefix = NULL\n");
-        return;
-    }
-
-    if (audio_bug (AUDIO_FUNC, !opt)) {
-        dolog ("opt = NULL\n");
-        return;
-    }
-
-   /* if pCfgHandle is NULL, let NULL be passed to get int and get string functions..
-    * The getter function will return default values.
-    */
-   if(pCfgHandle != NULL) {
-       /* If its audio general setting, need to traverse to one child node.
-        * /Devices/ichac97/0/LUN#0/Config/Audio
-        */
-       if(!strncmp(prefix, "AUDIO", 5)) {
-            pCfgChildHandle = CFGMR3GetFirstChild(pCfgHandle);
-            if(pCfgChildHandle) {
-                pCfgHandle = pCfgChildHandle;
-            }
-        }
-        else
-        {
-            /* If its driver specific configuration , then need to traverse two level deep child
-             * child nodes. for eg. in case of DirectSoundConfiguration item
-             * /Devices/ichac97/0/LUN#0/Config/Audio/DirectSoundConfig
-             */
-            pCfgChildHandle = CFGMR3GetFirstChild(pCfgHandle);
-            if (pCfgChildHandle) {
-                pCfgChildChildHandle = CFGMR3GetFirstChild(pCfgChildHandle);
-                if(pCfgChildChildHandle) {
-                   pCfgHandle = pCfgChildChildHandle;
-                }
-            }
-        }
-   }
-
-
-    for (; opt->name; opt++) {
-        if (!opt->valp) {
-            dolog ("Option value pointer for `%s' is not set\n",
-                   opt->name);
-            continue;
-        }
-        def = 1;
-        switch (opt->tag) {
-        case AUD_OPT_BOOL:
-        case AUD_OPT_INT:
-            {
-                int *intp = opt->valp;
-                *intp =   audio_get_conf_int(pCfgHandle, opt->name, *intp, &def);
-            }
-            break;
-
-        case AUD_OPT_FMT:
-            {
-                audfmt_e *fmtp = opt->valp;
-                *fmtp = audio_get_conf_fmt (pCfgHandle, opt->name, *fmtp, &def);
-            }
-            break;
-
-        case AUD_OPT_STR:
-            {
-                const char **strp = opt->valp;
-                *strp = audio_get_conf_str (pCfgHandle, opt->name, *strp, &def);
-            }
-            break;
-
-        default:
-            dolog ("Bad value tag for option `%s' - %d\n",
-                   opt->name, opt->tag);
-            break;
-        }
-
-        if (!opt->overridenp) {
-            opt->overridenp = &opt->overriden;
-        }
-        *opt->overridenp = !def;
-    }
-}
-
-static void audio_print_settings (audsettings_t *as)
-{
-    dolog ("frequency=%d nchannels=%d fmt=", as->freq, as->nchannels);
-
-    switch (as->fmt) {
-    case AUD_FMT_S8:
-        AUD_log (NULL, "S8");
-        break;
-    case AUD_FMT_U8:
-        AUD_log (NULL, "U8");
-        break;
-    case AUD_FMT_S16:
-        AUD_log (NULL, "S16");
-        break;
-    case AUD_FMT_U16:
-        AUD_log (NULL, "U16");
-        break;
-    case AUD_FMT_S32:
-        AUD_log (NULL, "S32");
-        break;
-    case AUD_FMT_U32:
-        AUD_log (NULL, "U32");
-        break;
-    default:
-        AUD_log (NULL, "invalid(%d)", as->fmt);
-        break;
-    }
-
-    AUD_log (NULL, " endianness=");
-    switch (as->endianness) {
-    case 0:
-        AUD_log (NULL, "little");
-        break;
-    case 1:
-        AUD_log (NULL, "big");
-        break;
-    default:
-        AUD_log (NULL, "invalid");
-        break;
-    }
-    AUD_log (NULL, "\n");
-}
-
-static int audio_validate_settings (audsettings_t *as)
-{
-    int invalid;
-
-    invalid = as->nchannels != 1 && as->nchannels != 2;
-    invalid |= as->endianness != 0 && as->endianness != 1;
-
-    switch (as->fmt) {
-    case AUD_FMT_S8:
-    case AUD_FMT_U8:
-    case AUD_FMT_S16:
-    case AUD_FMT_U16:
-    case AUD_FMT_S32:
-    case AUD_FMT_U32:
-        break;
-    default:
-        invalid = 1;
-        break;
-    }
-
-    invalid |= as->freq <= 0;
-    return invalid ? -1 : 0;
-}
-
-static int audio_pcm_info_eq (struct audio_pcm_info *info, audsettings_t *as)
-{
-    int bits = 8, sign = 0;
-
-    switch (as->fmt) {
-    case AUD_FMT_S8:
-        sign = 1;
-    case AUD_FMT_U8:
-        break;
-
-    case AUD_FMT_S16:
-        sign = 1;
-    case AUD_FMT_U16:
-        bits = 16;
-        break;
-
-    case AUD_FMT_S32:
-        sign = 1;
-    case AUD_FMT_U32:
-        bits = 32;
-        break;
-    }
-    return info->freq == as->freq
-        && info->nchannels == as->nchannels
-        && info->sign == sign
-        && info->bits == bits
-        && info->swap_endianness == (as->endianness != AUDIO_HOST_ENDIANNESS);
-}
-
-void audio_pcm_init_info (struct audio_pcm_info *info, audsettings_t *as)
-{
-    int bits = 8, sign = 0, shift = 0;
-
-    switch (as->fmt) {
-    case AUD_FMT_S8:
-        sign = 1;
-    case AUD_FMT_U8:
-        break;
-
-    case AUD_FMT_S16:
-        sign = 1;
-    case AUD_FMT_U16:
-        bits = 16;
-        shift = 1;
-        break;
-
-    case AUD_FMT_S32:
-        sign = 1;
-    case AUD_FMT_U32:
-        bits = 32;
-        shift = 2;
-        break;
-    }
-
-    info->freq = as->freq;
-    info->bits = bits;
-    info->sign = sign;
-    info->nchannels = as->nchannels;
-    info->shift = (as->nchannels == 2) + shift;
-    info->align = (1 << info->shift) - 1;
-    info->bytes_per_second = info->freq << info->shift;
-    info->swap_endianness = (as->endianness != AUDIO_HOST_ENDIANNESS);
-}
-
-void audio_pcm_info_clear_buf (struct audio_pcm_info *info, void *buf, int len)
-{
-    if (!len) {
-        return;
-    }
-
-    if (info->sign) {
-        memset (buf, 0x00, len << info->shift);
-    }
-    else {
-        switch (info->bits) {
-        case 8:
-            memset (buf, 0x80, len << info->shift);
-            break;
-
-        case 16:
-            {
-                int i;
-                uint16_t *p = buf;
-                int shift = info->nchannels - 1;
-                short s = INT16_MAX;
-
-                if (info->swap_endianness) {
-                    s = bswap16 (s);
-                }
-
-                for (i = 0; i < len << shift; i++) {
-                    p[i] = s;
-                }
-            }
-            break;
-
-        case 32:
-            {
-                int i;
-                uint32_t *p = buf;
-                int shift = info->nchannels - 1;
-                int32_t s = INT32_MAX;
-
-                if (info->swap_endianness) {
-                    s = bswap32 (s);
-                }
-
-                for (i = 0; i < len << shift; i++) {
-                    p[i] = s;
-                }
-            }
-            break;
-
-        default:
-            AUD_log (NULL, "audio_pcm_info_clear_buf: invalid bits %d\n",
-                     info->bits);
-            break;
-        }
-    }
-}
-
-/*
- * Capture
- */
-static void noop_conv (st_sample_t *dst, const void *src,
-                       int samples, volume_t *vol)
-{
-    (void) src;
-    (void) dst;
-    (void) samples;
-    (void) vol;
-}
-
-static CaptureVoiceOut *audio_pcm_capture_find_specific (
-    AudioState *s,
-    audsettings_t *as
-    )
-{
-    CaptureVoiceOut *cap;
-
-    for (cap = s->cap_head.lh_first; cap; cap = cap->entries.le_next) {
-        if (audio_pcm_info_eq (&cap->hw.info, as)) {
-            return cap;
-        }
-    }
-    return NULL;
-}
-
-static void audio_notify_capture (CaptureVoiceOut *cap, audcnotification_e cmd)
-{
-    struct capture_callback *cb;
-
-#ifdef DEBUG_CAPTURE
-    dolog ("notification %d sent\n", cmd);
-#endif
-    for (cb = cap->cb_head.lh_first; cb; cb = cb->entries.le_next) {
-        cb->ops.notify (cb->opaque, cmd);
-    }
-}
-
-static void audio_capture_maybe_changed (CaptureVoiceOut *cap, int enabled)
-{
-    if (cap->hw.enabled != enabled) {
-        audcnotification_e cmd;
-        cap->hw.enabled = enabled;
-        cmd = enabled ? AUD_CNOTIFY_ENABLE : AUD_CNOTIFY_DISABLE;
-        audio_notify_capture (cap, cmd);
-    }
-}
-
-static void audio_recalc_and_notify_capture (CaptureVoiceOut *cap)
-{
-    HWVoiceOut *hw = &cap->hw;
-    SWVoiceOut *sw;
-    int enabled = 0;
-
-    for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-        if (sw->active) {
-            enabled = 1;
-            break;
-        }
-    }
-    audio_capture_maybe_changed (cap, enabled);
-}
-
-static void audio_detach_capture (HWVoiceOut *hw)
-{
-    SWVoiceCap *sc = hw->cap_head.lh_first;
-
-    while (sc) {
-        SWVoiceCap *sc1 = sc->entries.le_next;
-        SWVoiceOut *sw = &sc->sw;
-        CaptureVoiceOut *cap = sc->cap;
-        int was_active = sw->active;
-
-        if (sw->rate) {
-            st_rate_stop (sw->rate);
-            sw->rate = NULL;
-        }
-
-        LIST_REMOVE (sw, entries);
-        LIST_REMOVE (sc, entries);
-        qemu_free (sc);
-        if (was_active) {
-            /* We have removed soft voice from the capture:
-               this might have changed the overall status of the capture
-               since this might have been the only active voice */
-            audio_recalc_and_notify_capture (cap);
-        }
-        sc = sc1;
-    }
-}
-
-static int audio_attach_capture (AudioState *s, HWVoiceOut *hw)
-{
-    CaptureVoiceOut *cap;
-
-    audio_detach_capture (hw);
-    for (cap = s->cap_head.lh_first; cap; cap = cap->entries.le_next) {
-        SWVoiceCap *sc;
-        SWVoiceOut *sw;
-        HWVoiceOut *hw_cap = &cap->hw;
-
-        sc = audio_calloc (AUDIO_FUNC, 1, sizeof (*sc));
-        if (!sc) {
-            dolog ("Could not allocate soft capture voice (%u bytes)\n",
-                   sizeof (*sc));
-            return -1;
-        }
-
-        sc->cap = cap;
-        sw = &sc->sw;
-        sw->hw = hw_cap;
-        sw->info = hw->info;
-        sw->empty = 1;
-        sw->active = hw->enabled;
-        sw->conv = noop_conv;
-        sw->ratio = ((int64_t) hw_cap->info.freq << 32) / sw->info.freq;
-        sw->rate = st_rate_start (sw->info.freq, hw_cap->info.freq);
-        if (!sw->rate) {
-            dolog ("Could not start rate conversion for `%s'\n", SW_NAME (sw));
-            qemu_free (sw);
-            return -1;
-        }
-        LIST_INSERT_HEAD (&hw_cap->sw_head, sw, entries);
-        LIST_INSERT_HEAD (&hw->cap_head, sc, entries);
-#ifdef DEBUG_CAPTURE
-        asprintf (&sw->name, "for %p %d,%d,%d",
-                  hw, sw->info.freq, sw->info.bits, sw->info.nchannels);
-        dolog ("Added %s active = %d\n", sw->name, sw->active);
-#endif
-        if (sw->active) {
-            audio_capture_maybe_changed (cap, 1);
-        }
-    }
-    return 0;
-}
-
-/*
- * Hard voice (capture)
- */
-static int audio_pcm_hw_find_min_in (HWVoiceIn *hw)
-{
-    SWVoiceIn *sw;
-    int m = hw->total_samples_captured;
-
-    for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-        if (sw->active) {
-            m = audio_MIN (m, sw->total_hw_samples_acquired);
-        }
-    }
-    return m;
-}
-
-int audio_pcm_hw_get_live_in (HWVoiceIn *hw)
-{
-    int live = hw->total_samples_captured - audio_pcm_hw_find_min_in (hw);
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-        dolog ("live=%d hw->samples=%d\n", live, hw->samples);
-        return 0;
-    }
-    return live;
-}
-
-/*
- * Soft voice (capture)
- */
-static int audio_pcm_sw_get_rpos_in (SWVoiceIn *sw)
-{
-    HWVoiceIn *hw = sw->hw;
-    int live = hw->total_samples_captured - sw->total_hw_samples_acquired;
-    int rpos;
-
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-        dolog ("live=%d hw->samples=%d\n", live, hw->samples);
-        return 0;
-    }
-
-    rpos = hw->wpos - live;
-    if (rpos >= 0) {
-        return rpos;
-    }
-    else {
-        return hw->samples + rpos;
-    }
-}
-
-int audio_pcm_sw_read (SWVoiceIn *sw, void *buf, int size)
-{
-    HWVoiceIn *hw = sw->hw;
-    int samples, live, ret = 0, swlim, isamp, osamp, rpos, total = 0;
-    st_sample_t *src, *dst = sw->buf;
-
-    rpos = audio_pcm_sw_get_rpos_in (sw) % hw->samples;
-
-    live = hw->total_samples_captured - sw->total_hw_samples_acquired;
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-        dolog ("live_in=%d hw->samples=%d\n", live, hw->samples);
-        return 0;
-    }
-
-    samples = size >> sw->info.shift;
-    if (!live) {
-        return 0;
-    }
-
-    swlim = (live * sw->ratio) >> 32;
-    swlim = audio_MIN (swlim, samples);
-
-    while (swlim) {
-        src = hw->conv_buf + rpos;
-        isamp = hw->wpos - rpos;
-        /* XXX: <= ? */
-        if (isamp <= 0) {
-            isamp = hw->samples - rpos;
-        }
-
-        if (!isamp) {
-            break;
-        }
-        osamp = swlim;
-
-        if (audio_bug (AUDIO_FUNC, osamp < 0)) {
-            dolog ("osamp=%d\n", osamp);
-            return 0;
-        }
-
-        if (ret + osamp > sw->buf_samples)
-            Log(("audio_pcm_sw_read: buffer overflow!! ret = %d, osamp = %d, buf_samples = %d\n",
-                  ret, osamp, sw->buf_samples));
-        st_rate_flow (sw->rate, src, dst, &isamp, &osamp);
-        swlim -= osamp;
-        rpos = (rpos + isamp) % hw->samples;
-        dst += osamp;
-        ret += osamp;
-        total += isamp;
-    }
-
-    if (ret > sw->buf_samples)
-        Log(("audio_pcm_sw_read: buffer overflow!! ret = %d, buf_samples = %d\n", ret, sw->buf_samples));
-    sw->clip (buf, sw->buf, ret);
-    sw->total_hw_samples_acquired += total;
-    return ret << sw->info.shift;
-}
-
-/*
- * Hard voice (playback)
- */
-static int audio_pcm_hw_find_min_out (HWVoiceOut *hw, int *nb_livep)
-{
-    SWVoiceOut *sw;
-    int m = INT_MAX;
-    int nb_live = 0;
-
-    for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-        if (sw->active || !sw->empty) {
-            m = audio_MIN (m, sw->total_hw_samples_mixed);
-            nb_live += 1;
-        }
-    }
-
-    *nb_livep = nb_live;
-    return m;
-}
-
-int audio_pcm_hw_get_live_out2 (HWVoiceOut *hw, int *nb_live)
-{
-    int smin;
-
-    smin = audio_pcm_hw_find_min_out (hw, nb_live);
-
-    if (!*nb_live) {
-        return 0;
-    }
-    else {
-        int live = smin;
-
-        if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-            dolog ("live=%d hw->samples=%d\n", live, hw->samples);
-            return 0;
-        }
-        return live;
-    }
-}
-
-int audio_pcm_hw_get_live_out (HWVoiceOut *hw)
-{
-    int nb_live;
-    int live;
-
-    live = audio_pcm_hw_get_live_out2 (hw, &nb_live);
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-        dolog ("live=%d hw->samples=%d\n", live, hw->samples);
-        return 0;
-    }
-    return live;
-}
-
-/*
- * Soft voice (playback)
- */
-int audio_pcm_sw_write (SWVoiceOut *sw, void *buf, int size)
-{
-    int hwsamples, samples, isamp, osamp, wpos, live, dead, left, swlim, blck;
-    int ret = 0, pos = 0, total = 0;
-
-    if (!sw) {
-        return size;
-    }
-
-    hwsamples = sw->hw->samples;
-
-    live = sw->total_hw_samples_mixed;
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > hwsamples)){
-        dolog ("live=%d hw->samples=%d\n", live, hwsamples);
-        return 0;
-    }
-
-    if (live == hwsamples) {
-#ifdef DEBUG_OUT
-        dolog ("%s is full %d\n", sw->name, live);
-#endif
-        return 0;
-    }
-
-    wpos = (sw->hw->rpos + live) % hwsamples;
-    samples = size >> sw->info.shift;
-
-    dead = hwsamples - live;
-    swlim = ((int64_t) dead << 32) / sw->ratio;
-    swlim = audio_MIN (swlim, samples);
-    if (swlim > sw->buf_samples)
-        Log(("audio_pcm_sw_write: buffer overflow!! swlim = %d, buf_samples = %d\n",
-             swlim, pos, sw->buf_samples));
-    if (swlim) {
-#ifndef VBOX
-        sw->conv (sw->buf, buf, swlim, &sw->vol);
-#else
-        sw->conv (sw->buf, buf, swlim, &sum_out_volume);
-#endif
-    }
-
-    while (swlim) {
-        dead = hwsamples - live;
-        left = hwsamples - wpos;
-        blck = audio_MIN (dead, left);
-        if (!blck) {
-            break;
-        }
-        isamp = swlim;
-        osamp = blck;
-        if (pos + isamp > sw->buf_samples)
-            Log(("audio_pcm_sw_write: buffer overflow!! isamp = %d, pos = %d, buf_samples = %d\n",
-                 isamp, pos, sw->buf_samples));
-        st_rate_flow_mix (
-            sw->rate,
-            sw->buf + pos,
-            sw->hw->mix_buf + wpos,
-            &isamp,
-            &osamp
-            );
-        ret += isamp;
-        swlim -= isamp;
-        pos += isamp;
-        live += osamp;
-        wpos = (wpos + osamp) % hwsamples;
-        total += osamp;
-    }
-
-    sw->total_hw_samples_mixed += total;
-    sw->empty = sw->total_hw_samples_mixed == 0;
-
-#ifdef DEBUG_OUT
-    dolog (
-        "%s: write size %d ret %d total sw %d\n",
-        SW_NAME (sw),
-        size >> sw->info.shift,
-        ret,
-        sw->total_hw_samples_mixed
-        );
-#endif
-
-    return ret << sw->info.shift;
-}
-
-#ifdef DEBUG_AUDIO
-static void audio_pcm_print_info (const char *cap, struct audio_pcm_info *info)
-{
-    dolog ("%s: bits %d, sign %d, freq %d, nchan %d\n",
-           cap, info->bits, info->sign, info->freq, info->nchannels);
-}
-#endif
-
-#define DAC
-#include "audio_template.h"
-#undef DAC
-#include "audio_template.h"
-
-int AUD_write (SWVoiceOut *sw, void *buf, int size)
-{
-    int bytes;
-
-    if (!sw) {
-        /* XXX: Consider options */
-        return size;
-    }
-
-    if (!sw->hw->enabled) {
-        dolog ("Writing to disabled voice %s\n", SW_NAME (sw));
-        return 0;
-    }
-
-    bytes = sw->hw->pcm_ops->write (sw, buf, size);
-    return bytes;
-}
-
-int AUD_read (SWVoiceIn *sw, void *buf, int size)
-{
-    int bytes;
-
-    if (!sw) {
-        /* XXX: Consider options */
-        return size;
-    }
-
-    if (!sw->hw->enabled) {
-        dolog ("Reading from disabled voice %s\n", SW_NAME (sw));
-        return 0;
-    }
-
-    bytes = sw->hw->pcm_ops->read (sw, buf, size);
-    return bytes;
-}
-
-int AUD_get_buffer_size_out (SWVoiceOut *sw)
-{
-    return sw->hw->samples << sw->hw->info.shift;
-}
-
-void AUD_set_active_out (SWVoiceOut *sw, int on)
-{
-    HWVoiceOut *hw;
-
-    if (!sw) {
-        return;
-    }
-
-    hw = sw->hw;
-    if (sw->active != on) {
-        SWVoiceOut *temp_sw;
-        SWVoiceCap *sc;
-
-        if (on) {
-            hw->pending_disable = 0;
-            if (!hw->enabled) {
-                hw->enabled = 1;
-                hw->pcm_ops->ctl_out (hw, VOICE_ENABLE);
-            }
-        }
-        else {
-            if (hw->enabled) {
-                int nb_active = 0;
-
-                for (temp_sw = hw->sw_head.lh_first; temp_sw;
-                     temp_sw = temp_sw->entries.le_next) {
-                    nb_active += temp_sw->active != 0;
-                }
-
-                hw->pending_disable = nb_active == 1;
-            }
-        }
-
-        for (sc = hw->cap_head.lh_first; sc; sc = sc->entries.le_next) {
-            sc->sw.active = hw->enabled;
-            if (hw->enabled) {
-                audio_capture_maybe_changed (sc->cap, 1);
-            }
-        }
-        sw->active = on;
-    }
-}
-
-void AUD_set_active_in (SWVoiceIn *sw, int on)
-{
-    HWVoiceIn *hw;
-
-    if (!sw) {
-        return;
-    }
-
-    hw = sw->hw;
-    if (sw->active != on) {
-        SWVoiceIn *temp_sw;
-
-        if (on) {
-            if (!hw->enabled) {
-                hw->enabled = 1;
-                hw->pcm_ops->ctl_in (hw, VOICE_ENABLE);
-            }
-            sw->total_hw_samples_acquired = hw->total_samples_captured;
-        }
-        else {
-            if (hw->enabled) {
-                int nb_active = 0;
-
-                for (temp_sw = hw->sw_head.lh_first; temp_sw;
-                     temp_sw = temp_sw->entries.le_next) {
-                    nb_active += temp_sw->active != 0;
-                }
-
-                if (nb_active == 1) {
-                    hw->enabled = 0;
-                    hw->pcm_ops->ctl_in (hw, VOICE_DISABLE);
-                }
-            }
-        }
-        sw->active = on;
-    }
-}
-
-static int audio_get_avail (SWVoiceIn *sw)
-{
-    int live;
-
-    if (!sw) {
-        return 0;
-    }
-
-    live = sw->hw->total_samples_captured - sw->total_hw_samples_acquired;
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > sw->hw->samples)) {
-        dolog ("live=%d sw->hw->samples=%d\n", live, sw->hw->samples);
-        return 0;
-    }
-
-    ldebug (
-        "%s: get_avail live %d ret %lld\n",
-        SW_NAME (sw),
-        live, (((int64_t) live << 32) / sw->ratio) << sw->info.shift
-        );
-
-    return (((int64_t) live << 32) / sw->ratio) << sw->info.shift;
-}
-
-static int audio_get_free (SWVoiceOut *sw)
-{
-    int live, dead;
-
-    if (!sw) {
-        return 0;
-    }
-
-    live = sw->total_hw_samples_mixed;
-
-    if (audio_bug (AUDIO_FUNC, live < 0 || live > sw->hw->samples)) {
-        dolog ("live=%d sw->hw->samples=%d\n", live, sw->hw->samples);
-        return 0;
-    }
-
-    dead = sw->hw->samples - live;
-
-#ifdef DEBUG_OUT
-    dolog ("%s: get_free live %d dead %d ret %lld\n",
-           SW_NAME (sw),
-           live, dead, (((int64_t) dead << 32) / sw->ratio) << sw->info.shift);
-#endif
-
-    return (((int64_t) dead << 32) / sw->ratio) << sw->info.shift;
-}
-
-static void audio_capture_mix_and_clear (HWVoiceOut *hw, int rpos, int samples)
-{
-    int n;
-
-    if (hw->enabled) {
-        SWVoiceCap *sc;
-
-        for (sc = hw->cap_head.lh_first; sc; sc = sc->entries.le_next) {
-            SWVoiceOut *sw = &sc->sw;
-            int rpos2 = rpos;
-
-            n = samples;
-            while (n) {
-                int till_end_of_hw = hw->samples - rpos2;
-                int to_write = audio_MIN (till_end_of_hw, n);
-                int bytes = to_write << hw->info.shift;
-                int written;
-
-                sw->buf = hw->mix_buf + rpos2;
-                written = audio_pcm_sw_write (sw, NULL, bytes);
-                if (written - bytes) {
-                    dolog ("Could not mix %d bytes into a capture "
-                           "buffer, mixed %d\n",
-                           bytes, written);
-                    break;
-                }
-                n -= to_write;
-                rpos2 = (rpos2 + to_write) % hw->samples;
-            }
-        }
-    }
-
-    n = audio_MIN (samples, hw->samples - rpos);
-    mixeng_sniff_and_clear (hw, hw->mix_buf + rpos, n);
-    mixeng_sniff_and_clear (hw, hw->mix_buf, samples - n);
-}
-
-static void audio_run_out (AudioState *s)
-{
-    HWVoiceOut *hw = NULL;
-    SWVoiceOut *sw;
-
-    while ((hw = audio_pcm_hw_find_any_enabled_out (s, hw))) {
-        int played;
-        int live, myfree, nb_live, cleanup_required, prev_rpos;
-
-        live = audio_pcm_hw_get_live_out2 (hw, &nb_live);
-        if (!nb_live) {
-            live = 0;
-        }
-
-        if (audio_bug (AUDIO_FUNC, live < 0 || live > hw->samples)) {
-            dolog ("live=%d hw->samples=%d\n", live, hw->samples);
-            continue;
-        }
-
-        if (hw->pending_disable && !nb_live) {
-            SWVoiceCap *sc;
-#ifdef DEBUG_OUT
-            dolog ("Disabling voice\n");
-#endif
-            hw->enabled = 0;
-            hw->pending_disable = 0;
-            hw->pcm_ops->ctl_out (hw, VOICE_DISABLE);
-            for (sc = hw->cap_head.lh_first; sc; sc = sc->entries.le_next) {
-                sc->sw.active = 0;
-                audio_recalc_and_notify_capture (sc->cap);
-            }
-            continue;
-        }
-
-        if (!live) {
-            for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-                if (sw->active) {
-                    myfree = audio_get_free (sw);
-                    if (myfree > 0) {
-                        sw->callback.fn (sw->callback.opaque, myfree);
-                    }
-                }
-            }
-            continue;
-        }
-
-        prev_rpos = hw->rpos;
-        played = hw->pcm_ops->run_out (hw);
-        if (audio_bug (AUDIO_FUNC, hw->rpos >= hw->samples)) {
-            dolog ("hw->rpos=%d hw->samples=%d played=%d\n",
-                   hw->rpos, hw->samples, played);
-            hw->rpos = 0;
-        }
-
-#ifdef DEBUG_OUT
-        dolog ("played=%d\n", played);
-#endif
-
-        if (played) {
-            hw->ts_helper += played;
-            audio_capture_mix_and_clear (hw, prev_rpos, played);
-        }
-
-        cleanup_required = 0;
-        for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-            if (!sw->active && sw->empty) {
-                continue;
-            }
-
-            if (audio_bug (AUDIO_FUNC, played > sw->total_hw_samples_mixed)) {
-                dolog ("played=%d sw->total_hw_samples_mixed=%d\n",
-                       played, sw->total_hw_samples_mixed);
-                played = sw->total_hw_samples_mixed;
-            }
-
-            sw->total_hw_samples_mixed -= played;
-
-            if (!sw->total_hw_samples_mixed) {
-                sw->empty = 1;
-                cleanup_required |= !sw->active && !sw->callback.fn;
-            }
-
-            if (sw->active) {
-                myfree = audio_get_free (sw);
-                if (myfree > 0) {
-                    sw->callback.fn (sw->callback.opaque, myfree);
-                }
-            }
-        }
-
-        if (cleanup_required) {
-            SWVoiceOut *sw1;
-
-            sw = hw->sw_head.lh_first;
-            while (sw) {
-                sw1 = sw->entries.le_next;
-                if (!sw->active && !sw->callback.fn) {
-#ifdef DEBUG_PLIVE
-                    dolog ("Finishing with old voice\n");
-#endif
-                    audio_close_out (s, sw);
-                }
-                sw = sw1;
-            }
-        }
-    }
-}
-
-static void audio_run_in (AudioState *s)
-{
-    HWVoiceIn *hw = NULL;
-
-    while ((hw = audio_pcm_hw_find_any_enabled_in (s, hw))) {
-        SWVoiceIn *sw;
-        int captured, min;
-
-        captured = hw->pcm_ops->run_in (hw);
-
-        min = audio_pcm_hw_find_min_in (hw);
-        hw->total_samples_captured += captured - min;
-        hw->ts_helper += captured;
-
-        for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-            sw->total_hw_samples_acquired -= min;
-
-            if (sw->active) {
-                int avail;
-
-                avail = audio_get_avail (sw);
-                if (avail > 0) {
-                    sw->callback.fn (sw->callback.opaque, avail);
-                }
-            }
-        }
-    }
-}
-
-static void audio_run_capture (AudioState *s)
-{
-    CaptureVoiceOut *cap;
-
-    for (cap = s->cap_head.lh_first; cap; cap = cap->entries.le_next) {
-        int live, rpos, captured;
-        HWVoiceOut *hw = &cap->hw;
-        SWVoiceOut *sw;
-
-        captured = live = audio_pcm_hw_get_live_out (hw);
-        rpos = hw->rpos;
-        while (live) {
-            int left = hw->samples - rpos;
-            int to_capture = audio_MIN (live, left);
-            st_sample_t *src;
-            struct capture_callback *cb;
-
-            src = hw->mix_buf + rpos;
-            hw->clip (cap->buf, src, to_capture);
-            mixeng_sniff_and_clear (hw, src, to_capture);
-
-            for (cb = cap->cb_head.lh_first; cb; cb = cb->entries.le_next) {
-                cb->ops.capture (cb->opaque, cap->buf,
-                                 to_capture << hw->info.shift);
-            }
-            rpos = (rpos + to_capture) % hw->samples;
-            live -= to_capture;
-        }
-        hw->rpos = rpos;
-
-        for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) {
-            if (!sw->active && sw->empty) {
-                continue;
-            }
-
-            if (audio_bug (AUDIO_FUNC, captured > sw->total_hw_samples_mixed)) {
-                dolog ("captured=%d sw->total_hw_samples_mixed=%d\n",
-                       captured, sw->total_hw_samples_mixed);
-                captured = sw->total_hw_samples_mixed;
-            }
-
-            sw->total_hw_samples_mixed -= captured;
-            sw->empty = sw->total_hw_samples_mixed == 0;
-        }
-    }
-}
-
-static void audio_timer (void *opaque)
-{
-    AudioState *s = opaque;
-
-    audio_run_out (s);
-    audio_run_in (s);
-    audio_run_capture (s);
-
-    TMTimerSet (s->ts, TMTimerGet (s->ts) + conf.period.ticks);
-}
-
-static struct audio_option audio_options[] = {
-    /* DAC */
-    {"DACFixedSettings", AUD_OPT_BOOL, &conf.fixed_out.enabled,
-     "Use fixed settings for host DAC", NULL, 0},
-
-    {"DACFixedFreq", AUD_OPT_INT, &conf.fixed_out.settings.freq,
-     "Frequency for fixed host DAC", NULL, 0},
-
-    {"DACFixedFmt", AUD_OPT_FMT, &conf.fixed_out.settings.fmt,
-     "Format for fixed host DAC", NULL, 0},
-
-    {"DACFixedChannels", AUD_OPT_INT, &conf.fixed_out.settings.nchannels,
-     "Number of channels for fixed DAC (1 - mono, 2 - stereo)", NULL, 0},
-
-    {"DACVoices", AUD_OPT_INT, &conf.fixed_out.nb_voices,
-     "Number of voices for DAC", NULL, 0},
-
-    /* ADC */
-    {"ADCFixedSettings", AUD_OPT_BOOL, &conf.fixed_in.enabled,
-     "Use fixed settings for host ADC", NULL, 0},
-
-    {"ADCFixedFreq", AUD_OPT_INT, &conf.fixed_in.settings.freq,
-     "Frequency for fixed host ADC", NULL, 0},
-
-    {"ADCFixedFmt", AUD_OPT_FMT, &conf.fixed_in.settings.fmt,
-     "Format for fixed host ADC", NULL, 0},
-
-    {"ADCFixedChannels", AUD_OPT_INT, &conf.fixed_in.settings.nchannels,
-     "Number of channels for fixed ADC (1 - mono, 2 - stereo)", NULL, 0},
-
-    {"ADCVoices", AUD_OPT_INT, &conf.fixed_in.nb_voices,
-     "Number of voices for ADC", NULL, 0},
-
-    /* Misc */
-    {"TimerFreq", AUD_OPT_INT, &conf.period.hz,
-     "Timer frequency in Hz (0 - use lowest possible)", NULL, 0},
-
-    {"PLIVE", AUD_OPT_BOOL, &conf.plive,
-     "(undocumented)", NULL, 0},
-
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static int audio_driver_init (PCFGMNODE pCfgHandle, AudioState *s, struct audio_driver *drv)
-{
-    if (drv->options) {
-        audio_process_options (pCfgHandle, drv->name, drv->options);
-    }
-    s->drv_opaque = drv->init ();
-
-    if (s->drv_opaque) {
-        /* Filter must be installed before initializing voices. */
-        drv = filteraudio_install(drv, s->drv_opaque);
-        audio_init_nb_voices_out (s, drv);
-        audio_init_nb_voices_in (s, drv);
-        s->drv = drv;
-        return 0;
-    }
-    else {
-        dolog ("Could not init `%s' audio driver\n", drv->name);
-        return -1;
-    }
-}
-
-static void audio_vm_change_state_handler (void *opaque, int running)
-{
-    AudioState *s = opaque;
-    HWVoiceOut *hwo = NULL;
-    HWVoiceIn *hwi = NULL;
-    int op = running ? VOICE_ENABLE : VOICE_DISABLE;
-
-    while ((hwo = audio_pcm_hw_find_any_enabled_out (s, hwo))) {
-        hwo->pcm_ops->ctl_out (hwo, op);
-    }
-
-    while ((hwi = audio_pcm_hw_find_any_enabled_in (s, hwi))) {
-        hwi->pcm_ops->ctl_in (hwi, op);
-    }
-}
-
-static void audio_atexit (void)
-{
-    AudioState *s = &glob_audio_state;
-    HWVoiceOut *hwo = NULL;
-    HWVoiceIn *hwi = NULL;
-
-    /* VBox change: audio_pcm_hw_find_any_enabled_out => audio_pcm_hw_find_any_out */
-    while ((hwo = audio_pcm_hw_find_any_out (s, hwo))) {
-        SWVoiceCap *sc;
-
-        hwo->pcm_ops->ctl_out (hwo, VOICE_DISABLE);
-        hwo->pcm_ops->fini_out (hwo);
-
-        for (sc = hwo->cap_head.lh_first; sc; sc = sc->entries.le_next) {
-            CaptureVoiceOut *cap = sc->cap;
-            struct capture_callback *cb;
-
-            for (cb = cap->cb_head.lh_first; cb; cb = cb->entries.le_next) {
-                cb->ops.destroy (cb->opaque);
-            }
-        }
-    }
-
-    /* VBox change: audio_pcm_hw_find_any_enabled_in => audio_pcm_hw_find_any_in */
-    while ((hwi = audio_pcm_hw_find_any_in (s, hwi))) {
-        hwi->pcm_ops->ctl_in (hwi, VOICE_DISABLE);
-        hwi->pcm_ops->fini_in (hwi);
-    }
-
-    if (s->drv) {
-        s->drv->fini (s->drv_opaque);
-    }
-}
-
-void AUD_register_card (const char *name, QEMUSoundCard *card)
-{
-    AudioState *s = &glob_audio_state;
-    card->audio = s;
-    card->name = qemu_strdup (name);
-    memset (&card->entries, 0, sizeof (card->entries));
-    LIST_INSERT_HEAD (&s->card_head, card, entries);
-}
-
-void AUD_remove_card (QEMUSoundCard *card)
-{
-    LIST_REMOVE (card, entries);
-    card->audio = NULL;
-    qemu_free (card->name);
-}
-
-static DECLCALLBACK(void) audio_timer_helper (PPDMDRVINS pDrvIns, PTMTIMER pTimer, void *pvUser)
-{
-    AudioState *s = (AudioState *)pvUser;
-    audio_timer (s);
-}
-
-static int AUD_init (PCFGMNODE pCfgHandle, PPDMDRVINS pDrvIns, const char *drvname)
-{
-    size_t i;
-    int done = 0;
-    AudioState *s = &glob_audio_state;
-    int rc;
-
-    LIST_INIT (&s->hw_head_out);
-    LIST_INIT (&s->hw_head_in);
-    LIST_INIT (&s->cap_head);
-
-    rc = PDMDrvHlpTMTimerCreate (pDrvIns, TMCLOCK_VIRTUAL, audio_timer_helper,
-                                 &glob_audio_state, 0, "Audio timer", &s->ts);
-    if (RT_FAILURE (rc))
-        return rc;
-
-    audio_process_options (pCfgHandle, "AUDIO", audio_options);
-
-    s->nb_hw_voices_out = conf.fixed_out.nb_voices;
-    s->nb_hw_voices_in = conf.fixed_in.nb_voices;
-
-    if (s->nb_hw_voices_out <= 0) {
-        dolog ("Bogus number of playback voices %d, setting to 1\n",
-               s->nb_hw_voices_out);
-        s->nb_hw_voices_out = 1;
-    }
-
-    if (s->nb_hw_voices_in <= 0) {
-        dolog ("Bogus number of capture voices %d, setting to 0\n",
-               s->nb_hw_voices_in);
-        s->nb_hw_voices_in = 0;
-    }
-
-    LogRel(("Audio: Trying driver '%s'\n", drvname));
-
-    if (drvname) {
-        int found = 0;
-
-        for (i = 0; i < sizeof (drvtab) / sizeof (drvtab[0]); i++) {
-            if (!strcmp (drvname, drvtab[i]->name)) {
-                done = !audio_driver_init (pCfgHandle, s, drvtab[i]);
-                found = 1;
-                break;
-            }
-        }
-
-        if (!found) {
-            dolog ("Unknown audio driver `%s'\n", drvname);
-        }
-    }
-
-    if (!done) {
-        for (i = 0; !done && i < sizeof (drvtab) / sizeof (drvtab[0]); i++) {
-            if (drvtab[i]->can_be_default) {
-                LogRel(("Audio: Initialization of driver '%s' failed, trying '%s'.\n",
-                       drvname, drvtab[i]->name));
-                drvname = drvtab[i]->name;
-                done = !audio_driver_init (pCfgHandle, s, drvtab[i]);
-            }
-        }
-    }
-
-    if (!done) {
-        done = !audio_driver_init (pCfgHandle, s, &no_audio_driver);
-        if (!done) {
-            dolog ("Could not initialize audio subsystem\n");
-        }
-        else {
-            LogRel(("Audio: Initialization of driver '%s' failed, using NULL driver.\n", drvname));
-            dolog ("warning: Using timer based audio emulation\n");
-        }
-    }
-
-    if (done) {
-        if (conf.period.hz <= 0) {
-            if (conf.period.hz < 0) {
-                dolog ("warning: Timer period is negative - %d "
-                       "treating as zero\n",
-                       conf.period.hz);
-            }
-            conf.period.ticks = 1;
-        }
-        else {
-            conf.period.ticks = PDMDrvHlpTMGetVirtualFreq (pDrvIns)
-                / conf.period.hz;
-        }
-    }
-    else {
-        /* XXX */
-        rc = TMR3TimerDestroy (s->ts);
-        return rc;
-    }
-
-    LIST_INIT (&s->card_head);
-    TMTimerSet (s->ts, TMTimerGet (s->ts) + conf.period.ticks);
-    return VINF_SUCCESS;
-}
-
-int AUD_init_null(void)
-{
-    AudioState *s = &glob_audio_state;
-
-#ifdef VBOX
-    if (s->drv)
-        s->drv->fini (s->drv_opaque);
-#endif
-
-    LogRel(("Audio: Using NULL audio driver\n"));
-    return audio_driver_init (NULL, s, &no_audio_driver);
-}
-
-CaptureVoiceOut *AUD_add_capture (
-    AudioState *s,
-    audsettings_t *as,
-    struct audio_capture_ops *ops,
-    void *cb_opaque
-    )
-{
-    CaptureVoiceOut *cap;
-    struct capture_callback *cb;
-
-    if (!s) {
-        /* XXX suppress */
-        s = &glob_audio_state;
-    }
-
-    if (audio_validate_settings (as)) {
-        dolog ("Invalid settings were passed when trying to add capture\n");
-        audio_print_settings (as);
-        goto err0;
-    }
-
-    cb = audio_calloc (AUDIO_FUNC, 1, sizeof (*cb));
-    if (!cb) {
-        dolog ("Could not allocate capture callback information, size %u\n",
-               sizeof (*cb));
-        goto err0;
-    }
-    cb->ops = *ops;
-    cb->opaque = cb_opaque;
-
-    cap = audio_pcm_capture_find_specific (s, as);
-    if (cap) {
-        LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
-        return cap;
-    }
-    else {
-        HWVoiceOut *hw;
-#ifndef VBOX
-        CaptureVoiceOut *cap;
-#endif
-
-        cap = audio_calloc (AUDIO_FUNC, 1, sizeof (*cap));
-        if (!cap) {
-            dolog ("Could not allocate capture voice, size %u\n",
-                   sizeof (*cap));
-            goto err1;
-        }
-
-        hw = &cap->hw;
-        LIST_INIT (&hw->sw_head);
-        LIST_INIT (&cap->cb_head);
-
-        /* XXX find a more elegant way */
-        hw->samples = 4096 * 4;
-        hw->mix_buf = audio_calloc (AUDIO_FUNC, hw->samples,
-                                    sizeof (st_sample_t));
-        if (!hw->mix_buf) {
-            dolog ("Could not allocate capture mix buffer (%d samples)\n",
-                   hw->samples);
-            goto err2;
-        }
-
-        audio_pcm_init_info (&hw->info, as);
-
-        cap->buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);
-        if (!cap->buf) {
-            dolog ("Could not allocate capture buffer "
-                   "(%d samples, each %d bytes)\n",
-                   hw->samples, 1 << hw->info.shift);
-            goto err3;
-        }
-
-        hw->clip = mixeng_clip
-            [hw->info.nchannels == 2]
-            [hw->info.sign]
-            [hw->info.swap_endianness]
-            [audio_bits_to_index (hw->info.bits)];
-
-        LIST_INSERT_HEAD (&s->cap_head, cap, entries);
-        LIST_INSERT_HEAD (&cap->cb_head, cb, entries);
-
-        hw = NULL;
-        while ((hw = audio_pcm_hw_find_any_out (s, hw))) {
-            audio_attach_capture (s, hw);
-        }
-        return cap;
-
-    err3:
-        qemu_free (cap->hw.mix_buf);
-    err2:
-        qemu_free (cap);
-    err1:
-        qemu_free (cb);
-    err0:
-        return NULL;
-    }
-}
-
-void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque)
-{
-    struct capture_callback *cb;
-
-    for (cb = cap->cb_head.lh_first; cb; cb = cb->entries.le_next) {
-        if (cb->opaque == cb_opaque) {
-            cb->ops.destroy (cb_opaque);
-            LIST_REMOVE (cb, entries);
-            qemu_free (cb);
-
-            if (!cap->cb_head.lh_first) {
-                SWVoiceOut *sw = cap->hw.sw_head.lh_first, *sw1;
-
-                while (sw) {
-                    SWVoiceCap *sc = (SWVoiceCap *) sw;
-#ifdef DEBUG_CAPTURE
-                    dolog ("freeing %s\n", sw->name);
-#endif
-
-                    sw1 = sw->entries.le_next;
-                    if (sw->rate) {
-                        st_rate_stop (sw->rate);
-                        sw->rate = NULL;
-                    }
-                    LIST_REMOVE (sw, entries);
-                    LIST_REMOVE (sc, entries);
-                    qemu_free (sc);
-                    sw = sw1;
-                }
-                LIST_REMOVE (cap, entries);
-                qemu_free (cap);
-            }
-            return;
-        }
-    }
-}
-
-void AUD_set_volume_out (SWVoiceOut *sw, int mute, uint8_t lvol, uint8_t rvol)
-{
-    if (sw)
-    {
-        sw->vol.mute = mute;
-        sw->vol.l    = (uint32_t)lvol * 0x808080; /* maximum is INT_MAX = 0x7fffffff */
-        sw->vol.r    = (uint32_t)rvol * 0x808080; /* maximum is INT_MAX = 0x7fffffff */
-    }
-}
-
-void AUD_set_volume (audmixerctl_t mt, int *mute, uint8_t *lvol, uint8_t *rvol)
-{
-    volume_t *vol = NULL;
-    const char *name;
-
-    switch (mt)
-    {
-        case AUD_MIXER_VOLUME:
-            name = "MASTER";
-            vol  = &master_out_volume;
-            break;
-        case AUD_MIXER_PCM:
-            name = "PCM_OUT";
-            vol  = &pcm_out_volume;
-            break;
-        case AUD_MIXER_LINE_IN:
-            name = "LINE_IN";
-            vol  = &pcm_in_volume;
-            break;
-        default:
-            return;
-
-    }
-
-    if (vol)
-    {
-        uint32_t u32VolumeLeft  = (uint32_t)*lvol;
-        uint32_t u32VolumeRight = (uint32_t)*rvol;
-        /* 0x00..0xff => 0x01..0x100 */
-        if (u32VolumeLeft)
-            u32VolumeLeft++;
-        if (u32VolumeRight)
-            u32VolumeRight++;
-        vol->mute  = *mute;
-        vol->l     = u32VolumeLeft  * 0x800000; /* maximum is 0x80000000 */
-        vol->r     = u32VolumeRight * 0x800000; /* maximum is 0x80000000 */
-    }
-    sum_out_volume.mute = master_out_volume.mute || pcm_out_volume.mute;
-    sum_out_volume.l    = ASMMultU64ByU32DivByU32(master_out_volume.l, pcm_out_volume.l, 0x80000000U);
-    sum_out_volume.r    = ASMMultU64ByU32DivByU32(master_out_volume.r, pcm_out_volume.r, 0x80000000U);
-}
-
-void AUD_set_record_source (audrecsource_t *ars, audrecsource_t *als)
-{
-    LogRel(("Audio: set_record_source ars=%d als=%d (not implemented)\n", *ars, *als));
-}
-
-int AUD_is_host_voice_in_ok(SWVoiceIn *sw)
-{
-    AudioState *s = &glob_audio_state;
-
-    if (sw == NULL) {
-        return 0;
-    }
-
-    return filteraudio_is_host_voice_in_ok(s->drv, sw->hw);
-}
-
-int AUD_is_host_voice_out_ok(SWVoiceOut *sw)
-{
-    AudioState *s = &glob_audio_state;
-
-    if (sw == NULL) {
-        return 0;
-    }
-
-    return filteraudio_is_host_voice_out_ok(s->drv, sw->hw);
-}
-
-/**
- * @interface_method_impl{PDMIBASE,pfnQueryInterface}
- */
-static DECLCALLBACK(void *) drvAudioQueryInterface(PPDMIBASE pInterface, const char *pszIID)
-{
-    PPDMDRVINS pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
-    PDRVAUDIO  pThis   = PDMINS_2_DATA(pDrvIns, PDRVAUDIO);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBASE, &pDrvIns->IBase);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIAUDIOCONNECTOR, &pThis->IAudioConnector);
-    return NULL;
-}
-
-/**
- * Power Off notification.
- *
- * @param   pDrvIns     The driver instance data.
- */
-static DECLCALLBACK(void) drvAudioPowerOff(PPDMDRVINS pDrvIns)
-{
-    AudioState *s = &glob_audio_state;
-    audio_vm_change_state_handler (s, 0);
-}
-
-/**
- * Destruct a driver instance.
- *
- * Most VM resources are freed by the VM. This callback is provided so that any non-VM
- * resources can be freed correctly.
- *
- * @param   pDrvIns     The driver instance data.
- */
-static DECLCALLBACK(void) drvAudioDestruct(PPDMDRVINS pDrvIns)
-{
-    LogFlow(("drvAUDIODestruct:\n"));
-    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
-
-    if (audio_streamname)
-    {
-        MMR3HeapFree(audio_streamname);
-        audio_streamname = NULL;
-    }
-
-    audio_atexit ();
-}
-
-/**
- * Construct an AUDIO driver instance.
- *
- * @copydoc FNPDMDRVCONSTRUCT
- */
-static DECLCALLBACK(int) drvAudioConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfgHandle, uint32_t fFlags)
-{
-    PDRVAUDIO   pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIO);
-    char       *drvname;
-    int         rc;
-
-    LogFlow(("drvAUDIOConstruct:\n"));
-    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
-
-    /*
-     * Validate the config.
-     */
-    if (!CFGMR3AreValuesValid(pCfgHandle, "AudioDriver\0StreamName\0"))
-        return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES;
-
-    /*
-     * Init the static parts.
-     */
-    pThis->pDrvIns                    = pDrvIns;
-    /* IBase */
-    pDrvIns->IBase.pfnQueryInterface  = drvAudioQueryInterface;
-    /* IAudio */
-    /* pThis->IAudioConnector.pfn; */
-
-    glob_audio_state.pDrvIns = pDrvIns;
-
-    rc = CFGMR3QueryStringAlloc (pCfgHandle, "AudioDriver", &drvname);
-    if (RT_FAILURE (rc))
-        return rc;
-
-    rc = CFGMR3QueryStringAlloc (pCfgHandle, "StreamName", &audio_streamname);
-    if (RT_FAILURE (rc))
-        audio_streamname = NULL;
-
-    rc = AUD_init (pCfgHandle, pDrvIns, drvname);
-    if (RT_FAILURE (rc))
-        return rc;
-
-    MMR3HeapFree (drvname);
-
-    return VINF_SUCCESS;
-}
-
-/**
- * Suspend notification.
- *
- * @returns VBox status.
- * @param   pDrvIns     The driver instance data.
- */
-static DECLCALLBACK(void) drvAudioSuspend(PPDMDRVINS pDrvIns)
-{
-    AudioState *s = &glob_audio_state;
-    audio_vm_change_state_handler (s, 0);
-}
-
-/**
- * Resume notification.
- *
- * @returns VBox status.
- * @param   pDrvIns     The driver instance data.
- */
-static DECLCALLBACK(void) audioResume(PPDMDRVINS pDrvIns)
-{
-    AudioState *s = &glob_audio_state;
-    audio_vm_change_state_handler (s, 1);
-}
-
-/**
- * Audio driver registration record.
- */
-const PDMDRVREG g_DrvAUDIO =
-{
-    /* u32Version */
-    PDM_DRVREG_VERSION,
-    /* szName */
-    "AUDIO",
-    /* szRCMod */
-    "",
-    /* szR0Mod */
-    "",
-    /* pszDescription */
-    "AUDIO Driver",
-    /* fFlags */
-    PDM_DRVREG_FLAGS_HOST_BITS_DEFAULT,
-    /* fClass. */
-    PDM_DRVREG_CLASS_AUDIO,
-    /* cMaxInstances */
-    1,
-    /* cbInstance */
-    sizeof(DRVAUDIO),
-    /* pfnConstruct */
-    drvAudioConstruct,
-    /* pfnDestruct */
-    drvAudioDestruct,
-    /* pfnRelocate */
-    NULL,
-    /* pfnIOCtl */
-    NULL,
-    /* pfnPowerOn */
-    NULL,
-    /* pfnReset */
-    NULL,
-    /* pfnSuspend */
-    drvAudioSuspend,
-    /* pfnResume */
-    audioResume,
-    /* pfnAttach */
-    NULL,
-    /* pfnDetach */
-    NULL,
-    /* pfnPowerOff */
-    drvAudioPowerOff,
-    /* pfnSoftReset */
-    NULL,
-    /* u32EndVersion */
-    PDM_DRVREG_VERSION
-};
-
diff --git a/src/VBox/Devices/Audio/audio.h b/src/VBox/Devices/Audio/audio.h
deleted file mode 100644
index ec363e8..0000000
--- a/src/VBox/Devices/Audio/audio.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * QEMU Audio subsystem header
- *
- * Copyright (c) 2003-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifndef QEMU_AUDIO_H
-#define QEMU_AUDIO_H
-
-#include "sys-queue.h"
-
-#if defined __STDC_VERSION__ && __STDC_VERSION__ > 199901L
-#define FMTZ "z"
-#else
-#define FMTZ
-#endif
-
-typedef void (*audio_callback_fn_t) (void *opaque, int avail);
-
-typedef enum {
-    AUD_FMT_U8,
-    AUD_FMT_S8,
-    AUD_FMT_U16,
-    AUD_FMT_S16,
-    AUD_FMT_U32,
-    AUD_FMT_S32
-} audfmt_e;
-
-#define AUDIO_HOST_ENDIANNESS 0
-
-typedef struct {
-    int freq;
-    int nchannels;
-    audfmt_e fmt;
-    int endianness;
-} audsettings_t;
-
-typedef enum {
-    AUD_CNOTIFY_ENABLE,
-    AUD_CNOTIFY_DISABLE
-} audcnotification_e;
-
-typedef enum
-{
-    AUD_MIXER_VOLUME,
-    AUD_MIXER_PCM,
-    AUD_MIXER_LINE_IN
-} audmixerctl_t;
-
-typedef enum
-{
-    AUD_REC_MIC,
-    AUD_REC_CD,
-    AUD_REC_VIDEO,
-    AUD_REC_AUX,
-    AUD_REC_LINE_IN,
-    AUD_REC_PHONE
-} audrecsource_t;
-
-struct audio_capture_ops {
-    void (*notify) (void *opaque, audcnotification_e cmd);
-    void (*capture) (void *opaque, void *buf, int size);
-    void (*destroy) (void *opaque);
-};
-
-struct capture_ops {
-    void (*info) (void *opaque);
-    void (*destroy) (void *opaque);
-};
-
-typedef struct CaptureState {
-    void *opaque;
-    struct capture_ops ops;
-    LIST_ENTRY (CaptureState) entries;
-} CaptureState;
-
-typedef struct AudioState AudioState;
-typedef struct SWVoiceOut SWVoiceOut;
-typedef struct CaptureVoiceOut CaptureVoiceOut;
-typedef struct SWVoiceIn SWVoiceIn;
-
-typedef struct QEMUSoundCard {
-    AudioState *audio;
-    char *name;
-    LIST_ENTRY (QEMUSoundCard) entries;
-} QEMUSoundCard;
-
-typedef struct QEMUAudioTimeStamp {
-    uint64_t old_ts;
-} QEMUAudioTimeStamp;
-
-void AUD_vlog (const char *cap, const char *fmt, va_list ap);
-void AUD_log (const char *cap, const char *fmt, ...)
-#if defined (__GNUC__) && !defined (VBOX) /* VBox: oh, please, shut up. */
-    __attribute__ ((__format__ (__printf__, 2, 3)))
-#endif
-    ;
-
-void AUD_register_card (const char *name, QEMUSoundCard *card);
-void AUD_remove_card (QEMUSoundCard *card);
-
-CaptureVoiceOut *AUD_add_capture (
-    AudioState *s,
-    audsettings_t *as,
-    struct audio_capture_ops *ops,
-    void *opaque
-    );
-void AUD_del_capture (CaptureVoiceOut *cap, void *cb_opaque);
-
-SWVoiceOut *AUD_open_out (
-    QEMUSoundCard *card,
-    SWVoiceOut *sw,
-    const char *name,
-    void *callback_opaque,
-    audio_callback_fn_t callback_fn,
-    audsettings_t *settings
-    );
-
-void AUD_close_out (QEMUSoundCard *card, SWVoiceOut *sw);
-int  AUD_write (SWVoiceOut *sw, void *pcm_buf, int size);
-int  AUD_get_buffer_size_out (SWVoiceOut *sw);
-void AUD_set_active_out (SWVoiceOut *sw, int on);
-int  AUD_is_active_out (SWVoiceOut *sw);
-
-void     AUD_init_time_stamp_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts);
-uint64_t AUD_get_elapsed_usec_out (SWVoiceOut *sw, QEMUAudioTimeStamp *ts);
-
-SWVoiceIn *AUD_open_in (
-    QEMUSoundCard *card,
-    SWVoiceIn *sw,
-    const char *name,
-    void *callback_opaque,
-    audio_callback_fn_t callback_fn,
-    audsettings_t *settings
-    );
-
-void AUD_close_in (QEMUSoundCard *card, SWVoiceIn *sw);
-int  AUD_read (SWVoiceIn *sw, void *pcm_buf, int size);
-void AUD_set_active_in (SWVoiceIn *sw, int on);
-int  AUD_is_active_in (SWVoiceIn *sw);
-
-void     AUD_init_time_stamp_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts);
-uint64_t AUD_get_elapsed_usec_in (SWVoiceIn *sw, QEMUAudioTimeStamp *ts);
-
-void AUD_set_volume_out (SWVoiceOut *po, int mute, uint8_t lvol, uint8_t rvol);
-void AUD_set_volume (audmixerctl_t mt, int *mute, uint8_t *lvol, uint8_t *rvol);
-void AUD_set_record_source (audrecsource_t *ars, audrecsource_t *als);
-
-int  AUD_init_null(void);
-
-static inline void *advance (void *p, int incr)
-{
-#ifndef VBOX
-    uint8_t *d = p;
-#else
-    uint8_t *d = (uint8_t*)p;
-#endif
-    return (d + incr);
-}
-
-uint32_t popcount (uint32_t u);
-uint32_t lsbindex (uint32_t u);
-
-#ifdef __GNUC__
-#define audio_MIN(a, b) ( __extension__ ({      \
-    __typeof (a) ta = a;                        \
-    __typeof (b) tb = b;                        \
-    ((ta)>(tb)?(tb):(ta));                      \
- }))
-
-#define audio_MAX(a, b) ( __extension__ ({      \
-    __typeof (a) ta = a;                        \
-    __typeof (b) tb = b;                        \
-    ((ta)<(tb)?(tb):(ta));                      \
- }))
-#else
-#define audio_MIN(a, b) ((a)>(b)?(b):(a))
-#define audio_MAX(a, b) ((a)<(b)?(b):(a))
-#endif
-
-#ifdef VBOX
-const char *audio_get_stream_name(void);
-#endif
-
-int AUD_is_host_voice_in_ok(SWVoiceIn *hw);
-int AUD_is_host_voice_out_ok(SWVoiceOut *hw);
-
-#endif  /* audio.h */
diff --git a/src/VBox/Devices/Audio/audio_int.h b/src/VBox/Devices/Audio/audio_int.h
deleted file mode 100644
index caa47bf..0000000
--- a/src/VBox/Devices/Audio/audio_int.h
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * QEMU Audio subsystem header
- *
- * Copyright (c) 2003-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifndef QEMU_AUDIO_INT_H
-#define QEMU_AUDIO_INT_H
-
-#ifdef CONFIG_COREAUDIO
-#ifndef VBOX
-#define FLOAT_MIXENG
-#else
-#undef  FLOAT_MIXENG
-#endif
-/* #define RECIPROCAL */
-#endif
-
-#include <limits.h>
-#include "mixeng.h"
-
-#define qemu_malloc RTMemAlloc
-#define qemu_mallocz RTMemAllocZ
-#define qemu_free RTMemFree
-#define qemu_strdup RTStrDup
-#define qemu_strfree RTStrFree
-#define asprintf     RTStrAPrintf
-
-struct audio_pcm_ops;
-
-typedef enum {
-    AUD_OPT_INT,
-    AUD_OPT_FMT,
-    AUD_OPT_STR,
-    AUD_OPT_BOOL
-} audio_option_tag_e;
-
-struct audio_option {
-    const char *name;
-    audio_option_tag_e tag;
-    void *valp;
-    const char *descr;
-    int *overridenp;
-    int overriden;
-};
-
-struct audio_callback {
-    void *opaque;
-    audio_callback_fn_t fn;
-};
-
-struct audio_pcm_info {
-    int bits;
-    int sign;
-    int freq;
-    int nchannels;
-    int align;
-    int shift;
-    int bytes_per_second;
-    int swap_endianness;
-};
-
-typedef struct SWVoiceCap SWVoiceCap;
-
-typedef struct HWVoiceOut {
-    int enabled;
-    int pending_disable;
-    struct audio_pcm_info info;
-
-    f_sample *clip;
-
-    int rpos;
-    uint64_t ts_helper;
-
-    st_sample_t *mix_buf;
-
-    int samples;
-    LIST_HEAD (sw_out_listhead, SWVoiceOut) sw_head;
-    LIST_HEAD (sw_cap_listhead, SWVoiceCap) cap_head;
-    struct audio_pcm_ops *pcm_ops;
-    LIST_ENTRY (HWVoiceOut) entries;
-} HWVoiceOut;
-
-typedef struct HWVoiceIn {
-    int enabled;
-    struct audio_pcm_info info;
-
-    t_sample *conv;
-
-    int wpos;
-    int total_samples_captured;
-    uint64_t ts_helper;
-
-    st_sample_t *conv_buf;
-
-    int samples;
-    LIST_HEAD (sw_in_listhead, SWVoiceIn) sw_head;
-    struct audio_pcm_ops *pcm_ops;
-    LIST_ENTRY (HWVoiceIn) entries;
-} HWVoiceIn;
-
-struct SWVoiceOut {
-    struct audio_pcm_info info;
-    t_sample *conv;
-    int64_t ratio;
-    st_sample_t *buf;
-    int buf_samples;
-    void *rate;
-    int total_hw_samples_mixed;
-    int active;
-    int empty;
-    HWVoiceOut *hw;
-    char *name;
-    volume_t vol;
-    struct audio_callback callback;
-    LIST_ENTRY (SWVoiceOut) entries;
-};
-
-struct SWVoiceIn {
-    int active;
-    struct audio_pcm_info info;
-    int64_t ratio;
-    void *rate;
-    int total_hw_samples_acquired;
-    st_sample_t *buf;
-    int buf_samples; /* for debugging only */
-    f_sample *clip;
-    HWVoiceIn *hw;
-    char *name;
-    volume_t vol;
-    struct audio_callback callback;
-    LIST_ENTRY (SWVoiceIn) entries;
-};
-
-struct audio_driver {
-    const char *name;
-    const char *descr;
-    struct audio_option *options;
-    void *(*init) (void);
-    void (*fini) (void *);
-    struct audio_pcm_ops *pcm_ops;
-    int can_be_default;
-    int max_voices_out;
-    int max_voices_in;
-    int voice_size_out;
-    int voice_size_in;
-};
-
-struct audio_pcm_ops {
-    int  (*init_out)(HWVoiceOut *hw, audsettings_t *as);
-    void (*fini_out)(HWVoiceOut *hw);
-    int  (*run_out) (HWVoiceOut *hw);
-    int  (*write)   (SWVoiceOut *sw, void *buf, int size);
-    int  (*ctl_out) (HWVoiceOut *hw, int cmd, ...);
-
-    int  (*init_in) (HWVoiceIn *hw, audsettings_t *as);
-    void (*fini_in) (HWVoiceIn *hw);
-    int  (*run_in)  (HWVoiceIn *hw);
-    int  (*read)    (SWVoiceIn *sw, void *buf, int size);
-    int  (*ctl_in)  (HWVoiceIn *hw, int cmd, ...);
-};
-
-struct capture_callback {
-    struct audio_capture_ops ops;
-    void *opaque;
-    LIST_ENTRY (capture_callback) entries;
-};
-
-struct CaptureVoiceOut {
-    HWVoiceOut hw;
-    void *buf;
-    LIST_HEAD (cb_listhead, capture_callback) cb_head;
-    LIST_ENTRY (CaptureVoiceOut) entries;
-};
-
-struct SWVoiceCap {
-    SWVoiceOut sw;
-    CaptureVoiceOut *cap;
-    LIST_ENTRY (SWVoiceCap) entries;
-};
-
-struct AudioState {
-    struct audio_driver *drv;
-    void *drv_opaque;
-
-    QEMUTimer *ts;
-    LIST_HEAD (card_listhead, QEMUSoundCard) card_head;
-    LIST_HEAD (hw_in_listhead, HWVoiceIn) hw_head_in;
-    LIST_HEAD (hw_out_listhead, HWVoiceOut) hw_head_out;
-    LIST_HEAD (cap_listhead, CaptureVoiceOut) cap_head;
-    int nb_hw_voices_out;
-    int nb_hw_voices_in;
-    PPDMDRVINS pDrvIns;
-};
-
-extern struct audio_driver no_audio_driver;
-extern struct audio_driver oss_audio_driver;
-extern struct audio_driver sdl_audio_driver;
-extern struct audio_driver wav_audio_driver;
-extern struct audio_driver fmod_audio_driver;
-extern struct audio_driver alsa_audio_driver;
-extern struct audio_driver pulse_audio_driver;
-extern struct audio_driver coreaudio_audio_driver;
-extern struct audio_driver dsound_audio_driver;
-extern struct audio_driver solaudio_audio_driver;
-extern volume_t nominal_volume;
-#ifdef VBOX
-extern volume_t pcm_out_volume;
-extern volume_t pcm_in_volume;
-#endif
-
-uint64_t audio_get_clock (void);
-uint64_t audio_get_ticks_per_sec (void);
-
-void audio_pcm_init_info (struct audio_pcm_info *info, audsettings_t *as);
-void audio_pcm_info_clear_buf (struct audio_pcm_info *info, void *buf, int len);
-
-int  audio_pcm_sw_write (SWVoiceOut *sw, void *buf, int len);
-int  audio_pcm_hw_get_live_in (HWVoiceIn *hw);
-
-int  audio_pcm_sw_read (SWVoiceIn *sw, void *buf, int len);
-int  audio_pcm_hw_get_live_out (HWVoiceOut *hw);
-int  audio_pcm_hw_get_live_out2 (HWVoiceOut *hw, int *nb_live);
-
-int audio_bug (const char *funcname, int cond);
-void *audio_calloc (const char *funcname, int nmemb, size_t size);
-
-#define VOICE_ENABLE 1
-#define VOICE_DISABLE 2
-
-static inline int audio_ring_dist (int dst, int src, int len)
-{
-    return (dst >= src) ? (dst - src) : (len - src + dst);
-}
-
-#if defined __GNUC__ && !defined VBOX /* VBox: oh, please, just shut up. */
-#define GCC_ATTR __attribute__ ((__unused__, __format__ (__printf__, 1, 2)))
-#if __STDC_VERSION__ > 199901L
-#define INIT_FIELD(f) . f
-#else
-#define INIT_FIELD(f) /**/
-#endif
-#define GCC_FMT_ATTR(n, m) __attribute__ ((__format__ (__printf__, n, m)))
-#else
-#define GCC_ATTR /**/
-#define INIT_FIELD(f) /**/
-#define GCC_FMT_ATTR(n, m)
-#endif
-
-#ifndef VBOX
-static void GCC_ATTR dolog (const char *fmt, ...)
-#else
-DECLINLINE(void) GCC_ATTR dolog (const char *fmt, ...) /* shuts up unused warnings. */
-#endif
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-}
-
-#ifdef DEBUG
-DECLINLINE(void) GCC_ATTR ldebug (const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-}
-#else
-#if defined NDEBUG && defined __GNUC__
-#define ldebug(...)
-#elif defined NDEBUG && defined _MSC_VER
-#define ldebug __noop
-#else
-#ifndef VBOX
-static void GCC_ATTR ldebug (const char *fmt, ...)
-#else
-DECLINLINE(void) GCC_ATTR ldebug (const char *fmt, ...)  /* shuts up unused warnings. */
-#endif
-{
-    (void) fmt;
-}
-#endif
-#endif
-
-#undef GCC_ATTR
-
-#define AUDIO_STRINGIFY_(n) #n
-#define AUDIO_STRINGIFY(n) AUDIO_STRINGIFY_(n)
-
-#if defined _MSC_VER || defined __GNUC__
-#define AUDIO_FUNC __FUNCTION__
-#else
-#define AUDIO_FUNC __FILE__ ":" AUDIO_STRINGIFY (__LINE__)
-#endif
-
-DECLCALLBACK(bool) sniffer_run_out (HWVoiceOut *hw, void *pvSamples,
-                                    unsigned cSamples);
-
-/*
- * Filter interface.
- */
-typedef DECLCALLBACK(int) FNAUDIOINPUTCALLBACK(void* pvCtx, uint32_t cbSamples, const void *pvSamples);
-typedef FNAUDIOINPUTCALLBACK *PFNAUDIOINPUTCALLBACK;
-
-int filter_output_intercepted(void);
-int filter_output_begin(void **ppvOutputCtx, struct audio_pcm_info *pinfo, int samples);
-void filter_output_end(void *pvOutputCtx);
-
-int filter_input_intercepted(void);
-int filter_input_begin(void **ppvInputCtx, PFNAUDIOINPUTCALLBACK pfnCallback, void *pvCallback, HWVoiceIn *phw, int samples);
-void filter_input_end(void *pvInputCtx);
-
-struct audio_driver *filteraudio_install(struct audio_driver *pDrv, void *pDrvOpaque);
-int filteraudio_is_host_voice_in_ok(struct audio_driver *pDrv, HWVoiceIn *phw);
-int filteraudio_is_host_voice_out_ok(struct audio_driver *pDrv, HWVoiceOut *phw);
-
-#endif /* audio_int.h */
diff --git a/src/VBox/Devices/Audio/audio_template.h b/src/VBox/Devices/Audio/audio_template.h
deleted file mode 100644
index ac63a00..0000000
--- a/src/VBox/Devices/Audio/audio_template.h
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * QEMU Audio subsystem header
- *
- * Copyright (c) 2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#ifdef DAC
-#define NAME "playback"
-#define HWBUF hw->mix_buf
-#define TYPE out
-#define HW HWVoiceOut
-#define SW SWVoiceOut
-#else
-#define NAME "capture"
-#define TYPE in
-#define HW HWVoiceIn
-#define SW SWVoiceIn
-#define HWBUF hw->conv_buf
-#endif
-
-static void glue (audio_init_nb_voices_, TYPE) (
-    AudioState *s,
-    struct audio_driver *drv
-    )
-{
-    int max_voices = glue (drv->max_voices_, TYPE);
-    int voice_size = glue (drv->voice_size_, TYPE);
-
-    if (glue (s->nb_hw_voices_, TYPE) > max_voices) {
-        if (!max_voices) {
-#ifdef DAC
-            dolog ("Driver `%s' does not support " NAME "\n", drv->name);
-#endif
-        }
-        else {
-            dolog ("Driver `%s' does not support %d " NAME " voices, max %d\n",
-                   drv->name,
-                   glue (s->nb_hw_voices_, TYPE),
-                   max_voices);
-        }
-        glue (s->nb_hw_voices_, TYPE) = max_voices;
-    }
-
-    if (audio_bug (AUDIO_FUNC, !voice_size && max_voices)) {
-        dolog ("drv=`%s' voice_size=0 max_voices=%d\n",
-               drv->name, max_voices);
-        glue (s->nb_hw_voices_, TYPE) = 0;
-    }
-
-    if (audio_bug (AUDIO_FUNC, voice_size && !max_voices)) {
-        dolog ("drv=`%s' voice_size=%d max_voices=0\n",
-               drv->name, voice_size);
-    }
-}
-
-static void glue (audio_pcm_hw_free_resources_, TYPE) (HW *hw)
-{
-    if (HWBUF) {
-        qemu_free (HWBUF);
-    }
-
-    HWBUF = NULL;
-}
-
-static int glue (audio_pcm_hw_alloc_resources_, TYPE) (HW *hw)
-{
-    HWBUF = audio_calloc (AUDIO_FUNC, hw->samples, sizeof (st_sample_t));
-    if (!HWBUF) {
-        dolog ("Could not allocate " NAME " buffer (%d samples)\n",
-               hw->samples);
-        return -1;
-    }
-
-    return 0;
-}
-
-static void glue (audio_pcm_sw_free_resources_, TYPE) (SW *sw)
-{
-    if (sw->buf) {
-        qemu_free (sw->buf);
-    }
-
-    if (sw->rate) {
-        st_rate_stop (sw->rate);
-    }
-
-    sw->buf = NULL;
-    sw->rate = NULL;
-    sw->buf_samples = 0;
-}
-
-static int glue (audio_pcm_sw_alloc_resources_, TYPE) (SW *sw)
-{
-    int samples;
-
-    samples = ((int64_t) sw->hw->samples << 32) / sw->ratio;
-    sw->buf_samples = 0;
-
-    sw->buf = audio_calloc (AUDIO_FUNC, samples, sizeof (st_sample_t));
-    if (!sw->buf) {
-        dolog ("Could not allocate buffer for `%s' (%d samples)\n",
-               SW_NAME (sw), samples);
-        return -1;
-    }
-
-#ifdef DAC
-    sw->rate = st_rate_start (sw->info.freq, sw->hw->info.freq);
-#else
-    sw->rate = st_rate_start (sw->hw->info.freq, sw->info.freq);
-#endif
-    if (!sw->rate) {
-        qemu_free (sw->buf);
-        sw->buf = NULL;
-        return -1;
-    }
-
-    sw->buf_samples = samples;
-    return 0;
-}
-
-static int glue (audio_pcm_sw_init_, TYPE) (
-    SW *sw,
-    HW *hw,
-    const char *name,
-    audsettings_t *as
-    )
-{
-    int err;
-
-    audio_pcm_init_info (&sw->info, as);
-    sw->hw = hw;
-    sw->active = 0;
-#ifdef DAC
-    sw->ratio = ((int64_t) sw->hw->info.freq << 32) / sw->info.freq;
-    sw->total_hw_samples_mixed = 0;
-    sw->empty = 1;
-#else
-    sw->ratio = ((int64_t) sw->info.freq << 32) / sw->hw->info.freq;
-#endif
-
-#ifdef DAC
-    sw->conv = mixeng_conv
-#else
-    sw->clip = mixeng_clip
-#endif
-        [sw->info.nchannels == 2]
-        [sw->info.sign]
-        [sw->info.swap_endianness]
-        [audio_bits_to_index (sw->info.bits)];
-
-    sw->name = qemu_strdup (name);
-    err = glue (audio_pcm_sw_alloc_resources_, TYPE) (sw);
-    if (err) {
-        qemu_strfree (sw->name);
-        sw->name = NULL;
-    }
-    return err;
-}
-
-static void glue (audio_pcm_sw_fini_, TYPE) (SW *sw)
-{
-    glue (audio_pcm_sw_free_resources_, TYPE) (sw);
-    if (sw->name) {
-        qemu_strfree (sw->name);
-        sw->name = NULL;
-    }
-}
-
-static void glue (audio_pcm_hw_add_sw_, TYPE) (HW *hw, SW *sw)
-{
-    LIST_INSERT_HEAD (&hw->sw_head, sw, entries);
-}
-
-static void glue (audio_pcm_hw_del_sw_, TYPE) (SW *sw)
-{
-    LIST_REMOVE (sw, entries);
-}
-
-static void glue (audio_pcm_hw_gc_, TYPE) (AudioState *s, HW **hwp)
-{
-    HW *hw = *hwp;
-
-    if (!hw->sw_head.lh_first) {
-#ifdef DAC
-        audio_detach_capture (hw);
-#endif
-        LIST_REMOVE (hw, entries);
-        glue (s->nb_hw_voices_, TYPE) += 1;
-        glue (audio_pcm_hw_free_resources_ ,TYPE) (hw);
-        glue (hw->pcm_ops->fini_, TYPE) (hw);
-        qemu_free (hw);
-        *hwp = NULL;
-    }
-}
-
-static HW *glue (audio_pcm_hw_find_any_, TYPE) (AudioState *s, HW *hw)
-{
-    return hw ? hw->entries.le_next : s->glue (hw_head_, TYPE).lh_first;
-}
-
-static HW *glue (audio_pcm_hw_find_any_enabled_, TYPE) (AudioState *s, HW *hw)
-{
-    while ((hw = glue (audio_pcm_hw_find_any_, TYPE) (s, hw))) {
-        if (hw->enabled) {
-            return hw;
-        }
-    }
-    return NULL;
-}
-
-static HW *glue (audio_pcm_hw_find_specific_, TYPE) (
-    AudioState *s,
-    HW *hw,
-    audsettings_t *as
-    )
-{
-    while ((hw = glue (audio_pcm_hw_find_any_, TYPE) (s, hw))) {
-        if (audio_pcm_info_eq (&hw->info, as)) {
-            return hw;
-        }
-    }
-    return NULL;
-}
-
-static HW *glue (audio_pcm_hw_add_new_, TYPE) (AudioState *s, audsettings_t *as)
-{
-    HW *hw;
-    struct audio_driver *drv = s->drv;
-
-    if (!glue (s->nb_hw_voices_, TYPE)) {
-        return NULL;
-    }
-
-    if (audio_bug (AUDIO_FUNC, !drv)) {
-        dolog ("No host audio driver\n");
-        return NULL;
-    }
-
-    if (audio_bug (AUDIO_FUNC, !drv->pcm_ops)) {
-        dolog ("Host audio driver without pcm_ops\n");
-        return NULL;
-    }
-
-    hw = audio_calloc (AUDIO_FUNC, 1, glue (drv->voice_size_, TYPE));
-    if (!hw) {
-        dolog ("Can not allocate voice `%s' size %d\n",
-               drv->name, glue (drv->voice_size_, TYPE));
-        return NULL;
-    }
-
-    hw->pcm_ops = drv->pcm_ops;
-    LIST_INIT (&hw->sw_head);
-
-#ifdef DAC
-    LIST_INIT (&hw->cap_head);
-#endif
-    if (glue (hw->pcm_ops->init_, TYPE) (hw, as)) {
-        goto err0;
-    }
-
-    if (audio_bug (AUDIO_FUNC, hw->samples <= 0)) {
-        dolog ("hw->samples=%d\n", hw->samples);
-        goto err1;
-    }
-
-#ifdef DAC
-    hw->clip = mixeng_clip
-#else
-    hw->conv = mixeng_conv
-#endif
-        [hw->info.nchannels == 2]
-        [hw->info.sign]
-        [hw->info.swap_endianness]
-        [audio_bits_to_index (hw->info.bits)];
-
-    if (glue (audio_pcm_hw_alloc_resources_, TYPE) (hw)) {
-        goto err1;
-    }
-
-    LIST_INSERT_HEAD (&s->glue (hw_head_, TYPE), hw, entries);
-    glue (s->nb_hw_voices_, TYPE) -= 1;
-#ifdef DAC
-    audio_attach_capture (s, hw);
-#endif
-    return hw;
-
- err1:
-    glue (hw->pcm_ops->fini_, TYPE) (hw);
- err0:
-    qemu_free (hw);
-    return NULL;
-}
-
-static HW *glue (audio_pcm_hw_add_, TYPE) (AudioState *s, audsettings_t *as)
-{
-    HW *hw;
-
-    if (glue (conf.fixed_, TYPE).enabled && glue (conf.fixed_, TYPE).greedy) {
-        hw = glue (audio_pcm_hw_add_new_, TYPE) (s, as);
-        if (hw) {
-            return hw;
-        }
-    }
-
-    hw = glue (audio_pcm_hw_find_specific_, TYPE) (s, NULL, as);
-    if (hw) {
-        return hw;
-    }
-
-    hw = glue (audio_pcm_hw_add_new_, TYPE) (s, as);
-    if (hw) {
-        return hw;
-    }
-
-    return glue (audio_pcm_hw_find_any_, TYPE) (s, NULL);
-}
-
-static SW *glue (audio_pcm_create_voice_pair_, TYPE) (
-    AudioState *s,
-    const char *sw_name,
-    audsettings_t *as
-    )
-{
-    SW *sw;
-    HW *hw;
-    audsettings_t hw_as;
-
-    if (glue (conf.fixed_, TYPE).enabled) {
-        hw_as = glue (conf.fixed_, TYPE).settings;
-    }
-    else {
-        hw_as = *as;
-    }
-
-    sw = audio_calloc (AUDIO_FUNC, 1, sizeof (*sw));
-    if (!sw) {
-        dolog ("Could not allocate soft voice `%s' (%zu bytes)\n",
-               sw_name ? sw_name : "unknown", sizeof (*sw));
-        goto err1;
-    }
-
-    hw = glue (audio_pcm_hw_add_, TYPE) (s, &hw_as);
-    if (!hw) {
-        goto err2;
-    }
-
-    glue (audio_pcm_hw_add_sw_, TYPE) (hw, sw);
-
-    if (glue (audio_pcm_sw_init_, TYPE) (sw, hw, sw_name, as)) {
-        goto err3;
-    }
-
-    return sw;
-
-err3:
-    glue (audio_pcm_hw_del_sw_, TYPE) (sw);
-    glue (audio_pcm_hw_gc_, TYPE) (s, &hw);
-err2:
-    qemu_free (sw);
-err1:
-    return NULL;
-}
-
-static void glue (audio_close_, TYPE) (AudioState *s, SW *sw)
-{
-    glue (audio_pcm_sw_fini_, TYPE) (sw);
-    glue (audio_pcm_hw_del_sw_, TYPE) (sw);
-    glue (audio_pcm_hw_gc_, TYPE) (s, &sw->hw);
-    qemu_free (sw);
-}
-
-void glue (AUD_close_, TYPE) (QEMUSoundCard *card, SW *sw)
-{
-    if (sw) {
-        if (audio_bug (AUDIO_FUNC, !card || !card->audio)) {
-            dolog ("card=%p card->audio=%p\n",
-                   (void *) card, card ? (void *) card->audio : NULL);
-            return;
-        }
-
-        glue (audio_close_, TYPE) (card->audio, sw);
-    }
-}
-
-SW *glue (AUD_open_, TYPE) (
-    QEMUSoundCard *card,
-    SW *sw,
-    const char *name,
-    void *callback_opaque ,
-    audio_callback_fn_t callback_fn,
-    audsettings_t *as
-    )
-{
-    AudioState *s;
-#ifdef DAC
-    int live = 0;
-    SW *old_sw = NULL;
-#endif
-
-    ldebug ("open %s, freq %d, nchannels %d, fmt %d\n",
-            name, as->freq, as->nchannels, as->fmt);
-
-    if (audio_bug (AUDIO_FUNC,
-                   !card || !card->audio || !name || !callback_fn || !as)) {
-        dolog ("card=%p card->audio=%p name=%p callback_fn=%p as=%p\n",
-               (void *) card, card ? (void *) card->audio : NULL,
-               name,
-               (void *)(uintptr_t) callback_fn,
-               (void *) as);
-        goto fail;
-    }
-
-    s = card->audio;
-
-    if (audio_bug (AUDIO_FUNC, audio_validate_settings (as))) {
-        audio_print_settings (as);
-        goto fail;
-    }
-
-    if (audio_bug (AUDIO_FUNC, !s->drv)) {
-        dolog ("Can not open `%s' (no host audio driver)\n", name);
-        goto fail;
-    }
-
-    if (sw && audio_pcm_info_eq (&sw->info, as)) {
-        return sw;
-    }
-
-#ifdef DAC
-    if (conf.plive && sw && (!sw->active && !sw->empty)) {
-        live = sw->total_hw_samples_mixed;
-
-#ifdef DEBUG_PLIVE
-        dolog ("Replacing voice %s with %d live samples\n", SW_NAME (sw), live);
-        dolog ("Old %s freq %d, bits %d, channels %d\n",
-               SW_NAME (sw), sw->info.freq, sw->info.bits, sw->info.nchannels);
-        dolog ("New %s freq %d, bits %d, channels %d\n",
-               name,
-               freq,
-               (fmt == AUD_FMT_S16 || fmt == AUD_FMT_U16) ? 16 : 8,
-               nchannels);
-#endif
-
-        if (live) {
-            old_sw = sw;
-            old_sw->callback.fn = NULL;
-            sw = NULL;
-        }
-    }
-#endif
-
-    if (!glue (conf.fixed_, TYPE).enabled && sw) {
-        glue (AUD_close_, TYPE) (card, sw);
-        sw = NULL;
-    }
-
-    if (sw) {
-        HW *hw = sw->hw;
-
-        if (!hw) {
-            dolog ("Internal logic error voice `%s' has no hardware store\n",
-                   SW_NAME (sw));
-            goto fail;
-        }
-
-        glue (audio_pcm_sw_fini_, TYPE) (sw);
-        if (glue (audio_pcm_sw_init_, TYPE) (sw, hw, name, as)) {
-            goto fail;
-        }
-    }
-    else {
-        sw = glue (audio_pcm_create_voice_pair_, TYPE) (s, name, as);
-        if (!sw) {
-            dolog ("Failed to create voice `%s'\n", name);
-            return NULL;
-        }
-    }
-
-    if (sw) {
-        sw->vol = nominal_volume;
-        sw->callback.fn = callback_fn;
-        sw->callback.opaque = callback_opaque;
-
-#ifdef DAC
-        if (live) {
-            int mixed =
-                (live << old_sw->info.shift)
-                * old_sw->info.bytes_per_second
-                / sw->info.bytes_per_second;
-
-#ifdef DEBUG_PLIVE
-            dolog ("Silence will be mixed %d\n", mixed);
-#endif
-            sw->total_hw_samples_mixed += mixed;
-        }
-#endif
-
-#ifdef DEBUG_AUDIO
-        dolog ("%s\n", name);
-        audio_pcm_print_info ("hw", &sw->hw->info);
-        audio_pcm_print_info ("sw", &sw->info);
-#endif
-    }
-
-    return sw;
-
- fail:
-    glue (AUD_close_, TYPE) (card, sw);
-    return NULL;
-}
-
-int glue (AUD_is_active_, TYPE) (SW *sw)
-{
-    return sw ? sw->active : 0;
-}
-
-void glue (AUD_init_time_stamp_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts)
-{
-    if (!sw) {
-        return;
-    }
-
-    ts->old_ts = sw->hw->ts_helper;
-}
-
-uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts)
-{
-    uint64_t delta, cur_ts, old_ts;
-
-    if (!sw) {
-        return 0;
-    }
-
-    cur_ts = sw->hw->ts_helper;
-    old_ts = ts->old_ts;
-    /* dolog ("cur %lld old %lld\n", cur_ts, old_ts); */
-
-    if (cur_ts >= old_ts) {
-        delta = cur_ts - old_ts;
-    }
-    else {
-        delta = UINT64_MAX - old_ts + cur_ts;
-    }
-
-    if (!delta) {
-        return 0;
-    }
-
-    return (delta * sw->hw->info.freq) / 1000000;
-}
-
-#undef TYPE
-#undef HW
-#undef SW
-#undef HWBUF
-#undef NAME
diff --git a/src/VBox/Devices/Audio/audiosniffer.c b/src/VBox/Devices/Audio/audiosniffer.c
deleted file mode 100644
index 9f9bc31..0000000
--- a/src/VBox/Devices/Audio/audiosniffer.c
+++ /dev/null
@@ -1,679 +0,0 @@
-/* $Id: audiosniffer.c $ */
-/** @file
- * VBox audio device: Audio sniffer device
- */
-
-/*
- * Copyright (C) 2006-2011 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#define AUDIO_CAP "sniffer"
-#include <VBox/vmm/pdm.h>
-#include <VBox/err.h>
-
-#include <VBox/log.h>
-#include <iprt/asm.h>
-#include <iprt/assert.h>
-#include <iprt/uuid.h>
-#include <iprt/string.h>
-#include <iprt/alloc.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-
-#include "audio.h"
-#include "audio_int.h"
-
-typedef struct _AUDIOSNIFFERSTATE
-{
-    /** If the device is enabled. */
-    bool fEnabled;
-
-    /** Whether audio should reach the host driver too. */
-    bool fKeepHostAudio;
-
-    /** Whether audio input operations should be forwarded to the connector. */
-    bool fInterceptAudioInput;
-
-    /** Pointer to device instance. */
-    PPDMDEVINS                   pDevIns;
-
-    /** Audio Sniffer port base interface. */
-    PDMIBASE                     IBase;
-    /** Audio Sniffer port interface. */
-    PDMIAUDIOSNIFFERPORT         IPort;
-
-    /** Pointer to base interface of the driver. */
-    PPDMIBASE                    pDrvBase;
-    /** Audio Sniffer connector interface */
-    PPDMIAUDIOSNIFFERCONNECTOR   pDrv;
-
-} AUDIOSNIFFERSTATE;
-
-static AUDIOSNIFFERSTATE *g_pData = NULL;
-
-/*
- * Public sniffer callbacks to be called from audio driver.
- */
-
-/* *** Subject to change ***
- * Process audio output. The function is called when an audio output
- * driver is about to play audio samples.
- *
- * It is expected that there is only one audio data flow,
- * i.e. one voice.
- *
- * @param hw           Audio samples information.
- * @param pvSamples    Pointer to audio samples.
- * @param cSamples     Number of audio samples in the buffer.
- * @returns     'true' if audio also to be played back by the output driver.
- *              'false' if audio should not be played.
- */
-DECLCALLBACK(bool) sniffer_run_out (HWVoiceOut *hw, void *pvSamples, unsigned cSamples)
-{
-    int  samplesPerSec;
-    int  nChannels;
-    int  bitsPerSample;
-    bool fUnsigned;
-
-    if (!g_pData || !g_pData->pDrv || !g_pData->fEnabled)
-    {
-        return true;
-    }
-
-    samplesPerSec = hw->info.freq;
-    nChannels     = hw->info.nchannels;
-    bitsPerSample = hw->info.bits;
-    fUnsigned     = (hw->info.sign == 0);
-
-    g_pData->pDrv->pfnAudioSamplesOut (g_pData->pDrv, pvSamples, cSamples,
-                                       samplesPerSec, nChannels, bitsPerSample, fUnsigned);
-
-    return g_pData->fKeepHostAudio;
-}
-
-
-/*
- * Filter interface.
- */
-
-/* Internal audio input context, which makes sure that:
- *   - the filter audio input callback is not called after the filter has issued filter_input_end;
- *   - maintains internal information and state of the audio stream.
- */
-typedef struct SnifferInputCtx
-{
-    /* Whether the context is still in use by the filter or I'll check. */
-    int32_t volatile cRefs;
-
-    /* The filter callback for incoming audio data. */
-    PFNAUDIOINPUTCALLBACK pfnFilterCallback;
-    void *pvFilterCallback;
-
-    /* Whether the stream has been ended by the filter. */
-    bool fEndedByFilter;
-
-    /* Context pointer returned by pfnAudioInputBegin. */
-    void *pvUserCtx;
-
-    /* Audio format used for recording. */
-    HWVoiceIn *phw;
-
-    /* Number of bytes per frame (bitsPerSample * channels) of the actual input format. */
-    uint32_t cBytesPerFrame;
-
-    /* Frequency of the actual audio format. */
-    int iFreq;
-
-    /* Convertion from the actual input format to st_sample_t. */
-    t_sample *conv;
-
-    /* If the actual format frequence differs from the requested format, this is not NULL. */
-    void *rate;
-
-    /* Temporary buffer for st_sample_t representation of the input audio data. */
-    void *pvSamplesBuffer;
-    uint32_t cbSamplesBufferAllocated;
-
-    /* Temporary buffer for frequency conversion. */
-    void *pvRateBuffer;
-    uint32_t cbRateBufferAllocated;
-
-} SnifferInputCtx;
-
-static void ictxDelete(SnifferInputCtx *pCtx)
-{
-    /* The caller will not use this context anymore. */
-    if (pCtx->rate)
-    {
-        st_rate_stop (pCtx->rate);
-    }
-
-    RTMemFree(pCtx->pvSamplesBuffer);
-    RTMemFree(pCtx->pvRateBuffer);
-
-    memset(pCtx, 0, sizeof(*pCtx));
-    RTMemFree(pCtx);
-}
-
-static void ictxReallocSamplesBuffer(SnifferInputCtx *pCtx, uint32_t cs)
-{
-    uint32_t cbBuffer = cs * sizeof(st_sample_t);
-
-    if (cbBuffer > pCtx->cbSamplesBufferAllocated)
-    {
-        RTMemFree(pCtx->pvSamplesBuffer);
-
-        pCtx->pvSamplesBuffer = RTMemAlloc(cbBuffer);
-        if (pCtx->pvSamplesBuffer)
-        {
-            pCtx->cbSamplesBufferAllocated = cbBuffer;
-        }
-        else
-        {
-            pCtx->cbSamplesBufferAllocated = 0;
-        }
-    }
-}
-
-static void ictxReallocRateBuffer(SnifferInputCtx *pCtx, uint32_t cs)
-{
-    uint32_t cbBuffer = cs * sizeof(st_sample_t);
-
-    if (cbBuffer > pCtx->cbRateBufferAllocated)
-    {
-        RTMemFree(pCtx->pvRateBuffer);
-
-        pCtx->pvRateBuffer = RTMemAlloc(cbBuffer);
-        if (pCtx->pvRateBuffer)
-        {
-            pCtx->cbRateBufferAllocated = cbBuffer;
-        }
-        else
-        {
-            pCtx->cbRateBufferAllocated = 0;
-        }
-    }
-}
-
-
-/*
- * Filter audio output.
- */
-
-/* Whether the filter should intercept audio output. */
-int filter_output_intercepted(void)
-{
-    return 0; /* @todo Not implemented yet.*/
-}
-
-/* Filter informs that an audio output is starting. */
-int filter_output_begin(void **ppvOutputCtx, struct audio_pcm_info *pinfo, int samples)
-{
-    return VERR_NOT_SUPPORTED; /* @todo Not implemented yet.*/
-}
-
-/* Filter informs that the audio output has been stopped. */
-void filter_output_end(void *pvOutputCtx)
-{
-    return; /* @todo Not implemented yet.*/
-}
-
-/*
- * Filter audio input.
- */
-
-/* Whether the filter should intercept audio input. */
-int filter_input_intercepted(void)
-{
-    if (!g_pData || !g_pData->pDrv)
-    {
-        return 0;
-    }
-
-    return g_pData->fInterceptAudioInput;
-}
-
-/* Filter informs that an audio input is starting. */
-int filter_input_begin (void **ppvInputCtx, PFNAUDIOINPUTCALLBACK pfnCallback, void *pvCallback, HWVoiceIn *phw, int cSamples)
-{
-    int rc = VINF_SUCCESS;
-
-    SnifferInputCtx *pCtx = NULL;
-
-    if (!g_pData || !g_pData->pDrv)
-    {
-        return VERR_NOT_SUPPORTED;
-    }
-
-    pCtx = (SnifferInputCtx *)RTMemAlloc(sizeof(SnifferInputCtx));
-
-    if (!pCtx)
-    {
-        return VERR_NO_MEMORY;
-    }
-
-    pCtx->cRefs = 2; /* Context is used by both the filter and the user. */
-    pCtx->pfnFilterCallback = pfnCallback;
-    pCtx->pvFilterCallback = pvCallback;
-    pCtx->fEndedByFilter = false;
-    pCtx->pvUserCtx = NULL;
-    pCtx->phw = phw;
-    pCtx->cBytesPerFrame = 1;
-    pCtx->iFreq = 0;
-    pCtx->conv = NULL;
-    pCtx->rate = NULL;
-    pCtx->pvSamplesBuffer = NULL;
-    pCtx->cbSamplesBufferAllocated = 0;
-    pCtx->pvRateBuffer = NULL;
-    pCtx->cbRateBufferAllocated = 0;
-
-    rc = g_pData->pDrv->pfnAudioInputBegin (g_pData->pDrv,
-                                            &pCtx->pvUserCtx,      /* Returned by the pDrv. */
-                                            pCtx,
-                                            cSamples,              /* How many samples in one block is preferred. */
-                                            phw->info.freq,        /* Required frequency. */
-                                            phw->info.nchannels,   /* Number of audio channels. */
-                                            phw->info.bits);       /* A sample size in one channel, samples are signed. */
-
-    if (RT_SUCCESS(rc))
-    {
-        *ppvInputCtx = pCtx;
-    }
-    else
-    {
-        RTMemFree(pCtx);
-    }
-
-    Log(("input_begin rc = %Rrc\n", rc));
-
-    return rc;
-}
-
-/* Filter informs that the audio input must be stopped. */
-void filter_input_end(void *pvCtx)
-{
-    int32_t c;
-
-    SnifferInputCtx *pCtx = (SnifferInputCtx *)pvCtx;
-
-    void *pvUserCtx = pCtx->pvUserCtx;
-
-    pCtx->fEndedByFilter = true;
-
-    c = ASMAtomicDecS32(&pCtx->cRefs);
-
-    if (c == 0)
-    {
-        ictxDelete(pCtx);
-        pCtx = NULL;
-    }
-
-    if (!g_pData || !g_pData->pDrv)
-    {
-        AssertFailed();
-        return;
-    }
-
-    g_pData->pDrv->pfnAudioInputEnd (g_pData->pDrv,
-                                     pvUserCtx);
-
-    Log(("input_end\n"));
-}
-
-
-/*
- * Audio PDM device.
- */
-static DECLCALLBACK(int) iface_AudioInputIntercept (PPDMIAUDIOSNIFFERPORT pInterface, bool fIntercept)
-{
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IPort);
-
-    Assert(g_pData == pThis);
-
-    pThis->fInterceptAudioInput = fIntercept;
-
-    return VINF_SUCCESS;
-}
-
-static DECLCALLBACK(int) iface_AudioInputEventBegin (PPDMIAUDIOSNIFFERPORT pInterface,
-                                                     void *pvContext,
-                                                     int iSampleHz,
-                                                     int cChannels,
-                                                     int cBits,
-                                                     bool fUnsigned)
-{
-    int bitIdx;
-
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IPort);
-
-    int rc = VINF_SUCCESS;
-
-    SnifferInputCtx *pCtx = (SnifferInputCtx *)pvContext;
-
-    Log(("FilterAudio: AudioInputEventBegin: %dHz,%dch,%dbits,%d ended %d\n",
-         iSampleHz, cChannels, cBits, fUnsigned, pCtx->fEndedByFilter));
-
-    Assert(g_pData == pThis);
-
-    /* Prepare a format convertion for the actually used format. */
-    pCtx->cBytesPerFrame = ((cBits + 7) / 8) * cChannels;
-
-    if (cBits == 16)
-    {
-        bitIdx = 1;
-    }
-    else if (cBits == 32)
-    {
-        bitIdx = 2;
-    }
-    else
-    {
-        bitIdx = 0;
-    }
-
-    pCtx->conv = mixeng_conv[(cChannels == 2)? 1: 0] /* stereo */
-                            [!fUnsigned]             /* sign */
-                            [0]                      /* big endian */
-                            [bitIdx];                /* bits */
-
-    if (iSampleHz && iSampleHz != pCtx->phw->info.freq)
-    {
-        pCtx->rate = st_rate_start (iSampleHz, pCtx->phw->info.freq);
-        pCtx->iFreq = iSampleHz;
-    }
-
-    return rc;
-}
-
-static DECLCALLBACK(int) iface_AudioInputEventData (PPDMIAUDIOSNIFFERPORT pInterface,
-                                                    void *pvContext,
-                                                    const void *pvData,
-                                                    uint32_t cbData)
-{
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IPort);
-
-    int rc = VINF_SUCCESS;
-
-    SnifferInputCtx *pCtx = (SnifferInputCtx *)pvContext;
-
-    Log(("FilterAudio: AudioInputEventData: pvData %p. cbData %d, ended %d\n", pvData, cbData, pCtx->fEndedByFilter));
-
-    Assert(g_pData == pThis);
-
-    if (   !pCtx->fEndedByFilter
-        && pCtx->conv)
-    {
-        /* Convert PCM samples to st_sample_t.
-         * And then apply rate conversion if necessary.
-         */
-
-        /* Optimization: allocate 'ps' buffer once per context and reallocate if cbData changes.
-         * Usually size of packets is constant.
-         */
-        st_sample_t *ps;
-        uint32_t cs = cbData / pCtx->cBytesPerFrame; /* How many samples. */
-
-        ictxReallocSamplesBuffer(pCtx, cs);
-
-        ps = (st_sample_t *)pCtx->pvSamplesBuffer;
-        if (ps)
-        {
-            void *pvSamples = NULL;
-            uint32_t cbSamples = 0;
-
-            Assert(pCtx->cbSamplesBufferAllocated >= cs * sizeof(st_sample_t));
-
-            pCtx->conv(ps, pvData, cs, &nominal_volume);
-
-            if (pCtx->rate)
-            {
-                st_sample_t *psConverted;
-                uint32_t csConverted = (cs * pCtx->phw->info.freq) / pCtx->iFreq;
-
-                ictxReallocRateBuffer(pCtx, csConverted);
-
-                psConverted = (st_sample_t *)pCtx->pvRateBuffer;
-                if (psConverted)
-                {
-                    int csSrc = cs;
-                    int csDst = csConverted;
-
-                    Assert(pCtx->cbRateBufferAllocated >= csConverted * sizeof(st_sample_t));
-
-                    st_rate_flow (pCtx->rate,
-                                  ps, psConverted,
-                                  &csSrc, &csDst);
-
-                    pvSamples = psConverted;
-                    cbSamples = csDst * sizeof(st_sample_t); /* Use csDst as it may be != csConverted */
-                }
-                else
-                {
-                    rc = VERR_NO_MEMORY;
-                }
-            }
-            else
-            {
-                pvSamples = ps;
-                cbSamples = cs * sizeof(st_sample_t);
-            }
-
-            if (cbSamples)
-            {
-                rc = pCtx->pfnFilterCallback(pCtx->pvFilterCallback, cbSamples, pvSamples);
-            }
-        }
-        else
-        {
-            rc = VERR_NO_MEMORY;
-        }
-    }
-
-    return rc;
-}
-
-static DECLCALLBACK(void) iface_AudioInputEventEnd (PPDMIAUDIOSNIFFERPORT pInterface,
-                                                    void *pvContext)
-{
-    int32_t c;
-
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IPort);
-
-    SnifferInputCtx *pCtx = (SnifferInputCtx *)pvContext;
-
-    Log(("FilterAudio: AudioInputEventEnd: ended %d\n", pCtx->fEndedByFilter));
-
-    Assert(g_pData == pThis);
-
-    c = ASMAtomicDecS32(&pCtx->cRefs);
-
-    if (c == 0)
-    {
-        ictxDelete(pCtx);
-        pCtx = NULL;
-    }
-}
-
-static DECLCALLBACK(int) iface_Setup (PPDMIAUDIOSNIFFERPORT pInterface, bool fEnable, bool fKeepHostAudio)
-{
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IPort);
-
-    Assert(g_pData == pThis);
-
-    pThis->fEnabled = fEnable;
-    pThis->fKeepHostAudio = fKeepHostAudio;
-
-    return VINF_SUCCESS;
-}
-
-/**
- * @interface_method_impl{PDMIBASE,pfnQueryInterface}
- */
-static DECLCALLBACK(void *) iface_QueryInterface(PPDMIBASE pInterface, const char *pszIID)
-{
-    AUDIOSNIFFERSTATE *pThis = RT_FROM_MEMBER(pInterface, AUDIOSNIFFERSTATE, IBase);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBASE, &pThis->IBase);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIAUDIOSNIFFERPORT, &pThis->IPort);
-    return NULL;
-}
-
-/**
- * Destruct a device instance.
- *
- * Most VM resources are freed by the VM. This callback is provided so that any non-VM
- * resources can be freed correctly.
- *
- * @returns VBox status.
- * @param   pDevIns     The device instance data.
- */
-static DECLCALLBACK(int) audioSnifferR3Destruct(PPDMDEVINS pDevIns)
-{
-    PDMDEV_CHECK_VERSIONS_RETURN_QUIET(pDevIns);
-
-    /* Zero the global pointer. */
-    g_pData = NULL;
-
-    return VINF_SUCCESS;
-}
-
-/**
- * @interface_method_impl{PDMDEVREG,pfnConstruct}
- */
-static DECLCALLBACK(int) audioSnifferR3Construct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfgHandle)
-{
-    int                rc    = VINF_SUCCESS;
-    AUDIOSNIFFERSTATE *pThis = PDMINS_2_DATA(pDevIns, AUDIOSNIFFERSTATE *);
-
-    Assert(iInstance == 0);
-    PDMDEV_CHECK_VERSIONS_RETURN(pDevIns);
-
-    /*
-     * Validate configuration.
-     */
-    if (!CFGMR3AreValuesValid(pCfgHandle, "InterceptAudioInput\0"))
-    {
-        return VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES;
-    }
-
-    /*
-     * Initialize data.
-     */
-    pThis->fEnabled = false;
-    pThis->fKeepHostAudio = true;
-    pThis->pDrv = NULL;
-    rc = CFGMR3QueryBoolDef(pCfgHandle, "InterceptAudioInput", &pThis->fInterceptAudioInput, false);
-    if (RT_FAILURE(rc))
-        return PDMDEV_SET_ERROR(pDevIns, rc,
-                                N_("Configuration error: Failed to get the \"YieldOnLSRRead\" value"));
-
-    /*
-     * Interfaces
-     */
-    /* Base */
-    pThis->IBase.pfnQueryInterface = iface_QueryInterface;
-
-    /* Audio Sniffer port */
-    pThis->IPort.pfnSetup = iface_Setup;
-    pThis->IPort.pfnAudioInputIntercept = iface_AudioInputIntercept;
-    pThis->IPort.pfnAudioInputEventBegin = iface_AudioInputEventBegin;
-    pThis->IPort.pfnAudioInputEventData = iface_AudioInputEventData;
-    pThis->IPort.pfnAudioInputEventEnd = iface_AudioInputEventEnd;
-
-    /*
-     * Get the corresponding connector interface
-     */
-    rc = PDMDevHlpDriverAttach(pDevIns, 0, &pThis->IBase, &pThis->pDrvBase, "Audio Sniffer Port");
-
-    if (RT_SUCCESS(rc))
-    {
-        pThis->pDrv = PDMIBASE_QUERY_INTERFACE(pThis->pDrvBase, PDMIAUDIOSNIFFERCONNECTOR);
-        AssertMsgStmt(pThis->pDrv, ("LUN #0 doesn't have a Audio Sniffer connector interface rc=%Rrc\n", rc),
-                      rc = VERR_PDM_MISSING_INTERFACE);
-    }
-    else if (rc == VERR_PDM_NO_ATTACHED_DRIVER)
-    {
-        Log(("%s/%d: warning: no driver attached to LUN #0.\n", pDevIns->pReg->szName, pDevIns->iInstance));
-        rc = VINF_SUCCESS;
-    }
-    else
-    {
-        AssertMsgFailed(("Failed to attach LUN #0. rc=%Rrc\n", rc));
-    }
-
-    if (RT_SUCCESS (rc))
-    {
-        /* Save PDM device instance data for future reference. */
-        pThis->pDevIns = pDevIns;
-
-        /* Save the pointer to created instance in the global variable, so other
-         * functions could reach it.
-         */
-        g_pData = pThis;
-    }
-
-    return rc;
-}
-
-/**
- * The Audio Sniffer device registration structure.
- */
-const PDMDEVREG g_DeviceAudioSniffer =
-{
-    /* u32Version */
-    PDM_DEVREG_VERSION,
-    /* szName */
-    "AudioSniffer",
-    /* szRCMod */
-    "",
-    /* szR0Mod */
-    "",
-    /* pszDescription */
-    "Audio Sniffer device. Redirects audio data to sniffer driver.",
-    /* fFlags */
-    PDM_DEVREG_FLAGS_DEFAULT_BITS,
-    /* fClass */
-    PDM_DEVREG_CLASS_AUDIO,
-    /* cMaxInstances */
-    1,
-    /* cbInstance */
-    sizeof(AUDIOSNIFFERSTATE),
-    /* pfnConstruct */
-    audioSnifferR3Construct,
-    /* pfnDestruct */
-    audioSnifferR3Destruct,
-    /* pfnRelocate */
-    NULL,
-    /* pfnMemSetup */
-    NULL,
-    /* pfnPowerOn */
-    NULL,
-    /* pfnReset */
-    NULL,
-    /* pfnSuspend */
-    NULL,
-    /* pfnResume */
-    NULL,
-    /* pfnAttach */
-    NULL,
-    /* pfnDetach */
-    NULL,
-    /* pfnQueryInterface */
-    NULL,
-    /* pfnInitComplete */
-    NULL,
-    /* pfnPowerOff */
-    NULL,
-    /* pfnSoftReset */
-    NULL,
-    PDM_DEVREG_VERSION
-};
diff --git a/src/VBox/Devices/Audio/coreaudio.c b/src/VBox/Devices/Audio/coreaudio.c
deleted file mode 100644
index 9cd2434..0000000
--- a/src/VBox/Devices/Audio/coreaudio.c
+++ /dev/null
@@ -1,2179 +0,0 @@
-/* $Id: coreaudio.c $ */
-/** @file
- * VBox audio devices: Mac OS X CoreAudio audio driver
- */
-
-/*
- * Copyright (C) 2010-2012 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#include <iprt/asm.h>
-#include <iprt/mem.h>
-#include <iprt/cdefs.h>
-
-#define AUDIO_CAP "coreaudio"
-#include "vl_vbox.h"
-#include "audio.h"
-#include "audio_int.h"
-
-#include <CoreAudio/CoreAudio.h>
-#include <CoreServices/CoreServices.h>
-#include <AudioUnit/AudioUnit.h>
-#include <AudioToolbox/AudioConverter.h>
-
-/* todo:
- * - maybe make sure the threads are immediately stopped if playing/recording stops
- */
-
-/* Most of this is based on:
- * http://developer.apple.com/mac/library/technotes/tn2004/tn2097.html
- * http://developer.apple.com/mac/library/technotes/tn2002/tn2091.html
- * http://developer.apple.com/mac/library/qa/qa2007/qa1533.html
- * http://developer.apple.com/mac/library/qa/qa2001/qa1317.html
- * http://developer.apple.com/mac/library/documentation/AudioUnit/Reference/AUComponentServicesReference/Reference/reference.html
- */
-
-/*#define CA_EXTENSIVE_LOGGING*/
-
-/*******************************************************************************
- *
- * IO Ring Buffer section
- *
- ******************************************************************************/
-
-/* Implementation of a lock free ring buffer which could be used in a multi
- * threaded environment. Note that only the acquire, release and getter
- * functions are threading aware. So don't use reset if the ring buffer is
- * still in use. */
-typedef struct IORINGBUFFER
-{
-    /* The current read position in the buffer */
-    uint32_t uReadPos;
-    /* The current write position in the buffer */
-    uint32_t uWritePos;
-    /* How much space of the buffer is currently in use */
-    volatile uint32_t cBufferUsed;
-    /* How big is the buffer */
-    uint32_t cBufSize;
-    /* The buffer itself */
-    char *pBuffer;
-} IORINGBUFFER;
-/* Pointer to an ring buffer structure */
-typedef IORINGBUFFER* PIORINGBUFFER;
-
-
-static void IORingBufferCreate(PIORINGBUFFER *ppBuffer, uint32_t cSize)
-{
-    PIORINGBUFFER pTmpBuffer;
-
-    AssertPtr(ppBuffer);
-
-    *ppBuffer = NULL;
-    pTmpBuffer = RTMemAllocZ(sizeof(IORINGBUFFER));
-    if (pTmpBuffer)
-    {
-        pTmpBuffer->pBuffer = RTMemAlloc(cSize);
-        if(pTmpBuffer->pBuffer)
-        {
-            pTmpBuffer->cBufSize = cSize;
-            *ppBuffer = pTmpBuffer;
-        }
-        else
-            RTMemFree(pTmpBuffer);
-    }
-}
-
-static void IORingBufferDestroy(PIORINGBUFFER pBuffer)
-{
-    if (pBuffer)
-    {
-        if (pBuffer->pBuffer)
-            RTMemFree(pBuffer->pBuffer);
-        RTMemFree(pBuffer);
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReset(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-
-    pBuffer->uReadPos = 0;
-    pBuffer->uWritePos = 0;
-    pBuffer->cBufferUsed = 0;
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferFree(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return pBuffer->cBufSize - ASMAtomicReadU32(&pBuffer->cBufferUsed);
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferUsed(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return ASMAtomicReadU32(&pBuffer->cBufferUsed);
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferSize(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return pBuffer->cBufSize;
-}
-
-static void IORingBufferAquireReadBlock(PIORINGBUFFER pBuffer, uint32_t cReqSize, char **ppStart, uint32_t *pcSize)
-{
-    uint32_t uUsed = 0;
-    uint32_t uSize = 0;
-
-    AssertPtr(pBuffer);
-
-    *ppStart = 0;
-    *pcSize = 0;
-
-    /* How much is in use? */
-    uUsed = ASMAtomicReadU32(&pBuffer->cBufferUsed);
-    if (uUsed > 0)
-    {
-        /* Get the size out of the requested size, the read block till the end
-         * of the buffer & the currently used size. */
-        uSize = RT_MIN(cReqSize, RT_MIN(pBuffer->cBufSize - pBuffer->uReadPos, uUsed));
-        if (uSize > 0)
-        {
-            /* Return the pointer address which point to the current read
-             * position. */
-            *ppStart = pBuffer->pBuffer + pBuffer->uReadPos;
-            *pcSize = uSize;
-        }
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReleaseReadBlock(PIORINGBUFFER pBuffer, uint32_t cSize)
-{
-    AssertPtr(pBuffer);
-
-    /* Split at the end of the buffer. */
-    pBuffer->uReadPos = (pBuffer->uReadPos + cSize) % pBuffer->cBufSize;
-
-    ASMAtomicSubU32(&pBuffer->cBufferUsed, cSize);
-}
-
-static void IORingBufferAquireWriteBlock(PIORINGBUFFER pBuffer, uint32_t cReqSize, char **ppStart, uint32_t *pcSize)
-{
-    uint32_t uFree;
-    uint32_t uSize;
-
-    AssertPtr(pBuffer);
-
-    *ppStart = 0;
-    *pcSize = 0;
-
-    /* How much is free? */
-    uFree = pBuffer->cBufSize - ASMAtomicReadU32(&pBuffer->cBufferUsed);
-    if (uFree > 0)
-    {
-        /* Get the size out of the requested size, the write block till the end
-         * of the buffer & the currently free size. */
-        uSize = RT_MIN(cReqSize, RT_MIN(pBuffer->cBufSize - pBuffer->uWritePos, uFree));
-        if (uSize > 0)
-        {
-            /* Return the pointer address which point to the current write
-             * position. */
-            *ppStart = pBuffer->pBuffer + pBuffer->uWritePos;
-            *pcSize = uSize;
-        }
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReleaseWriteBlock(PIORINGBUFFER pBuffer, uint32_t cSize)
-{
-    AssertPtr(pBuffer);
-
-    /* Split at the end of the buffer. */
-    pBuffer->uWritePos = (pBuffer->uWritePos + cSize) % pBuffer->cBufSize;
-
-    ASMAtomicAddU32(&pBuffer->cBufferUsed, cSize);
-}
-
-/*******************************************************************************
- *
- * Helper function section
- *
- ******************************************************************************/
-
-#if DEBUG
-static void caDebugOutputAudioStreamBasicDescription(const char *pszDesc, const AudioStreamBasicDescription *pStreamDesc)
-{
-    char pszSampleRate[32];
-    Log(("%s AudioStreamBasicDescription:\n", pszDesc));
-    Log(("CoreAudio: Format ID: %RU32 (%c%c%c%c)\n", pStreamDesc->mFormatID, RT_BYTE4(pStreamDesc->mFormatID), RT_BYTE3(pStreamDesc->mFormatID), RT_BYTE2(pStreamDesc->mFormatID), RT_BYTE1(pStreamDesc->mFormatID)));
-    Log(("CoreAudio: Flags: %RU32", pStreamDesc->mFormatFlags));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsFloat)
-        Log((" Float"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsBigEndian)
-        Log((" BigEndian"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsSignedInteger)
-        Log((" SignedInteger"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsPacked)
-        Log((" Packed"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsAlignedHigh)
-        Log((" AlignedHigh"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsNonInterleaved)
-        Log((" NonInterleaved"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagIsNonMixable)
-        Log((" NonMixable"));
-    if (pStreamDesc->mFormatFlags & kAudioFormatFlagsAreAllClear)
-        Log((" AllClear"));
-    Log(("\n"));
-    snprintf(pszSampleRate, 32, "%.2f", (float)pStreamDesc->mSampleRate);
-    Log(("CoreAudio: SampleRate: %s\n", pszSampleRate));
-    Log(("CoreAudio: ChannelsPerFrame: %RU32\n", pStreamDesc->mChannelsPerFrame));
-    Log(("CoreAudio: FramesPerPacket: %RU32\n", pStreamDesc->mFramesPerPacket));
-    Log(("CoreAudio: BitsPerChannel: %RU32\n", pStreamDesc->mBitsPerChannel));
-    Log(("CoreAudio: BytesPerFrame: %RU32\n", pStreamDesc->mBytesPerFrame));
-    Log(("CoreAudio: BytesPerPacket: %RU32\n", pStreamDesc->mBytesPerPacket));
-}
-#endif /* DEBUG */
-
-static void caPCMInfoToAudioStreamBasicDescription(struct audio_pcm_info *pInfo, AudioStreamBasicDescription *pStreamDesc)
-{
-    pStreamDesc->mFormatID = kAudioFormatLinearPCM;
-    pStreamDesc->mFormatFlags = kAudioFormatFlagIsPacked;
-    pStreamDesc->mFramesPerPacket = 1;
-    pStreamDesc->mSampleRate = (Float64)pInfo->freq;
-    pStreamDesc->mChannelsPerFrame = pInfo->nchannels;
-    pStreamDesc->mBitsPerChannel = pInfo->bits;
-    if (pInfo->sign == 1)
-        pStreamDesc->mFormatFlags |= kAudioFormatFlagIsSignedInteger;
-    pStreamDesc->mBytesPerFrame = pStreamDesc->mChannelsPerFrame * (pStreamDesc->mBitsPerChannel / 8);
-    pStreamDesc->mBytesPerPacket = pStreamDesc->mFramesPerPacket * pStreamDesc->mBytesPerFrame;
-}
-
-static OSStatus caSetFrameBufferSize(AudioDeviceID device, bool fInput, UInt32 cReqSize, UInt32 *pcActSize)
-{
-    OSStatus err = noErr;
-    UInt32 cSize = 0;
-    AudioValueRange *pRange = NULL;
-    size_t a = 0;
-    Float64 cMin = -1;
-    Float64 cMax = -1;
-
-    /* First try to set the new frame buffer size. */
-    AudioDeviceSetProperty(device,
-                           NULL,
-                           0,
-                           fInput,
-                           kAudioDevicePropertyBufferFrameSize,
-                           sizeof(cReqSize),
-                           &cReqSize);
-    /* Check if it really was set. */
-    cSize = sizeof(*pcActSize);
-    err = AudioDeviceGetProperty(device,
-                                 0,
-                                 fInput,
-                                 kAudioDevicePropertyBufferFrameSize,
-                                 &cSize,
-                                 pcActSize);
-    if (RT_UNLIKELY(err != noErr))
-        return err;
-    /* If both sizes are the same, we are done. */
-    if (cReqSize == *pcActSize)
-        return noErr;
-    /* If not we have to check the limits of the device. First get the size of
-       the buffer size range property. */
-    err = AudioDeviceGetPropertyInfo(device,
-                                     0,
-                                     fInput,
-                                     kAudioDevicePropertyBufferSizeRange,
-                                     &cSize,
-                                     NULL);
-    if (RT_UNLIKELY(err != noErr))
-        return err;
-    pRange = RTMemAllocZ(cSize);
-    if (pRange)
-    {
-        err = AudioDeviceGetProperty(device,
-                                     0,
-                                     fInput,
-                                     kAudioDevicePropertyBufferSizeRange,
-                                     &cSize,
-                                     pRange);
-        if (RT_LIKELY(err == noErr))
-        {
-            for (a=0; a < cSize/sizeof(AudioValueRange); ++a)
-            {
-                /* Search for the absolute minimum. */
-                if (   pRange[a].mMinimum < cMin
-                    || cMin == -1)
-                    cMin = pRange[a].mMinimum;
-                /* Search for the best maximum which isn't bigger than
-                   cReqSize. */
-                if (pRange[a].mMaximum < cReqSize)
-                {
-                    if (pRange[a].mMaximum > cMax)
-                        cMax = pRange[a].mMaximum;
-                }
-            }
-            if (cMax == -1)
-                cMax = cMin;
-            cReqSize = cMax;
-            /* First try to set the new frame buffer size. */
-            AudioDeviceSetProperty(device,
-                                   NULL,
-                                   0,
-                                   fInput,
-                                   kAudioDevicePropertyBufferFrameSize,
-                                   sizeof(cReqSize),
-                                   &cReqSize);
-            /* Check if it really was set. */
-            cSize = sizeof(*pcActSize);
-            err = AudioDeviceGetProperty(device,
-                                         0,
-                                         fInput,
-                                         kAudioDevicePropertyBufferFrameSize,
-                                         &cSize,
-                                         pcActSize);
-        }
-    }
-    else
-        return notEnoughMemoryErr;
-
-    RTMemFree(pRange);
-    return err;
-}
-
-DECL_FORCE_INLINE(bool) caIsRunning(AudioDeviceID deviceID)
-{
-    OSStatus err = noErr;
-    UInt32 uFlag = 0;
-    UInt32 uSize = sizeof(uFlag);
-
-    err = AudioDeviceGetProperty(deviceID,
-                                 0,
-                                 0,
-                                 kAudioDevicePropertyDeviceIsRunning,
-                                 &uSize,
-                                 &uFlag);
-    if (err != kAudioHardwareNoError)
-        LogRel(("CoreAudio: Could not determine whether the device is running (%RI32)\n", err));
-    return uFlag >= 1;
-}
-
-static char* caCFStringToCString(const CFStringRef pCFString)
-{
-    char *pszResult = NULL;
-    CFIndex cLen;
-#if 0
-    /**
-     * CFStringGetCStringPtr doesn't reliably return requested string instead return depends on "many factors" (not clear which)
-     * ( please follow the link
-     *  http://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFStringRef/Reference/reference.html
-     * for more details). Branch below allocates memory using mechanisms which hasn't got single method for memory free:
-     * RTStrDup - RTStrFree
-     * RTMemAllocZTag - RTMemFree
-     * which aren't compatible, opposite to CFStringGetCStringPtr CFStringGetCString has well defined
-     * behaviour and confident return value.
-     */
-    const char *pszTmp = NULL;
-
-    /* First try to get the pointer directly. */
-    pszTmp = CFStringGetCStringPtr(pCFString, kCFStringEncodingUTF8);
-    if (pszTmp)
-    {
-        /* On success make a copy */
-        pszResult = RTStrDup(pszTmp);
-    }
-    else
-    {
-        /* If the pointer isn't available directly, we have to make a copy. */
-        cLen = CFStringGetLength(pCFString) + 1;
-        pszResult = RTMemAllocZTag(cLen * sizeof(char), RTSTR_TAG);
-        if (!CFStringGetCString(pCFString, pszResult, cLen, kCFStringEncodingUTF8))
-        {
-            RTStrFree(pszResult);
-            pszResult = NULL;
-        }
-    }
-#else
-    /* If the pointer isn't available directly, we have to make a copy. */
-    cLen = CFStringGetLength(pCFString) + 1;
-    pszResult = RTMemAllocZTag(cLen * sizeof(char), RTSTR_TAG);
-    if (!CFStringGetCString(pCFString, pszResult, cLen, kCFStringEncodingUTF8))
-    {
-        RTStrFree(pszResult);
-        pszResult = NULL;
-    }
-#endif
-
-    return pszResult;
-}
-
-static AudioDeviceID caDeviceUIDtoID(const char* pszUID)
-{
-    OSStatus err = noErr;
-    UInt32 uSize;
-    AudioValueTranslation translation;
-    CFStringRef strUID;
-    AudioDeviceID audioId;
-
-    /* Create a CFString out of our CString */
-    strUID = CFStringCreateWithCString(NULL,
-                                       pszUID,
-                                       kCFStringEncodingMacRoman);
-
-    /* Fill the translation structure */
-    translation.mInputData = &strUID;
-    translation.mInputDataSize = sizeof(CFStringRef);
-    translation.mOutputData = &audioId;
-    translation.mOutputDataSize = sizeof(AudioDeviceID);
-    uSize = sizeof(AudioValueTranslation);
-    /* Fetch the translation from the UID to the audio Id */
-    err = AudioHardwareGetProperty(kAudioHardwarePropertyDeviceForUID,
-                                   &uSize,
-                                   &translation);
-    /* Release the temporary CFString */
-    CFRelease(strUID);
-
-    if (RT_LIKELY(err == noErr))
-        return audioId;
-    /* Return the unknown device on error */
-    return kAudioDeviceUnknown;
-}
-
-/*******************************************************************************
- *
- * Global structures section
- *
- ******************************************************************************/
-
-/* Initialization status indicator used for the recreation of the AudioUnits. */
-#define CA_STATUS_UNINIT    UINT32_C(0) /* The device is uninitialized */
-#define CA_STATUS_IN_INIT   UINT32_C(1) /* The device is currently initializing */
-#define CA_STATUS_INIT      UINT32_C(2) /* The device is initialized */
-#define CA_STATUS_IN_UNINIT UINT32_C(3) /* The device is currently uninitializing */
-#define CA_STATUS_REINIT    UINT32_C(4) /* The device has to be reinitialized */
-
-/* Error code which indicates "End of data" */
-static const OSStatus caConverterEOFDErr = 0x656F6664; /* 'eofd' */
-
-struct
-{
-    const char *pszOutputDeviceUID;
-    const char *pszInputDeviceUID;
-} conf =
-{
-    INIT_FIELD(.pszOutputDeviceUID =) NULL,
-    INIT_FIELD(.pszInputDeviceUID =) NULL
-};
-
-typedef struct caVoiceOut
-{
-    /* HW voice output structure defined by VBox */
-    HWVoiceOut hw;
-    /* Stream description which is default on the device */
-    AudioStreamBasicDescription deviceFormat;
-    /* Stream description which is selected for using by VBox */
-    AudioStreamBasicDescription streamFormat;
-    /* The audio device ID of the currently used device */
-    AudioDeviceID audioDeviceId;
-    /* The AudioUnit used */
-    AudioUnit audioUnit;
-    /* A ring buffer for transferring data to the playback thread */
-    PIORINGBUFFER pBuf;
-    /* Initialization status tracker. Used when some of the device parameters
-     * or the device itself is changed during the runtime. */
-    volatile uint32_t status;
-} caVoiceOut;
-
-typedef struct caVoiceIn
-{
-    /* HW voice input structure defined by VBox */
-    HWVoiceIn hw;
-    /* Stream description which is default on the device */
-    AudioStreamBasicDescription deviceFormat;
-    /* Stream description which is selected for using by VBox */
-    AudioStreamBasicDescription streamFormat;
-    /* The audio device ID of the currently used device */
-    AudioDeviceID audioDeviceId;
-    /* The AudioUnit used */
-    AudioUnit audioUnit;
-    /* The audio converter if necessary */
-    AudioConverterRef converter;
-    /* A temporary position value used in the caConverterCallback function */
-    uint32_t rpos;
-    /* The ratio between the device & the stream sample rate */
-    Float64 sampleRatio;
-    /* An extra buffer used for render the audio data in the recording thread */
-    AudioBufferList bufferList;
-    /* A ring buffer for transferring data from the recording thread */
-    PIORINGBUFFER pBuf;
-    /* Initialization status tracker. Used when some of the device parameters
-     * or the device itself is changed during the runtime. */
-    volatile uint32_t status;
-} caVoiceIn;
-
-#ifdef CA_EXTENSIVE_LOGGING
-# define CA_EXT_DEBUG_LOG(a) Log2(a)
-#else
-# define CA_EXT_DEBUG_LOG(a) do {} while(0)
-#endif
-
-/*******************************************************************************
- *
- * CoreAudio output section
- *
- ******************************************************************************/
-
-/* We need some forward declarations */
-static int coreaudio_run_out(HWVoiceOut *hw);
-static int coreaudio_write(SWVoiceOut *sw, void *buf, int len);
-static int coreaudio_ctl_out(HWVoiceOut *hw, int cmd, ...);
-static void coreaudio_fini_out(HWVoiceOut *hw);
-static int coreaudio_init_out(HWVoiceOut *hw, audsettings_t *as);
-static int caInitOutput(HWVoiceOut *hw);
-static void caReinitOutput(HWVoiceOut *hw);
-
-/* Callback for getting notified when the default output device was changed */
-static DECLCALLBACK(OSStatus) caPlaybackDefaultDeviceChanged(AudioHardwarePropertyID inPropertyID,
-                                                             void *inClientData)
-{
-    OSStatus err = noErr;
-    UInt32 uSize = 0;
-    UInt32 ad = 0;
-    bool fRun = false;
-
-    caVoiceOut *caVoice = (caVoiceOut *) inClientData;
-
-    switch (inPropertyID)
-    {
-        case kAudioHardwarePropertyDefaultOutputDevice:
-            {
-                /* This listener is called on every change of the hardware
-                 * device. So check if the default device has really changed. */
-                uSize = sizeof(caVoice->audioDeviceId);
-                err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice,
-                                               &uSize,
-                                               &ad);
-                if (caVoice->audioDeviceId != ad)
-                {
-                    Log2(("CoreAudio: [Output] Default output device changed!\n"));
-                    /* We move the reinitialization to the next output event.
-                     * This make sure this thread isn't blocked and the
-                     * reinitialization is done when necessary only. */
-                    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_REINIT);
-                }
-                break;
-            }
-    }
-
-    return noErr;
-}
-
-/* Callback for getting notified when some of the properties of an audio device has changed */
-static DECLCALLBACK(OSStatus) caPlaybackAudioDevicePropertyChanged(AudioDeviceID inDevice,
-                                                                   UInt32 inChannel,
-                                                                   Boolean isInput,
-                                                                   AudioDevicePropertyID inPropertyID,
-                                                                   void *inClientData)
-{
-    switch (inPropertyID)
-    {
-#ifdef DEBUG
-        case kAudioDeviceProcessorOverload:
-            {
-                Log2(("CoreAudio: [Output] Processor overload detected!\n"));
-                break;
-            }
-#endif /* DEBUG */
-        default: break;
-    }
-
-    return noErr;
-}
-
-/* Callback to feed audio output buffer */
-static DECLCALLBACK(OSStatus) caPlaybackCallback(void* inRefCon,
-                                                 AudioUnitRenderActionFlags* ioActionFlags,
-                                                 const AudioTimeStamp* inTimeStamp,
-                                                 UInt32 inBusNumber,
-                                                 UInt32 inNumberFrames,
-                                                 AudioBufferList* ioData)
-{
-    uint32_t csAvail = 0;
-    uint32_t cbToRead = 0;
-    uint32_t csToRead = 0;
-    uint32_t csReads = 0;
-    char *pcSrc = NULL;
-
-    caVoiceOut *caVoice = (caVoiceOut *) inRefCon;
-
-    if (ASMAtomicReadU32(&caVoice->status) != CA_STATUS_INIT)
-        return noErr;
-
-    /* How much space is used in the ring buffer? */
-    csAvail = IORingBufferUsed(caVoice->pBuf) >> caVoice->hw.info.shift; /* bytes -> samples */
-    /* How much space is available in the core audio buffer. Use the smaller
-     * size of the too. */
-    csAvail = RT_MIN(csAvail, ioData->mBuffers[0].mDataByteSize >> caVoice->hw.info.shift);
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Start reading buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << caVoice->hw.info.shift));
-
-    /* Iterate as long as data is available */
-    while(csReads < csAvail)
-    {
-        /* How much is left? */
-        csToRead = csAvail - csReads;
-        cbToRead = csToRead << caVoice->hw.info.shift; /* samples -> bytes */
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Try reading %RU32 samples (%RU32 bytes)\n", csToRead, cbToRead));
-        /* Try to acquire the necessary block from the ring buffer. */
-        IORingBufferAquireReadBlock(caVoice->pBuf, cbToRead, &pcSrc, &cbToRead);
-        /* How much to we get? */
-        csToRead = cbToRead >> caVoice->hw.info.shift; /* bytes -> samples */
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Output] There are %RU32 samples (%RU32 bytes) available\n", csToRead, cbToRead));
-        /* Break if nothing is used anymore. */
-        if (RT_UNLIKELY(cbToRead == 0))
-            break;
-        /* Copy the data from our ring buffer to the core audio buffer. */
-        memcpy((char*)ioData->mBuffers[0].mData + (csReads << caVoice->hw.info.shift), pcSrc, cbToRead);
-        /* Release the read buffer, so it could be used for new data. */
-        IORingBufferReleaseReadBlock(caVoice->pBuf, cbToRead);
-        /* How much have we reads so far. */
-        csReads += csToRead;
-    }
-    /* Write the bytes to the core audio buffer which where really written. */
-    ioData->mBuffers[0].mDataByteSize = csReads << caVoice->hw.info.shift; /* samples -> bytes */
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Finished reading buffer with %RU32 samples (%RU32 bytes)\n", csReads, csReads << caVoice->hw.info.shift));
-
-    return noErr;
-}
-
-static int caInitOutput(HWVoiceOut *hw)
-{
-    OSStatus err = noErr;
-    UInt32 uSize = 0; /* temporary size of properties */
-    UInt32 uFlag = 0; /* for setting flags */
-    CFStringRef name; /* for the temporary device name fetching */
-    char *pszName = NULL;
-    char *pszUID = NULL;
-    ComponentDescription cd; /* description for an audio component */
-    Component cp; /* an audio component */
-    AURenderCallbackStruct cb; /* holds the callback structure */
-    UInt32 cFrames; /* default frame count */
-    UInt32 cSamples; /* samples count */
-
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_IN_INIT);
-
-    if (caVoice->audioDeviceId == kAudioDeviceUnknown)
-    {
-        /* Fetch the default audio output device currently in use */
-        uSize = sizeof(caVoice->audioDeviceId);
-        err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice,
-                                       &uSize,
-                                       &caVoice->audioDeviceId);
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Output] Unable to find default output device (%RI32)\n", err));
-            return -1;
-        }
-    }
-
-    /* Try to get the name of the output device and log it. It's not fatal if
-     * it fails. */
-    uSize = sizeof(CFStringRef);
-    err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                 0,
-                                 0,
-                                 kAudioObjectPropertyName,
-                                 &uSize,
-                                 &name);
-    if (RT_LIKELY(err == noErr))
-    {
-        pszName = caCFStringToCString(name);
-        CFRelease(name);
-        err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                     0,
-                                     0,
-                                     kAudioDevicePropertyDeviceUID,
-                                     &uSize,
-                                     &name);
-        if (RT_LIKELY(err == noErr))
-        {
-            pszUID = caCFStringToCString(name);
-            CFRelease(name);
-            if (pszName && pszUID)
-                LogRel(("CoreAudio: Using output device: %s (UID: %s)\n", pszName, pszUID));
-            RTMemFree(pszUID);
-        }
-        RTMemFree(pszName);
-    }
-    else
-        LogRel(("CoreAudio: [Output] Unable to get output device name (%RI32)\n", err));
-
-    /* Get the default frames buffer size, so that we can setup our internal
-     * buffers. */
-    uSize = sizeof(cFrames);
-    err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                 0,
-                                 false,
-                                 kAudioDevicePropertyBufferFrameSize,
-                                 &uSize,
-                                 &cFrames);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to get frame buffer size of the audio device (%RI32)\n", err));
-        return -1;
-    }
-    /* Set the frame buffer size and honor any minimum/maximum restrictions on
-       the device. */
-    err = caSetFrameBufferSize(caVoice->audioDeviceId,
-                               false,
-                               cFrames,
-                               &cFrames);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set frame buffer size on the audio device (%RI32)\n", err));
-        return -1;
-    }
-
-    cd.componentType = kAudioUnitType_Output;
-    cd.componentSubType = kAudioUnitSubType_HALOutput;
-    cd.componentManufacturer = kAudioUnitManufacturer_Apple;
-    cd.componentFlags = 0;
-    cd.componentFlagsMask = 0;
-
-    /* Try to find the default HAL output component. */
-    cp = FindNextComponent(NULL, &cd);
-    if (RT_UNLIKELY(cp == 0))
-    {
-        LogRel(("CoreAudio: [Output] Failed to find HAL output component\n"));
-        return -1;
-    }
-
-    /* Open the default HAL output component. */
-    err = OpenAComponent(cp, &caVoice->audioUnit);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to open output component (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Switch the I/O mode for output to on. */
-    uFlag = 1;
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_EnableIO,
-                               kAudioUnitScope_Output,
-                               0,
-                               &uFlag,
-                               sizeof(uFlag));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set output I/O mode enabled (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Set the default audio output device as the device for the new AudioUnit. */
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_CurrentDevice,
-                               kAudioUnitScope_Output,
-                               0,
-                               &caVoice->audioDeviceId,
-                               sizeof(caVoice->audioDeviceId));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set current device (%RI32)\n", err));
-        return -1;
-    }
-
-    /* CoreAudio will inform us on a second thread when it needs more data for
-     * output. Therefor register an callback function which will provide the new
-     * data. */
-    cb.inputProc = caPlaybackCallback;
-    cb.inputProcRefCon = caVoice;
-
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_SetRenderCallback,
-                               kAudioUnitScope_Input,
-                               0,
-                               &cb,
-                               sizeof(cb));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set callback (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Set the quality of the output render to the maximum. */
-/*    uFlag = kRenderQuality_High;*/
-/*    err = AudioUnitSetProperty(caVoice->audioUnit,*/
-/*                               kAudioUnitProperty_RenderQuality,*/
-/*                               kAudioUnitScope_Global,*/
-/*                               0,*/
-/*                               &uFlag,*/
-/*                               sizeof(uFlag));*/
-    /* Not fatal */
-/*    if (RT_UNLIKELY(err != noErr))*/
-/*        LogRel(("CoreAudio: [Output] Failed to set the render quality to the maximum (%RI32)\n", err));*/
-
-    /* Fetch the current stream format of the device. */
-    uSize = sizeof(caVoice->deviceFormat);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_StreamFormat,
-                               kAudioUnitScope_Input,
-                               0,
-                               &caVoice->deviceFormat,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to get device format (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Create an AudioStreamBasicDescription based on the audio settings of
-     * VirtualBox. */
-    caPCMInfoToAudioStreamBasicDescription(&caVoice->hw.info, &caVoice->streamFormat);
-
-#if DEBUG
-    caDebugOutputAudioStreamBasicDescription("CoreAudio: [Output] device", &caVoice->deviceFormat);
-    caDebugOutputAudioStreamBasicDescription("CoreAudio: [Output] output", &caVoice->streamFormat);
-#endif /* DEBUG */
-
-    /* Set the device format description for the stream. */
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_StreamFormat,
-                               kAudioUnitScope_Input,
-                               0,
-                               &caVoice->streamFormat,
-                               sizeof(caVoice->streamFormat));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set stream format (%RI32)\n", err));
-        return -1;
-    }
-
-    uSize = sizeof(caVoice->deviceFormat);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_StreamFormat,
-                               kAudioUnitScope_Input,
-                               0,
-                               &caVoice->deviceFormat,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to get device format (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Also set the frame buffer size off the device on our AudioUnit. This
-       should make sure that the frames count which we receive in the render
-       thread is as we like. */
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_MaximumFramesPerSlice,
-                               kAudioUnitScope_Global,
-                               0,
-                               &cFrames,
-                               sizeof(cFrames));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to set maximum frame buffer size on the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Finally initialize the new AudioUnit. */
-    err = AudioUnitInitialize(caVoice->audioUnit);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to initialize the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    /* There are buggy devices (e.g. my Bluetooth headset) which doesn't honor
-     * the frame buffer size set in the previous calls. So finally get the
-     * frame buffer size after the AudioUnit was initialized. */
-    uSize = sizeof(cFrames);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_MaximumFramesPerSlice,
-                               kAudioUnitScope_Global,
-                               0,
-                               &cFrames,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Output] Failed to get maximum frame buffer size from the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Create the internal ring buffer. */
-    cSamples = cFrames * caVoice->streamFormat.mChannelsPerFrame;
-    IORingBufferCreate(&caVoice->pBuf, cSamples << hw->info.shift);
-    if (!RT_VALID_PTR(caVoice->pBuf))
-    {
-        LogRel(("CoreAudio: [Output] Failed to create internal ring buffer\n"));
-        AudioUnitUninitialize(caVoice->audioUnit);
-        return -1;
-    }
-
-    if (   hw->samples != 0
-        && hw->samples != (int32_t)cSamples)
-        LogRel(("CoreAudio: [Output] Warning! After recreation, the CoreAudio ring buffer doesn't has the same size as the device buffer (%RU32 vs. %RU32).\n", cSamples, (uint32_t)hw->samples));
-
-#ifdef DEBUG
-    err = AudioDeviceAddPropertyListener(caVoice->audioDeviceId,
-                                         0,
-                                         false,
-                                         kAudioDeviceProcessorOverload,
-                                         caPlaybackAudioDevicePropertyChanged,
-                                         caVoice);
-    /* Not Fatal */
-    if (RT_UNLIKELY(err != noErr))
-        LogRel(("CoreAudio: [Output] Failed to add the processor overload listener (%RI32)\n", err));
-#endif /* DEBUG */
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_INIT);
-
-    Log(("CoreAudio: [Output] Frame count: %RU32\n", cFrames));
-
-    return 0;
-}
-
-static void caReinitOutput(HWVoiceOut *hw)
-{
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    coreaudio_fini_out(&caVoice->hw);
-    caInitOutput(&caVoice->hw);
-
-    coreaudio_ctl_out(&caVoice->hw, VOICE_ENABLE);
-}
-
-static int coreaudio_run_out(HWVoiceOut *hw)
-{
-    uint32_t csAvail = 0;
-    uint32_t cbToWrite = 0;
-    uint32_t csToWrite = 0;
-    uint32_t csWritten = 0;
-    char *pcDst = NULL;
-    st_sample_t *psSrc = NULL;
-
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    /* Check if the audio device should be reinitialized. If so do it. */
-    if (ASMAtomicReadU32(&caVoice->status) == CA_STATUS_REINIT)
-        caReinitOutput(&caVoice->hw);
-
-    /* We return the live count in the case we are not initialized. This should
-     * prevent any under runs. */
-    if (ASMAtomicReadU32(&caVoice->status) != CA_STATUS_INIT)
-        return audio_pcm_hw_get_live_out(hw);
-
-    /* Make sure the device is running */
-    coreaudio_ctl_out(&caVoice->hw, VOICE_ENABLE);
-
-    /* How much space is available in the ring buffer */
-    csAvail = IORingBufferFree(caVoice->pBuf) >> hw->info.shift; /* bytes -> samples */
-
-    /* How much data is available. Use the smaller size of the too. */
-    csAvail = RT_MIN(csAvail, (uint32_t)audio_pcm_hw_get_live_out(hw));
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Start writing buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << hw->info.shift));
-
-    /* Iterate as long as data is available */
-    while (csWritten < csAvail)
-    {
-        /* How much is left? Split request at the end of our samples buffer. */
-        csToWrite = RT_MIN(csAvail - csWritten, (uint32_t)(hw->samples - hw->rpos));
-        cbToWrite = csToWrite << hw->info.shift; /* samples -> bytes */
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Try writing %RU32 samples (%RU32 bytes)\n", csToWrite, cbToWrite));
-        /* Try to acquire the necessary space from the ring buffer. */
-        IORingBufferAquireWriteBlock(caVoice->pBuf, cbToWrite, &pcDst, &cbToWrite);
-        /* How much to we get? */
-        csToWrite = cbToWrite >> hw->info.shift;
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Output] There is space for %RU32 samples (%RU32 bytes) available\n", csToWrite, cbToWrite));
-        /* Break if nothing is free anymore. */
-        if (RT_UNLIKELY(cbToWrite == 0))
-            break;
-        /* Copy the data from our mix buffer to the ring buffer. */
-        psSrc = hw->mix_buf + hw->rpos;
-        hw->clip((uint8_t*)pcDst, psSrc, csToWrite);
-        /* Release the ring buffer, so the read thread could start reading this data. */
-        IORingBufferReleaseWriteBlock(caVoice->pBuf, cbToWrite);
-        hw->rpos = (hw->rpos + csToWrite) % hw->samples;
-        /* How much have we written so far. */
-        csWritten += csToWrite;
-    }
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Output] Finished writing buffer with %RU32 samples (%RU32 bytes)\n", csWritten, csWritten << hw->info.shift));
-
-    /* Return the count of samples we have processed. */
-    return csWritten;
-}
-
-static int coreaudio_write(SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int coreaudio_ctl_out(HWVoiceOut *hw, int cmd, ...)
-{
-    OSStatus err = noErr;
-    uint32_t status;
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    status = ASMAtomicReadU32(&caVoice->status);
-    if (!(   status == CA_STATUS_INIT
-          || status == CA_STATUS_REINIT))
-        return 0;
-
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-            {
-                /* Only start the device if it is actually stopped */
-                if (!caIsRunning(caVoice->audioDeviceId))
-                {
-                    err = AudioUnitReset(caVoice->audioUnit,
-                                         kAudioUnitScope_Input,
-                                         0);
-                    IORingBufferReset(caVoice->pBuf);
-                    err = AudioOutputUnitStart(caVoice->audioUnit);
-                    if (RT_UNLIKELY(err != noErr))
-                    {
-                        LogRel(("CoreAudio: [Output] Failed to start playback (%RI32)\n", err));
-                        return -1;
-                    }
-                }
-                break;
-            }
-        case VOICE_DISABLE:
-            {
-                /* Only stop the device if it is actually running */
-                if (caIsRunning(caVoice->audioDeviceId))
-                {
-                    err = AudioOutputUnitStop(caVoice->audioUnit);
-                    if (RT_UNLIKELY(err != noErr))
-                    {
-                        LogRel(("CoreAudio: [Output] Failed to stop playback (%RI32)\n", err));
-                        return -1;
-                    }
-                    err = AudioUnitReset(caVoice->audioUnit,
-                                         kAudioUnitScope_Input,
-                                         0);
-                    if (RT_UNLIKELY(err != noErr))
-                    {
-                        LogRel(("CoreAudio: [Output] Failed to reset AudioUnit (%RI32)\n", err));
-                        return -1;
-                    }
-                }
-                break;
-            }
-    }
-    return 0;
-}
-
-static void coreaudio_fini_out(HWVoiceOut *hw)
-{
-    int rc = 0;
-    uint32_t status;
-    OSStatus err = noErr;
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    status = ASMAtomicReadU32(&caVoice->status);
-    if (!(   status == CA_STATUS_INIT
-          || status == CA_STATUS_REINIT))
-        return;
-
-    rc = coreaudio_ctl_out(hw, VOICE_DISABLE);
-    if (RT_LIKELY(rc == 0))
-    {
-        ASMAtomicXchgU32(&caVoice->status, CA_STATUS_IN_UNINIT);
-#ifdef DEBUG
-        err = AudioDeviceRemovePropertyListener(caVoice->audioDeviceId,
-                                                0,
-                                                false,
-                                                kAudioDeviceProcessorOverload,
-                                                caPlaybackAudioDevicePropertyChanged);
-        /* Not Fatal */
-        if (RT_UNLIKELY(err != noErr))
-            LogRel(("CoreAudio: [Output] Failed to remove the processor overload listener (%RI32)\n", err));
-#endif /* DEBUG */
-        err = AudioUnitUninitialize(caVoice->audioUnit);
-        if (RT_LIKELY(err == noErr))
-        {
-            err = CloseComponent(caVoice->audioUnit);
-            if (RT_LIKELY(err == noErr))
-            {
-                IORingBufferDestroy(caVoice->pBuf);
-                caVoice->audioUnit = NULL;
-                caVoice->audioDeviceId = kAudioDeviceUnknown;
-                caVoice->pBuf = NULL;
-                ASMAtomicXchgU32(&caVoice->status, CA_STATUS_UNINIT);
-            }
-            else
-                LogRel(("CoreAudio: [Output] Failed to close the AudioUnit (%RI32)\n", err));
-        }
-        else
-            LogRel(("CoreAudio: [Output] Failed to uninitialize the AudioUnit (%RI32)\n", err));
-    }
-    else
-        LogRel(("CoreAudio: [Output] Failed to stop playback (%RI32)\n", err));
-}
-
-static int coreaudio_init_out(HWVoiceOut *hw, audsettings_t *as)
-{
-    OSStatus err = noErr;
-    int rc = 0;
-    bool fDeviceByUser = false; /* use we a device which was set by the user? */
-
-    caVoiceOut *caVoice = (caVoiceOut *) hw;
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_UNINIT);
-    caVoice->audioUnit = NULL;
-    caVoice->audioDeviceId = kAudioDeviceUnknown;
-    hw->samples = 0;
-
-    /* Initialize the hardware info section with the audio settings */
-    audio_pcm_init_info(&hw->info, as);
-
-    /* Try to find the audio device set by the user. Use
-     * export VBOX_COREAUDIO_OUTPUT_DEVICE_UID=AppleHDAEngineOutput:0
-     * to set it. */
-    if (conf.pszOutputDeviceUID)
-    {
-        caVoice->audioDeviceId = caDeviceUIDtoID(conf.pszOutputDeviceUID);
-        /* Not fatal */
-        if (caVoice->audioDeviceId == kAudioDeviceUnknown)
-            LogRel(("CoreAudio: [Output] Unable to find output device %s. Falling back to the default audio device. \n", conf.pszOutputDeviceUID));
-        else
-            fDeviceByUser = true;
-    }
-
-    rc = caInitOutput(hw);
-    if (RT_UNLIKELY(rc != 0))
-        return rc;
-
-    /* The samples have to correspond to the internal ring buffer size. */
-    hw->samples = (IORingBufferSize(caVoice->pBuf) >> hw->info.shift) / caVoice->streamFormat.mChannelsPerFrame;
-
-    /* When the devices isn't forced by the user, we want default device change
-     * notifications. */
-    if (!fDeviceByUser)
-    {
-        err = AudioHardwareAddPropertyListener(kAudioHardwarePropertyDefaultOutputDevice,
-                                               caPlaybackDefaultDeviceChanged,
-                                               caVoice);
-        /* Not Fatal */
-        if (RT_UNLIKELY(err != noErr))
-            LogRel(("CoreAudio: [Output] Failed to add the default device changed listener (%RI32)\n", err));
-    }
-
-    Log(("CoreAudio: [Output] HW samples: %d\n", hw->samples));
-
-    return 0;
-}
-
-/*******************************************************************************
- *
- * CoreAudio input section
- *
- ******************************************************************************/
-
-/* We need some forward declarations */
-static int coreaudio_run_in(HWVoiceIn *hw);
-static int coreaudio_read(SWVoiceIn *sw, void *buf, int size);
-static int coreaudio_ctl_in(HWVoiceIn *hw, int cmd, ...);
-static void coreaudio_fini_in(HWVoiceIn *hw);
-static int coreaudio_init_in(HWVoiceIn *hw, audsettings_t *as);
-static int caInitInput(HWVoiceIn *hw);
-static void caReinitInput(HWVoiceIn *hw);
-
-/* Callback for getting notified when the default input device was changed */
-static DECLCALLBACK(OSStatus) caRecordingDefaultDeviceChanged(AudioHardwarePropertyID inPropertyID,
-                                                              void *inClientData)
-{
-    OSStatus err = noErr;
-    UInt32 uSize = 0;
-    UInt32 ad = 0;
-    bool fRun = false;
-
-    caVoiceIn *caVoice = (caVoiceIn *) inClientData;
-
-    switch (inPropertyID)
-    {
-        case kAudioHardwarePropertyDefaultInputDevice:
-            {
-                /* This listener is called on every change of the hardware
-                 * device. So check if the default device has really changed. */
-                uSize = sizeof(caVoice->audioDeviceId);
-                err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice,
-                                               &uSize,
-                                               &ad);
-                if (caVoice->audioDeviceId != ad)
-                {
-                    Log2(("CoreAudio: [Input] Default input device changed!\n"));
-                    /* We move the reinitialization to the next input event.
-                     * This make sure this thread isn't blocked and the
-                     * reinitialization is done when necessary only. */
-                    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_REINIT);
-                }
-                break;
-            }
-    }
-
-    return noErr;
-}
-
-/* Callback for getting notified when some of the properties of an audio device has changed */
-static DECLCALLBACK(OSStatus) caRecordingAudioDevicePropertyChanged(AudioDeviceID inDevice,
-                                                                    UInt32 inChannel,
-                                                                    Boolean isInput,
-                                                                    AudioDevicePropertyID inPropertyID,
-                                                                    void *inClientData)
-{
-    caVoiceIn *caVoice = (caVoiceIn *) inClientData;
-
-    switch (inPropertyID)
-    {
-#ifdef DEBUG
-        case kAudioDeviceProcessorOverload:
-            {
-                Log2(("CoreAudio: [Input] Processor overload detected!\n"));
-                break;
-            }
-#endif /* DEBUG */
-        case kAudioDevicePropertyNominalSampleRate:
-            {
-                Log2(("CoreAudio: [Input] Sample rate changed!\n"));
-                /* We move the reinitialization to the next input event.
-                 * This make sure this thread isn't blocked and the
-                 * reinitialization is done when necessary only. */
-                ASMAtomicXchgU32(&caVoice->status, CA_STATUS_REINIT);
-                break;
-            }
-        default: break;
-    }
-
-    return noErr;
-}
-
-/* Callback to convert audio input data from one format to another */
-static DECLCALLBACK(OSStatus) caConverterCallback(AudioConverterRef inAudioConverter,
-                                                  UInt32 *ioNumberDataPackets,
-                                                  AudioBufferList *ioData,
-                                                  AudioStreamPacketDescription **outDataPacketDescription,
-                                                  void *inUserData)
-{
-    /* In principle we had to check here if the source is non interleaved & if
-     * so go through all buffers not only the first one like now. */
-    UInt32 cSize = 0;
-
-    caVoiceIn *caVoice = (caVoiceIn *) inUserData;
-
-    const AudioBufferList *pBufferList = &caVoice->bufferList;
-
-    if (ASMAtomicReadU32(&caVoice->status) != CA_STATUS_INIT)
-        return noErr;
-
-/*    Log2(("converting .... ################ %RU32  %RU32 %RU32 %RU32 %RU32\n", *ioNumberDataPackets, bufferList->mBuffers[i].mNumberChannels, bufferList->mNumberBuffers, bufferList->mBuffers[i].mDataByteSize, ioData->mNumberBuffers));*/
-
-    /* Use the lower one of the packets to process & the available packets in
-     * the buffer */
-    cSize = RT_MIN(*ioNumberDataPackets * caVoice->deviceFormat.mBytesPerPacket,
-                   pBufferList->mBuffers[0].mDataByteSize - caVoice->rpos);
-    /* Set the new size on output, so the caller know what we have processed. */
-    *ioNumberDataPackets = cSize / caVoice->deviceFormat.mBytesPerPacket;
-    /* If no data is available anymore we return with an error code. This error
-     * code will be returned from AudioConverterFillComplexBuffer. */
-    if (*ioNumberDataPackets == 0)
-    {
-        ioData->mBuffers[0].mDataByteSize = 0;
-        ioData->mBuffers[0].mData = NULL;
-        return caConverterEOFDErr;
-    }
-    else
-    {
-        ioData->mBuffers[0].mNumberChannels = pBufferList->mBuffers[0].mNumberChannels;
-        ioData->mBuffers[0].mDataByteSize = cSize;
-        ioData->mBuffers[0].mData = (char*)pBufferList->mBuffers[0].mData + caVoice->rpos;
-        caVoice->rpos += cSize;
-
-        /*    Log2(("converting .... ################ %RU32 %RU32\n", size, caVoice->rpos));*/
-    }
-
-    return noErr;
-}
-
-/* Callback to feed audio input buffer */
-static DECLCALLBACK(OSStatus) caRecordingCallback(void* inRefCon,
-                                                  AudioUnitRenderActionFlags* ioActionFlags,
-                                                  const AudioTimeStamp* inTimeStamp,
-                                                  UInt32 inBusNumber,
-                                                  UInt32 inNumberFrames,
-                                                  AudioBufferList* ioData)
-{
-    OSStatus err = noErr;
-    uint32_t csAvail = 0;
-    uint32_t csToWrite = 0;
-    uint32_t cbToWrite = 0;
-    uint32_t csWritten = 0;
-    char *pcDst = NULL;
-    AudioBufferList tmpList;
-    UInt32 ioOutputDataPacketSize = 0;
-
-    caVoiceIn *caVoice = (caVoiceIn *) inRefCon;
-
-    if (ASMAtomicReadU32(&caVoice->status) != CA_STATUS_INIT)
-        return noErr;
-
-    /* If nothing is pending return immediately. */
-    if (inNumberFrames == 0)
-        return noErr;
-
-    /* Are we using an converter? */
-    if (RT_VALID_PTR(caVoice->converter))
-    {
-        /* Firstly render the data as usual */
-        caVoice->bufferList.mBuffers[0].mNumberChannels = caVoice->deviceFormat.mChannelsPerFrame;
-        caVoice->bufferList.mBuffers[0].mDataByteSize = caVoice->deviceFormat.mBytesPerFrame * inNumberFrames;
-        caVoice->bufferList.mBuffers[0].mData = RTMemAlloc(caVoice->bufferList.mBuffers[0].mDataByteSize);
-
-        err = AudioUnitRender(caVoice->audioUnit,
-                              ioActionFlags,
-                              inTimeStamp,
-                              inBusNumber,
-                              inNumberFrames,
-                              &caVoice->bufferList);
-        if(RT_UNLIKELY(err != noErr))
-        {
-            Log(("CoreAudio: [Input] Failed to render audio data (%RI32)\n", err));
-            RTMemFree(caVoice->bufferList.mBuffers[0].mData);
-            return err;
-        }
-
-        /* How much space is free in the ring buffer? */
-        csAvail = IORingBufferFree(caVoice->pBuf) >> caVoice->hw.info.shift; /* bytes -> samples */
-        /* How much space is used in the core audio buffer. Use the smaller size of
-         * the too. */
-        csAvail = RT_MIN(csAvail, (uint32_t)((caVoice->bufferList.mBuffers[0].mDataByteSize / caVoice->deviceFormat.mBytesPerFrame) * caVoice->sampleRatio));
-
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Start writing buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << caVoice->hw.info.shift));
-        /* Initialize the temporary output buffer */
-        tmpList.mNumberBuffers = 1;
-        tmpList.mBuffers[0].mNumberChannels = caVoice->streamFormat.mChannelsPerFrame;
-        /* Set the read position to zero. */
-        caVoice->rpos = 0;
-        /* Iterate as long as data is available */
-        while(csWritten < csAvail)
-        {
-            /* How much is left? */
-            csToWrite = csAvail - csWritten;
-            cbToWrite = csToWrite << caVoice->hw.info.shift;
-            CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Try writing %RU32 samples (%RU32 bytes)\n", csToWrite, cbToWrite));
-            /* Try to acquire the necessary space from the ring buffer. */
-            IORingBufferAquireWriteBlock(caVoice->pBuf, cbToWrite, &pcDst, &cbToWrite);
-            /* How much to we get? */
-            csToWrite = cbToWrite >> caVoice->hw.info.shift;
-            CA_EXT_DEBUG_LOG(("CoreAudio: [Input] There is space for %RU32 samples (%RU32 bytes) available\n", csToWrite, cbToWrite));
-            /* Break if nothing is free anymore. */
-            if (RT_UNLIKELY(cbToWrite == 0))
-                break;
-
-            /* Now set how much space is available for output */
-            ioOutputDataPacketSize = cbToWrite / caVoice->streamFormat.mBytesPerPacket;
-            /* Set our ring buffer as target. */
-            tmpList.mBuffers[0].mDataByteSize = cbToWrite;
-            tmpList.mBuffers[0].mData = pcDst;
-            AudioConverterReset(caVoice->converter);
-            err = AudioConverterFillComplexBuffer(caVoice->converter,
-                                                  caConverterCallback,
-                                                  caVoice,
-                                                  &ioOutputDataPacketSize,
-                                                  &tmpList,
-                                                  NULL);
-            if(   RT_UNLIKELY(err != noErr)
-               && err != caConverterEOFDErr)
-            {
-                Log(("CoreAudio: [Input] Failed to convert audio data (%RI32:%c%c%c%c)\n", err, RT_BYTE4(err), RT_BYTE3(err), RT_BYTE2(err), RT_BYTE1(err)));
-                break;
-            }
-            /* Check in any case what processed size is returned. It could be
-             * much littler than we expected. */
-            cbToWrite = ioOutputDataPacketSize * caVoice->streamFormat.mBytesPerPacket;
-            csToWrite = cbToWrite >> caVoice->hw.info.shift;
-            /* Release the ring buffer, so the main thread could start reading this data. */
-            IORingBufferReleaseWriteBlock(caVoice->pBuf, cbToWrite);
-            csWritten += csToWrite;
-            /* If the error is "End of Data" it means there is no data anymore
-             * which could be converted. So end here now. */
-            if (err == caConverterEOFDErr)
-                break;
-        }
-        /* Cleanup */
-        RTMemFree(caVoice->bufferList.mBuffers[0].mData);
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Finished writing buffer with %RU32 samples (%RU32 bytes)\n", csWritten, csWritten << caVoice->hw.info.shift));
-    }
-    else
-    {
-        caVoice->bufferList.mBuffers[0].mNumberChannels = caVoice->streamFormat.mChannelsPerFrame;
-        caVoice->bufferList.mBuffers[0].mDataByteSize = caVoice->streamFormat.mBytesPerFrame * inNumberFrames;
-        caVoice->bufferList.mBuffers[0].mData = RTMemAlloc(caVoice->bufferList.mBuffers[0].mDataByteSize);
-
-        err = AudioUnitRender(caVoice->audioUnit,
-                              ioActionFlags,
-                              inTimeStamp,
-                              inBusNumber,
-                              inNumberFrames,
-                              &caVoice->bufferList);
-        if(RT_UNLIKELY(err != noErr))
-        {
-            Log(("CoreAudio: [Input] Failed to render audio data (%RI32)\n", err));
-            RTMemFree(caVoice->bufferList.mBuffers[0].mData);
-            return err;
-        }
-
-        /* How much space is free in the ring buffer? */
-        csAvail = IORingBufferFree(caVoice->pBuf) >> caVoice->hw.info.shift; /* bytes -> samples */
-        /* How much space is used in the core audio buffer. Use the smaller size of
-         * the too. */
-        csAvail = RT_MIN(csAvail, caVoice->bufferList.mBuffers[0].mDataByteSize >> caVoice->hw.info.shift);
-
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Start writing buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << caVoice->hw.info.shift));
-
-        /* Iterate as long as data is available */
-        while(csWritten < csAvail)
-        {
-            /* How much is left? */
-            csToWrite = csAvail - csWritten;
-            cbToWrite = csToWrite << caVoice->hw.info.shift;
-            CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Try writing %RU32 samples (%RU32 bytes)\n", csToWrite, cbToWrite));
-            /* Try to acquire the necessary space from the ring buffer. */
-            IORingBufferAquireWriteBlock(caVoice->pBuf, cbToWrite, &pcDst, &cbToWrite);
-            /* How much to we get? */
-            csToWrite = cbToWrite >> caVoice->hw.info.shift;
-            CA_EXT_DEBUG_LOG(("CoreAudio: [Input] There is space for %RU32 samples (%RU32 bytes) available\n", csToWrite, cbToWrite));
-            /* Break if nothing is free anymore. */
-            if (RT_UNLIKELY(cbToWrite == 0))
-                break;
-            /* Copy the data from the core audio buffer to the ring buffer. */
-            memcpy(pcDst, (char*)caVoice->bufferList.mBuffers[0].mData + (csWritten << caVoice->hw.info.shift), cbToWrite);
-            /* Release the ring buffer, so the main thread could start reading this data. */
-            IORingBufferReleaseWriteBlock(caVoice->pBuf, cbToWrite);
-            csWritten += csToWrite;
-        }
-        /* Cleanup */
-        RTMemFree(caVoice->bufferList.mBuffers[0].mData);
-
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Finished writing buffer with %RU32 samples (%RU32 bytes)\n", csWritten, csWritten << caVoice->hw.info.shift));
-    }
-
-    return err;
-}
-
-static int caInitInput(HWVoiceIn *hw)
-{
-    OSStatus err = noErr;
-    int rc = -1;
-    UInt32 uSize = 0; /* temporary size of properties */
-    UInt32 uFlag = 0; /* for setting flags */
-    CFStringRef name; /* for the temporary device name fetching */
-    char *pszName = NULL;
-    char *pszUID = NULL;
-    ComponentDescription cd; /* description for an audio component */
-    Component cp; /* an audio component */
-    AURenderCallbackStruct cb; /* holds the callback structure */
-    UInt32 cFrames; /* default frame count */
-    const SInt32 channelMap[2] = {0, 0}; /* Channel map for mono -> stereo */
-    UInt32 cSamples; /* samples count */
-
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_IN_INIT);
-
-    if (caVoice->audioDeviceId == kAudioDeviceUnknown)
-    {
-        /* Fetch the default audio output device currently in use */
-        uSize = sizeof(caVoice->audioDeviceId);
-        err = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice,
-                                       &uSize,
-                                       &caVoice->audioDeviceId);
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Input] Unable to find default input device (%RI32)\n", err));
-            return -1;
-        }
-    }
-
-    /* Try to get the name of the input device and log it. It's not fatal if
-     * it fails. */
-    uSize = sizeof(CFStringRef);
-    err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                 0,
-                                 0,
-                                 kAudioObjectPropertyName,
-                                 &uSize,
-                                 &name);
-    if (RT_LIKELY(err == noErr))
-    {
-        pszName = caCFStringToCString(name);
-        CFRelease(name);
-        err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                     0,
-                                     0,
-                                     kAudioDevicePropertyDeviceUID,
-                                     &uSize,
-                                     &name);
-        if (RT_LIKELY(err == noErr))
-        {
-            pszUID = caCFStringToCString(name);
-            CFRelease(name);
-            if (pszName && pszUID)
-                LogRel(("CoreAudio: Using input device: %s (UID: %s)\n", pszName, pszUID));
-            if (pszUID)
-                RTMemFree(pszUID);
-        }
-        if (pszName)
-            RTMemFree(pszName);
-    }
-    else
-        LogRel(("CoreAudio: [Input] Unable to get input device name (%RI32)\n", err));
-
-    /* Get the default frames buffer size, so that we can setup our internal
-     * buffers. */
-    uSize = sizeof(cFrames);
-    err = AudioDeviceGetProperty(caVoice->audioDeviceId,
-                                 0,
-                                 true,
-                                 kAudioDevicePropertyBufferFrameSize,
-                                 &uSize,
-                                 &cFrames);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to get frame buffer size of the audio device (%RI32)\n", err));
-        return -1;
-    }
-    /* Set the frame buffer size and honor any minimum/maximum restrictions on
-       the device. */
-    err = caSetFrameBufferSize(caVoice->audioDeviceId,
-                               true,
-                               cFrames,
-                               &cFrames);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set frame buffer size on the audio device (%RI32)\n", err));
-        return -1;
-    }
-
-    cd.componentType = kAudioUnitType_Output;
-    cd.componentSubType = kAudioUnitSubType_HALOutput;
-    cd.componentManufacturer = kAudioUnitManufacturer_Apple;
-    cd.componentFlags = 0;
-    cd.componentFlagsMask = 0;
-
-    /* Try to find the default HAL output component. */
-    cp = FindNextComponent(NULL, &cd);
-    if (RT_UNLIKELY(cp == 0))
-    {
-        LogRel(("CoreAudio: [Input] Failed to find HAL output component\n"));
-        return -1;
-    }
-
-    /* Open the default HAL output component. */
-    err = OpenAComponent(cp, &caVoice->audioUnit);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to open output component (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Switch the I/O mode for input to on. */
-    uFlag = 1;
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_EnableIO,
-                               kAudioUnitScope_Input,
-                               1,
-                               &uFlag,
-                               sizeof(uFlag));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set input I/O mode enabled (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Switch the I/O mode for output to off. This is important, as this is a
-     * pure input stream. */
-    uFlag = 0;
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_EnableIO,
-                               kAudioUnitScope_Output,
-                               0,
-                               &uFlag,
-                               sizeof(uFlag));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set output I/O mode disabled (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Set the default audio input device as the device for the new AudioUnit. */
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_CurrentDevice,
-                               kAudioUnitScope_Global,
-                               0,
-                               &caVoice->audioDeviceId,
-                               sizeof(caVoice->audioDeviceId));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set current device (%RI32)\n", err));
-        return -1;
-    }
-
-    /* CoreAudio will inform us on a second thread for new incoming audio data.
-     * Therefor register an callback function, which will process the new data.
-     * */
-    cb.inputProc = caRecordingCallback;
-    cb.inputProcRefCon = caVoice;
-
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioOutputUnitProperty_SetInputCallback,
-                               kAudioUnitScope_Global,
-                               0,
-                               &cb,
-                               sizeof(cb));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set callback (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Fetch the current stream format of the device. */
-    uSize = sizeof(caVoice->deviceFormat);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_StreamFormat,
-                               kAudioUnitScope_Input,
-                               1,
-                               &caVoice->deviceFormat,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to get device format (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Create an AudioStreamBasicDescription based on the audio settings of
-     * VirtualBox. */
-    caPCMInfoToAudioStreamBasicDescription(&caVoice->hw.info, &caVoice->streamFormat);
-
-#if DEBUG
-    caDebugOutputAudioStreamBasicDescription("CoreAudio: [Input] device", &caVoice->deviceFormat);
-    caDebugOutputAudioStreamBasicDescription("CoreAudio: [Input] input", &caVoice->streamFormat);
-#endif /* DEBUG */
-
-    /* If the frequency of the device is different from the requested one we
-     * need a converter. The same count if the number of channels is different. */
-    if (   caVoice->deviceFormat.mSampleRate != caVoice->streamFormat.mSampleRate
-        || caVoice->deviceFormat.mChannelsPerFrame != caVoice->streamFormat.mChannelsPerFrame)
-    {
-        err = AudioConverterNew(&caVoice->deviceFormat,
-                                &caVoice->streamFormat,
-                                &caVoice->converter);
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Input] Failed to create the audio converter (%RI32)\n", err));
-            return -1;
-        }
-
-        if (caVoice->deviceFormat.mChannelsPerFrame == 1 &&
-            caVoice->streamFormat.mChannelsPerFrame == 2)
-        {
-            /* If the channel count is different we have to tell this the converter
-               and supply a channel mapping. For now we only support mapping
-               from mono to stereo. For all other cases the core audio defaults
-               are used, which means dropping additional channels in most
-               cases. */
-            err = AudioConverterSetProperty(caVoice->converter,
-                                            kAudioConverterChannelMap,
-                                            sizeof(channelMap),
-                                            channelMap);
-            if (RT_UNLIKELY(err != noErr))
-            {
-                LogRel(("CoreAudio: [Input] Failed to add a channel mapper to the audio converter (%RI32)\n", err));
-                return -1;
-            }
-        }
-        /* Set sample rate converter quality to maximum */
-/*        uFlag = kAudioConverterQuality_Max;*/
-/*        err = AudioConverterSetProperty(caVoice->converter,*/
-/*                                        kAudioConverterSampleRateConverterQuality,*/
-/*                                        sizeof(uFlag),*/
-/*                                        &uFlag);*/
-        /* Not fatal */
-/*        if (RT_UNLIKELY(err != noErr))*/
-/*            LogRel(("CoreAudio: [Input] Failed to set the audio converter quality to the maximum (%RI32)\n", err));*/
-
-        Log(("CoreAudio: [Input] Converter in use\n"));
-        /* Set the new format description for the stream. */
-        err = AudioUnitSetProperty(caVoice->audioUnit,
-                                   kAudioUnitProperty_StreamFormat,
-                                   kAudioUnitScope_Output,
-                                   1,
-                                   &caVoice->deviceFormat,
-                                   sizeof(caVoice->deviceFormat));
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Input] Failed to set stream format (%RI32)\n", err));
-            return -1;
-        }
-        err = AudioUnitSetProperty(caVoice->audioUnit,
-                                   kAudioUnitProperty_StreamFormat,
-                                   kAudioUnitScope_Input,
-                                   1,
-                                   &caVoice->deviceFormat,
-                                   sizeof(caVoice->deviceFormat));
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Input] Failed to set stream format (%RI32)\n", err));
-            return -1;
-        }
-    }
-    else
-    {
-        /* Set the new format description for the stream. */
-        err = AudioUnitSetProperty(caVoice->audioUnit,
-                                   kAudioUnitProperty_StreamFormat,
-                                   kAudioUnitScope_Output,
-                                   1,
-                                   &caVoice->streamFormat,
-                                   sizeof(caVoice->streamFormat));
-        if (RT_UNLIKELY(err != noErr))
-        {
-            LogRel(("CoreAudio: [Input] Failed to set stream format (%RI32)\n", err));
-            return -1;
-        }
-    }
-
-    /* Also set the frame buffer size off the device on our AudioUnit. This
-       should make sure that the frames count which we receive in the render
-       thread is as we like. */
-    err = AudioUnitSetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_MaximumFramesPerSlice,
-                               kAudioUnitScope_Global,
-                               1,
-                               &cFrames,
-                               sizeof(cFrames));
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to set maximum frame buffer size on the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Finally initialize the new AudioUnit. */
-    err = AudioUnitInitialize(caVoice->audioUnit);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to initialize the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    uSize = sizeof(caVoice->deviceFormat);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_StreamFormat,
-                               kAudioUnitScope_Output,
-                               1,
-                               &caVoice->deviceFormat,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to get device format (%RI32)\n", err));
-        return -1;
-    }
-
-    /* There are buggy devices (e.g. my Bluetooth headset) which doesn't honor
-     * the frame buffer size set in the previous calls. So finally get the
-     * frame buffer size after the AudioUnit was initialized. */
-    uSize = sizeof(cFrames);
-    err = AudioUnitGetProperty(caVoice->audioUnit,
-                               kAudioUnitProperty_MaximumFramesPerSlice,
-                               kAudioUnitScope_Global,
-                               0,
-                               &cFrames,
-                               &uSize);
-    if (RT_UNLIKELY(err != noErr))
-    {
-        LogRel(("CoreAudio: [Input] Failed to get maximum frame buffer size from the AudioUnit (%RI32)\n", err));
-        return -1;
-    }
-
-    /* Calculate the ratio between the device and the stream sample rate. */
-    caVoice->sampleRatio = caVoice->streamFormat.mSampleRate / caVoice->deviceFormat.mSampleRate;
-
-    /* Set to zero first */
-    caVoice->pBuf = NULL;
-    /* Create the AudioBufferList structure with one buffer. */
-    caVoice->bufferList.mNumberBuffers = 1;
-    /* Initialize the buffer to nothing. */
-    caVoice->bufferList.mBuffers[0].mNumberChannels = caVoice->streamFormat.mChannelsPerFrame;
-    caVoice->bufferList.mBuffers[0].mDataByteSize = 0;
-    caVoice->bufferList.mBuffers[0].mData = NULL;
-
-    /* Make sure that the ring buffer is big enough to hold the recording
-     * data. Compare the maximum frames per slice value with the frames
-     * necessary when using the converter where the sample rate could differ.
-     * The result is always multiplied by the channels per frame to get the
-     * samples count. */
-    cSamples = RT_MAX(cFrames,
-                      (cFrames * caVoice->deviceFormat.mBytesPerFrame * caVoice->sampleRatio) / caVoice->streamFormat.mBytesPerFrame)
-               * caVoice->streamFormat.mChannelsPerFrame;
-    if (   hw->samples != 0
-        && hw->samples != (int32_t)cSamples)
-        LogRel(("CoreAudio: [Input] Warning! After recreation, the CoreAudio ring buffer doesn't has the same size as the device buffer (%RU32 vs. %RU32).\n", cSamples, (uint32_t)hw->samples));
-    /* Create the internal ring buffer. */
-    IORingBufferCreate(&caVoice->pBuf, cSamples << hw->info.shift);
-    if (RT_VALID_PTR(caVoice->pBuf))
-        rc = 0;
-    else
-        LogRel(("CoreAudio: [Input] Failed to create internal ring buffer\n"));
-
-    if (rc != 0)
-    {
-        if (caVoice->pBuf)
-            IORingBufferDestroy(caVoice->pBuf);
-        AudioUnitUninitialize(caVoice->audioUnit);
-        return -1;
-    }
-
-#ifdef DEBUG
-    err = AudioDeviceAddPropertyListener(caVoice->audioDeviceId,
-                                         0,
-                                         true,
-                                         kAudioDeviceProcessorOverload,
-                                         caRecordingAudioDevicePropertyChanged,
-                                         caVoice);
-    /* Not Fatal */
-    if (RT_UNLIKELY(err != noErr))
-        LogRel(("CoreAudio: [Input] Failed to add the processor overload listener (%RI32)\n", err));
-#endif /* DEBUG */
-    err = AudioDeviceAddPropertyListener(caVoice->audioDeviceId,
-                                         0,
-                                         true,
-                                         kAudioDevicePropertyNominalSampleRate,
-                                         caRecordingAudioDevicePropertyChanged,
-                                         caVoice);
-    /* Not Fatal */
-    if (RT_UNLIKELY(err != noErr))
-        LogRel(("CoreAudio: [Input] Failed to add the sample rate changed listener (%RI32)\n", err));
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_INIT);
-
-    Log(("CoreAudio: [Input] Frame count: %RU32\n", cFrames));
-
-    return 0;
-}
-
-static void caReinitInput(HWVoiceIn *hw)
-{
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    coreaudio_fini_in(&caVoice->hw);
-    caInitInput(&caVoice->hw);
-
-    coreaudio_ctl_in(&caVoice->hw, VOICE_ENABLE);
-}
-
-static int coreaudio_run_in(HWVoiceIn *hw)
-{
-    uint32_t csAvail = 0;
-    uint32_t cbToRead = 0;
-    uint32_t csToRead = 0;
-    uint32_t csReads = 0;
-    char *pcSrc;
-    st_sample_t *psDst;
-
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    /* Check if the audio device should be reinitialized. If so do it. */
-    if (ASMAtomicReadU32(&caVoice->status) == CA_STATUS_REINIT)
-        caReinitInput(&caVoice->hw);
-
-    if (ASMAtomicReadU32(&caVoice->status) != CA_STATUS_INIT)
-        return 0;
-
-    /* How much space is used in the ring buffer? */
-    csAvail = IORingBufferUsed(caVoice->pBuf) >> hw->info.shift; /* bytes -> samples */
-    /* How much space is available in the mix buffer. Use the smaller size of
-     * the too. */
-    csAvail = RT_MIN(csAvail, (uint32_t)(hw->samples - audio_pcm_hw_get_live_in (hw)));
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Start reading buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << caVoice->hw.info.shift));
-
-    /* Iterate as long as data is available */
-    while (csReads < csAvail)
-    {
-        /* How much is left? Split request at the end of our samples buffer. */
-        csToRead = RT_MIN(csAvail - csReads, (uint32_t)(hw->samples - hw->wpos));
-        cbToRead = csToRead << hw->info.shift;
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Try reading %RU32 samples (%RU32 bytes)\n", csToRead, cbToRead));
-        /* Try to acquire the necessary block from the ring buffer. */
-        IORingBufferAquireReadBlock(caVoice->pBuf, cbToRead, &pcSrc, &cbToRead);
-        /* How much to we get? */
-        csToRead = cbToRead >> hw->info.shift;
-        CA_EXT_DEBUG_LOG(("CoreAudio: [Input] There are %RU32 samples (%RU32 bytes) available\n", csToRead, cbToRead));
-        /* Break if nothing is used anymore. */
-        if (cbToRead == 0)
-            break;
-        /* Copy the data from our ring buffer to the mix buffer. */
-        psDst = hw->conv_buf + hw->wpos;
-        hw->conv(psDst, pcSrc, csToRead, &nominal_volume);
-        /* Release the read buffer, so it could be used for new data. */
-        IORingBufferReleaseReadBlock(caVoice->pBuf, cbToRead);
-        hw->wpos = (hw->wpos + csToRead) % hw->samples;
-        /* How much have we reads so far. */
-        csReads += csToRead;
-    }
-
-    CA_EXT_DEBUG_LOG(("CoreAudio: [Input] Finished reading buffer with %RU32 samples (%RU32 bytes)\n", csReads, csReads << caVoice->hw.info.shift));
-
-    return csReads;
-}
-
-static int coreaudio_read(SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int coreaudio_ctl_in(HWVoiceIn *hw, int cmd, ...)
-{
-    OSStatus err = noErr;
-    uint32_t status;
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    status = ASMAtomicReadU32(&caVoice->status);
-    if (!(   status == CA_STATUS_INIT
-          || status == CA_STATUS_REINIT))
-        return 0;
-
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-            {
-                /* Only start the device if it is actually stopped */
-                if (!caIsRunning(caVoice->audioDeviceId))
-                {
-                    IORingBufferReset(caVoice->pBuf);
-                    err = AudioOutputUnitStart(caVoice->audioUnit);
-                }
-                if (RT_UNLIKELY(err != noErr))
-                {
-                    LogRel(("CoreAudio: [Input] Failed to start recording (%RI32)\n", err));
-                    return -1;
-                }
-                break;
-            }
-        case VOICE_DISABLE:
-            {
-                /* Only stop the device if it is actually running */
-                if (caIsRunning(caVoice->audioDeviceId))
-                {
-                    err = AudioOutputUnitStop(caVoice->audioUnit);
-                    if (RT_UNLIKELY(err != noErr))
-                    {
-                        LogRel(("CoreAudio: [Input] Failed to stop recording (%RI32)\n", err));
-                        return -1;
-                    }
-                    err = AudioUnitReset(caVoice->audioUnit,
-                                         kAudioUnitScope_Input,
-                                         0);
-                    if (RT_UNLIKELY(err != noErr))
-                    {
-                        LogRel(("CoreAudio: [Input] Failed to reset AudioUnit (%RI32)\n", err));
-                        return -1;
-                    }
-                }
-                break;
-            }
-    }
-    return 0;
-}
-
-static void coreaudio_fini_in(HWVoiceIn *hw)
-{
-    int rc = 0;
-    OSStatus err = noErr;
-    uint32_t status;
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    status = ASMAtomicReadU32(&caVoice->status);
-    if (!(   status == CA_STATUS_INIT
-          || status == CA_STATUS_REINIT))
-        return;
-
-    rc = coreaudio_ctl_in(hw, VOICE_DISABLE);
-    if (RT_LIKELY(rc == 0))
-    {
-        ASMAtomicXchgU32(&caVoice->status, CA_STATUS_IN_UNINIT);
-#ifdef DEBUG
-        err = AudioDeviceRemovePropertyListener(caVoice->audioDeviceId,
-                                                0,
-                                                true,
-                                                kAudioDeviceProcessorOverload,
-                                                caRecordingAudioDevicePropertyChanged);
-        /* Not Fatal */
-        if (RT_UNLIKELY(err != noErr))
-            LogRel(("CoreAudio: [Input] Failed to remove the processor overload listener (%RI32)\n", err));
-#endif /* DEBUG */
-        err = AudioDeviceRemovePropertyListener(caVoice->audioDeviceId,
-                                                0,
-                                                true,
-                                                kAudioDevicePropertyNominalSampleRate,
-                                                caRecordingAudioDevicePropertyChanged);
-        /* Not Fatal */
-        if (RT_UNLIKELY(err != noErr))
-            LogRel(("CoreAudio: [Input] Failed to remove the sample rate changed listener (%RI32)\n", err));
-        if (caVoice->converter)
-        {
-            AudioConverterDispose(caVoice->converter);
-            caVoice->converter = NULL;
-        }
-        err = AudioUnitUninitialize(caVoice->audioUnit);
-        if (RT_LIKELY(err == noErr))
-        {
-            err = CloseComponent(caVoice->audioUnit);
-            if (RT_LIKELY(err == noErr))
-            {
-                IORingBufferDestroy(caVoice->pBuf);
-                caVoice->audioUnit = NULL;
-                caVoice->audioDeviceId = kAudioDeviceUnknown;
-                caVoice->pBuf = NULL;
-                caVoice->sampleRatio = 1;
-                caVoice->rpos = 0;
-                ASMAtomicXchgU32(&caVoice->status, CA_STATUS_UNINIT);
-            }
-            else
-                LogRel(("CoreAudio: [Input] Failed to close the AudioUnit (%RI32)\n", err));
-        }
-        else
-            LogRel(("CoreAudio: [Input] Failed to uninitialize the AudioUnit (%RI32)\n", err));
-    }
-    else
-        LogRel(("CoreAudio: [Input] Failed to stop recording (%RI32)\n", err));
-}
-
-static int coreaudio_init_in(HWVoiceIn *hw, audsettings_t *as)
-{
-    OSStatus err = noErr;
-    int rc = -1;
-    bool fDeviceByUser = false;
-
-    caVoiceIn *caVoice = (caVoiceIn *) hw;
-
-    ASMAtomicXchgU32(&caVoice->status, CA_STATUS_UNINIT);
-    caVoice->audioUnit = NULL;
-    caVoice->audioDeviceId = kAudioDeviceUnknown;
-    caVoice->converter = NULL;
-    caVoice->sampleRatio = 1;
-    caVoice->rpos = 0;
-    hw->samples = 0;
-
-    /* Initialize the hardware info section with the audio settings */
-    audio_pcm_init_info(&hw->info, as);
-
-    /* Try to find the audio device set by the user */
-    if (conf.pszInputDeviceUID)
-    {
-        caVoice->audioDeviceId = caDeviceUIDtoID(conf.pszInputDeviceUID);
-        /* Not fatal */
-        if (caVoice->audioDeviceId == kAudioDeviceUnknown)
-            LogRel(("CoreAudio: [Input] Unable to find input device %s. Falling back to the default audio device. \n", conf.pszInputDeviceUID));
-        else
-            fDeviceByUser = true;
-    }
-
-    rc = caInitInput(hw);
-    if (RT_UNLIKELY(rc != 0))
-        return rc;
-
-    /* The samples have to correspond to the internal ring buffer size. */
-    hw->samples = (IORingBufferSize(caVoice->pBuf) >> hw->info.shift) / caVoice->streamFormat.mChannelsPerFrame;
-
-    /* When the devices isn't forced by the user, we want default device change
-     * notifications. */
-    if (!fDeviceByUser)
-    {
-        err = AudioHardwareAddPropertyListener(kAudioHardwarePropertyDefaultInputDevice,
-                                               caRecordingDefaultDeviceChanged,
-                                               caVoice);
-        /* Not Fatal */
-        if (RT_UNLIKELY(err != noErr))
-            LogRel(("CoreAudio: [Input] Failed to add the default device changed listener (%RI32)\n", err));
-    }
-
-    Log(("CoreAudio: [Input] HW samples: %d\n", hw->samples));
-
-    return 0;
-}
-
-/*******************************************************************************
- *
- * CoreAudio global section
- *
- ******************************************************************************/
-
-static void *coreaudio_audio_init(void)
-{
-    return &conf;
-}
-
-static void coreaudio_audio_fini(void *opaque)
-{
-    NOREF(opaque);
-}
-
-static struct audio_option coreaudio_options[] =
-{
-    {"OutputDeviceUID", AUD_OPT_STR, &conf.pszOutputDeviceUID,
-     "UID of the output device to use", NULL, 0},
-    {"InputDeviceUID", AUD_OPT_STR, &conf.pszInputDeviceUID,
-     "UID of the input device to use", NULL, 0},
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static struct audio_pcm_ops coreaudio_pcm_ops =
-{
-    coreaudio_init_out,
-    coreaudio_fini_out,
-    coreaudio_run_out,
-    coreaudio_write,
-    coreaudio_ctl_out,
-
-    coreaudio_init_in,
-    coreaudio_fini_in,
-    coreaudio_run_in,
-    coreaudio_read,
-    coreaudio_ctl_in
-};
-
-struct audio_driver coreaudio_audio_driver =
-{
-    INIT_FIELD(name           =) "coreaudio",
-    INIT_FIELD(descr          =)
-    "CoreAudio http://developer.apple.com/audio/coreaudio.html",
-    INIT_FIELD(options        =) coreaudio_options,
-    INIT_FIELD(init           =) coreaudio_audio_init,
-    INIT_FIELD(fini           =) coreaudio_audio_fini,
-    INIT_FIELD(pcm_ops        =) &coreaudio_pcm_ops,
-    INIT_FIELD(can_be_default =) 1,
-    INIT_FIELD(max_voices_out =) 1,
-    INIT_FIELD(max_voices_in  =) 1,
-    INIT_FIELD(voice_size_out =) sizeof(caVoiceOut),
-    INIT_FIELD(voice_size_in  =) sizeof(caVoiceIn)
-};
-
diff --git a/src/VBox/Devices/Audio/dsound_template.h b/src/VBox/Devices/Audio/dsound_template.h
deleted file mode 100644
index 7fbda13..0000000
--- a/src/VBox/Devices/Audio/dsound_template.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/* $Id: dsound_template.h $ */
-
-/*
- * Copyright (C) 2014 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- * --------------------------------------------------------------------
- *
- * QEMU DirectSound audio driver header
- *
- * Copyright (c) 2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifdef DSBTYPE_IN
-#define NAME "capture buffer"
-#define TYPE in
-#define IFACE IDirectSoundCaptureBuffer
-#define BUFPTR LPDIRECTSOUNDCAPTUREBUFFER
-#define FIELD dsound_capture_buffer
-#else
-#define NAME "playback buffer"
-#define TYPE out
-#define IFACE IDirectSoundBuffer
-#define BUFPTR LPDIRECTSOUNDBUFFER
-#define FIELD dsound_buffer
-#endif
-
-static int glue (dsound_unlock_, TYPE) (
-    BUFPTR buf,
-    LPVOID p1,
-    LPVOID p2,
-    DWORD blen1,
-    DWORD blen2
-    )
-{
-    HRESULT hr;
-
-    hr = glue (IFACE, _Unlock) (buf, p1, blen1, p2, blen2);
-    if (FAILED (hr)) {
-        dsound_logerr (hr, "Could not unlock " NAME "\n");
-        return -1;
-    }
-
-    return 0;
-}
-
-static int glue (dsound_lock_, TYPE) (
-    BUFPTR buf,
-    struct audio_pcm_info *info,
-    DWORD pos,
-    DWORD len,
-    LPVOID *p1p,
-    LPVOID *p2p,
-    DWORD *blen1p,
-    DWORD *blen2p,
-    int entire
-    )
-{
-    HRESULT hr;
-    int i;
-    LPVOID p1 = NULL, p2 = NULL;
-    DWORD blen1 = 0, blen2 = 0;
-    DWORD flag;
-
-#ifdef DSBTYPE_IN
-    flag = entire ? DSCBLOCK_ENTIREBUFFER : 0;
-#else
-    flag = entire ? DSBLOCK_ENTIREBUFFER : 0;
-#endif
-
-    for (i = 0; i < conf.lock_retries; ++i) {
-        hr = glue (IFACE, _Lock) (
-            buf,
-            pos,
-            len,
-            &p1,
-            &blen1,
-            &p2,
-            &blen2,
-            flag
-            );
-
-        if (FAILED (hr)) {
-#ifndef DSBTYPE_IN
-            if (hr == DSERR_BUFFERLOST) {
-                if (glue (dsound_restore_, TYPE) (buf)) {
-                    dsound_logerr (hr, "Could not lock " NAME "\n");
-                    goto fail;
-                }
-                continue;
-            }
-#endif
-            dsound_logerr (hr, "Could not lock " NAME "\n");
-            goto fail;
-        }
-
-        break;
-    }
-
-    if (i == conf.lock_retries) {
-        dolog ("%d attempts to lock " NAME " failed\n", i);
-        goto fail;
-    }
-
-    if ((p1 && (blen1 & info->align)) || (p2 && (blen2 & info->align))) {
-        dolog ("DirectSound returned misaligned buffer %ld %ld\n",
-               blen1, blen2);
-        glue (dsound_unlock_, TYPE) (buf, p1, p2, blen1, blen2);
-        goto fail;
-    }
-
-    if (!p1 && blen1) {
-        dolog ("warning: !p1 && blen1=%ld\n", blen1);
-        blen1 = 0;
-    }
-
-    if (!p2 && blen2) {
-        dolog ("warning: !p2 && blen2=%ld\n", blen2);
-        blen2 = 0;
-    }
-
-    *p1p = p1;
-    *p2p = p2;
-    *blen1p = blen1;
-    *blen2p = blen2;
-    return 0;
-
- fail:
-    *p1p = NULL;
-    *p2p = NULL;
-    *blen1p = -1;
-    *blen2p = -1;
-    return -1;
-}
-
-#ifdef DSBTYPE_IN
-static void dsound_fini_in (HWVoiceIn *hw)
-{
-    DSoundVoiceIn *ds = (DSoundVoiceIn *) hw;
-    dsoundCaptureClose (ds);
-    ds->last_read_pos = 0;
-    ds->capture_buffer_size = 0;
-    memset (&ds->as, 0, sizeof(ds->as));
-}
-#else
-static void dsound_fini_out (HWVoiceOut *hw)
-{
-    DSoundVoiceOut *ds = (DSoundVoiceOut *) hw;
-    dsoundPlayClose (ds);
-    ds->old_pos = 0;
-    ds->first_time = 1;
-    ds->playback_buffer_size = 0;
-    memset (&ds->as, 0, sizeof(ds->as));
-}
-#endif
-
-#ifdef DSBTYPE_IN
-static int dsound_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    DSoundVoiceIn *ds = (DSoundVoiceIn *) hw;
-
-    ds->last_read_pos = 0;
-    ds->capture_buffer_size = 0;
-    ds->dsound_capture = NULL;
-    ds->dsound_capture_buffer = NULL;
-    ds->as = *as;
-
-    /* Init default settings. */
-    audio_pcm_init_info (&hw->info, &ds->as);
-    hw->samples = conf.bufsize_in >> hw->info.shift;
-
-    /* Try to open capture in case the device is already there. */
-    dsoundCaptureOpen (ds);
-
-    return 0;
-}
-#else
-static int dsound_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    DSoundVoiceOut *ds = (DSoundVoiceOut *) hw;
-
-    ds->dsound = NULL;
-    ds->dsound_buffer = NULL;
-    ds->old_pos = 0;
-    ds->first_time = 1;
-    ds->playback_buffer_size = 0;
-    ds->as = *as;
-
-    /* Init default settings. */
-    audio_pcm_init_info (&hw->info, &ds->as);
-    hw->samples = conf.bufsize_out >> hw->info.shift;
-
-    /* Try to open playback in case the device is already there. */
-    dsoundPlayOpen (ds);
-
-    return 0;
-}
-#endif
-
-#undef NAME
-#undef TYPE
-#undef IFACE
-#undef BUFPTR
-#undef FIELD
diff --git a/src/VBox/Devices/Audio/dsoundaudio.c b/src/VBox/Devices/Audio/dsoundaudio.c
deleted file mode 100644
index 3271e83..0000000
--- a/src/VBox/Devices/Audio/dsoundaudio.c
+++ /dev/null
@@ -1,1351 +0,0 @@
-/* $Id: dsoundaudio.c $ */
-/** @file
- * DirectSound Windows Host Audio Backend.
- */
-
-/*
- * Copyright (C) 2014 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- * --------------------------------------------------------------------
- *
- * QEMU DirectSound audio driver
- *
- * Copyright (c) 2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/*
- * SEAL 1.07 by Carlos 'pel' Hasan was used as documentation
- */
-
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#define _WIN32_DCOM
-#include <windows.h>
-#include <objbase.h>
-#include <dsound.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#include "audio.h"
-#include <iprt/alloc.h>
-#include <iprt/uuid.h>
-#include <VBox/log.h>
-
-
-#define AUDIO_CAP "dsound"
-#include "audio_int.h"
-
-#define DSLOGF(a) do { LogRel2(a); } while(0)
-#define DSLOGREL(a)                 \
-    do {                            \
-        static int8_t scLogged = 0; \
-        if (scLogged < 8) {         \
-            ++scLogged;             \
-            LogRel(a);              \
-        }                           \
-        else {                      \
-            DSLOGF(a);              \
-        }                           \
-    } while (0)
-
-static struct {
-    int lock_retries;
-    int restore_retries;
-    int getstatus_retries;
-    int bufsize_in;
-    int bufsize_out;
-    int latency_millis;
-    char *device_guid_out;
-    char *device_guid_in;
-} conf = {
-    1,
-    1,
-    1,
-    16384,
-    16384,
-    10,
-    NULL,
-    NULL
-};
-
-typedef struct {
-    RTUUID devguid_play;
-    LPCGUID devguidp_play;
-    RTUUID devguid_capture;
-    LPCGUID devguidp_capture;
-} dsound;
-
-static dsound glob_dsound;
-
-typedef struct {
-    HWVoiceOut hw;
-    LPDIRECTSOUND dsound;
-    LPDIRECTSOUNDBUFFER dsound_buffer;
-    DWORD old_pos;
-    int first_time;
-    int playback_buffer_size;
-    audsettings_t as;
-} DSoundVoiceOut;
-
-typedef struct {
-    HWVoiceIn hw;
-    int last_read_pos;
-    int capture_buffer_size;
-    LPDIRECTSOUNDCAPTURE dsound_capture;
-    LPDIRECTSOUNDCAPTUREBUFFER dsound_capture_buffer;
-    audsettings_t as;
-    HRESULT hr_last_run_in;
-} DSoundVoiceIn;
-
-static void dsound_clear_sample (DSoundVoiceOut *ds);
-
-static void dsound_log_hresult (HRESULT hr)
-{
-    const char *str = "BUG";
-
-    switch (hr) {
-    case DS_OK:
-        str = "The method succeeded";
-        break;
-#ifdef DS_NO_VIRTUALIZATION
-    case DS_NO_VIRTUALIZATION:
-        str = "The buffer was created, but another 3D algorithm was substituted";
-        break;
-#endif
-#ifdef DS_INCOMPLETE
-    case DS_INCOMPLETE:
-        str = "The method succeeded, but not all the optional effects were obtained";
-        break;
-#endif
-#ifdef DSERR_ACCESSDENIED
-    case DSERR_ACCESSDENIED:
-        str = "The request failed because access was denied";
-        break;
-#endif
-#ifdef DSERR_ALLOCATED
-    case DSERR_ALLOCATED:
-        str = "The request failed because resources, such as a priority level, were already in use by another caller";
-        break;
-#endif
-#ifdef DSERR_ALREADYINITIALIZED
-    case DSERR_ALREADYINITIALIZED:
-        str = "The object is already initialized";
-        break;
-#endif
-#ifdef DSERR_BADFORMAT
-    case DSERR_BADFORMAT:
-        str = "The specified wave format is not supported";
-        break;
-#endif
-#ifdef DSERR_BADSENDBUFFERGUID
-    case DSERR_BADSENDBUFFERGUID:
-        str = "The GUID specified in an audiopath file does not match a valid mix-in buffer";
-        break;
-#endif
-#ifdef DSERR_BUFFERLOST
-    case DSERR_BUFFERLOST:
-        str = "The buffer memory has been lost and must be restored";
-        break;
-#endif
-#ifdef DSERR_BUFFERTOOSMALL
-    case DSERR_BUFFERTOOSMALL:
-        str = "The buffer size is not great enough to enable effects processing";
-        break;
-#endif
-#ifdef DSERR_CONTROLUNAVAIL
-    case DSERR_CONTROLUNAVAIL:
-        str = "The buffer control (volume, pan, and so on) requested by the caller is not available. Controls must be specified when the buffer is created, using the dwFlags member of DSBUFFERDESC";
-        break;
-#endif
-#ifdef DSERR_DS8_REQUIRED
-    case DSERR_DS8_REQUIRED:
-        str = "A DirectSound object of class CLSID_DirectSound8 or later is required for the requested functionality. For more information, see IDirectSound8 Interface";
-        break;
-#endif
-#ifdef DSERR_FXUNAVAILABLE
-    case DSERR_FXUNAVAILABLE:
-        str = "The effects requested could not be found on the system, or they are in the wrong order or in the wrong location; for example, an effect expected in hardware was found in software";
-        break;
-#endif
-#ifdef DSERR_GENERIC
-    case DSERR_GENERIC :
-        str = "An undetermined error occurred inside the DirectSound subsystem";
-        break;
-#endif
-#ifdef DSERR_INVALIDCALL
-    case DSERR_INVALIDCALL:
-        str = "This function is not valid for the current state of this object";
-        break;
-#endif
-#ifdef DSERR_INVALIDPARAM
-    case DSERR_INVALIDPARAM:
-        str = "An invalid parameter was passed to the returning function";
-        break;
-#endif
-#ifdef DSERR_NOAGGREGATION
-    case DSERR_NOAGGREGATION:
-        str = "The object does not support aggregation";
-        break;
-#endif
-#ifdef DSERR_NODRIVER
-    case DSERR_NODRIVER:
-        str = "No sound driver is available for use, or the given GUID is not a valid DirectSound device ID";
-        break;
-#endif
-#ifdef DSERR_NOINTERFACE
-    case DSERR_NOINTERFACE:
-        str = "The requested COM interface is not available";
-        break;
-#endif
-#ifdef DSERR_OBJECTNOTFOUND
-    case DSERR_OBJECTNOTFOUND:
-        str = "The requested object was not found";
-        break;
-#endif
-#ifdef DSERR_OTHERAPPHASPRIO
-    case DSERR_OTHERAPPHASPRIO:
-        str = "Another application has a higher priority level, preventing this call from succeeding";
-        break;
-#endif
-#ifdef DSERR_OUTOFMEMORY
-    case DSERR_OUTOFMEMORY:
-        str = "The DirectSound subsystem could not allocate sufficient memory to complete the caller's request";
-        break;
-#endif
-#ifdef DSERR_PRIOLEVELNEEDED
-    case DSERR_PRIOLEVELNEEDED:
-        str = "A cooperative level of DSSCL_PRIORITY or higher is required";
-        break;
-#endif
-#ifdef DSERR_SENDLOOP
-    case DSERR_SENDLOOP:
-        str = "A circular loop of send effects was detected";
-        break;
-#endif
-#ifdef DSERR_UNINITIALIZED
-    case DSERR_UNINITIALIZED:
-        str = "The Initialize method has not been called or has not been called successfully before other methods were called";
-        break;
-#endif
-#ifdef DSERR_UNSUPPORTED
-    case DSERR_UNSUPPORTED:
-        str = "The function called is not supported at this time";
-        break;
-#endif
-    default:
-        AUD_log (AUDIO_CAP, "Reason: Unknown (HRESULT %#lx)\n", hr);
-        return;
-    }
-
-    AUD_log (AUDIO_CAP, "Reason: %s\n", str);
-}
-
-static void GCC_FMT_ATTR (2, 3) dsound_logerr (
-    HRESULT hr,
-    const char *fmt,
-    ...
-    )
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    dsound_log_hresult (hr);
-}
-
-static void GCC_FMT_ATTR (3, 4) dsound_logerr2 (
-    HRESULT hr,
-    const char *typ,
-    const char *fmt,
-    ...
-    )
-{
-    va_list ap;
-
-    AUD_log (AUDIO_CAP, "Could not initialize %s\n", typ);
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    dsound_log_hresult (hr);
-}
-
-static DWORD millis_to_bytes (struct audio_pcm_info *info, DWORD millis)
-{
-    return (millis * info->bytes_per_second) / 1000;
-}
-
-static int dsound_restore_out (LPDIRECTSOUNDBUFFER dsb)
-{
-    HRESULT hr;
-    int i;
-
-    for (i = 0; i < conf.restore_retries; ++i) {
-        hr = IDirectSoundBuffer_Restore (dsb);
-
-        switch (hr) {
-        case DS_OK:
-            return 0;
-
-        case DSERR_BUFFERLOST:
-            continue;
-
-        default:
-            DSLOGREL(("DSound: restore playback buffer %Rhrc\n", hr));
-            return -1;
-        }
-    }
-
-    DSLOGF(("DSound: %d attempts to restore playback buffer failed\n", i));
-    return -1;
-}
-
-static int waveformat_from_audio_settings (WAVEFORMATEX *wfx, audsettings_t *as)
-{
-    memset (wfx, 0, sizeof (*wfx));
-
-    wfx->wFormatTag = WAVE_FORMAT_PCM;
-    wfx->nChannels = as->nchannels;
-    wfx->nSamplesPerSec = as->freq;
-    wfx->nAvgBytesPerSec = as->freq << (as->nchannels == 2);
-    wfx->nBlockAlign = 1 << (as->nchannels == 2);
-    wfx->cbSize = 0;
-
-    switch (as->fmt) {
-    case AUD_FMT_S8:
-    case AUD_FMT_U8:
-        wfx->wBitsPerSample = 8;
-        break;
-
-    case AUD_FMT_S16:
-    case AUD_FMT_U16:
-        wfx->wBitsPerSample = 16;
-        wfx->nAvgBytesPerSec <<= 1;
-        wfx->nBlockAlign <<= 1;
-        break;
-
-    case AUD_FMT_S32:
-    case AUD_FMT_U32:
-        wfx->wBitsPerSample = 32;
-        wfx->nAvgBytesPerSec <<= 2;
-        wfx->nBlockAlign <<= 2;
-        break;
-
-    default:
-        dolog ("Internal logic error: Bad audio format %d\n", as->freq);
-        return -1;
-    }
-
-    return 0;
-}
-
-static int waveformat_to_audio_settings (WAVEFORMATEX *wfx, audsettings_t *as)
-{
-    if (wfx->wFormatTag != WAVE_FORMAT_PCM) {
-        dolog ("Invalid wave format, tag is not PCM, but %d\n",
-               wfx->wFormatTag);
-        return -1;
-    }
-
-    if (!wfx->nSamplesPerSec) {
-        dolog ("Invalid wave format, frequency is zero\n");
-        return -1;
-    }
-    as->freq = wfx->nSamplesPerSec;
-
-    switch (wfx->nChannels) {
-    case 1:
-        as->nchannels = 1;
-        break;
-
-    case 2:
-        as->nchannels = 2;
-        break;
-
-    default:
-        dolog (
-            "Invalid wave format, number of channels is not 1 or 2, but %d\n",
-            wfx->nChannels
-            );
-        return -1;
-    }
-
-    switch (wfx->wBitsPerSample) {
-    case 8:
-        as->fmt = AUD_FMT_U8;
-        break;
-
-    case 16:
-        as->fmt = AUD_FMT_S16;
-        break;
-
-    case 32:
-        as->fmt = AUD_FMT_S32;
-        break;
-
-    default:
-        dolog ("Invalid wave format, bits per sample is not "
-               "8, 16 or 32, but %d\n",
-               wfx->wBitsPerSample);
-        return -1;
-    }
-
-    return 0;
-}
-
-/*
- * DirectSound playback
- */
-
-static void dsoundPlayInterfaceRelease (DSoundVoiceOut *ds)
-{
-    if (ds->dsound) {
-        IDirectSound_Release (ds->dsound);
-        ds->dsound = NULL;
-    }
-}
-
-static int dsoundPlayInterfaceCreate (DSoundVoiceOut *ds)
-{
-    dsound *s = &glob_dsound;
-
-    HRESULT hr;
-
-    if (ds->dsound != NULL) {
-        DSLOGF(("DSound: DirectSound instance already exists\n"));
-        return 0;
-    }
-
-    hr = CoCreateInstance (&CLSID_DirectSound, NULL, CLSCTX_ALL,
-                           &IID_IDirectSound, (void **) &ds->dsound);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: DirectSound create instance %Rhrc\n", hr));
-    }
-    else {
-        hr = IDirectSound_Initialize (ds->dsound, s->devguidp_play);
-        if (SUCCEEDED(hr)) {
-            HWND hwnd = GetDesktopWindow ();
-            hr = IDirectSound_SetCooperativeLevel (ds->dsound, hwnd, DSSCL_PRIORITY);
-            if (FAILED (hr)) {
-                DSLOGREL(("DSound: set cooperative level for window %p %Rhrc\n", hwnd, hr));
-            }
-        }
-        if (FAILED (hr)) {
-            if (hr == DSERR_NODRIVER) {
-                DSLOGREL(("DSound: DirectSound playback is currently unavailable\n"));
-            }
-            else {
-                DSLOGREL(("DSound: DirectSound initialize %Rhrc\n", hr));
-            }
-            dsoundPlayInterfaceRelease (ds);
-        }
-    }
-
-    return SUCCEEDED (hr)? 0: -1;
-}
-
-static void dsoundPlayClose (DSoundVoiceOut *ds)
-{
-    dsound *s = &glob_dsound;
-
-    HRESULT hr;
-
-    DSLOGF(("DSound: playback close %p buffer %p\n", ds, ds->dsound_buffer));
-
-    if (ds->dsound_buffer) {
-        hr = IDirectSoundBuffer_Stop (ds->dsound_buffer);
-        if (FAILED (hr)) {
-            DSLOGREL(("DSound: playback close Stop %Rhrc\n", hr));
-        }
-
-        IDirectSoundBuffer_Release (ds->dsound_buffer);
-        ds->dsound_buffer = NULL;
-    }
-
-    dsoundPlayInterfaceRelease (ds);
-}
-
-static int dsoundPlayOpen (DSoundVoiceOut *ds)
-{
-    dsound *s = &glob_dsound;
-
-    int err;
-    HRESULT hr;
-    WAVEFORMATEX wfx;
-    DSBUFFERDESC bd;
-    DSBCAPS bc;
-
-    DSLOGF(("DSound: playback open %p size %d samples, freq %d, chan %d, bits %d, sign %d\n",
-            ds,
-            ds->hw.samples,
-            ds->hw.info.freq,
-            ds->hw.info.nchannels,
-            ds->hw.info.bits,
-            ds->hw.info.sign));
-
-    if (ds->dsound_buffer != NULL) {
-        /* Should not happen but be forgiving. */
-        DSLOGREL(("DSound: DirectSoundBuffer already exists\n"));
-        dsoundPlayClose (ds);
-    }
-
-    err = waveformat_from_audio_settings (&wfx, &ds->as);
-    if (err) {
-        return err;
-    }
-
-    err = dsoundPlayInterfaceCreate (ds);
-    if (err) {
-        return err;
-    }
-
-    memset (&bd, 0, sizeof (bd));
-    bd.dwSize = sizeof (bd);
-    bd.lpwfxFormat = &wfx;
-    bd.dwFlags = DSBCAPS_GLOBALFOCUS | DSBCAPS_GETCURRENTPOSITION2;
-    bd.dwBufferBytes = ds->hw.samples << ds->hw.info.shift;
-    hr = IDirectSound_CreateSoundBuffer (ds->dsound,
-                                         &bd, &ds->dsound_buffer, NULL);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: playback CreateSoundBuffer %Rhrc\n", hr));
-        goto fail0;
-    }
-
-    /* Query the actual parameters. */
-
-    hr = IDirectSoundBuffer_GetFormat (ds->dsound_buffer, &wfx, sizeof (wfx), NULL);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: playback GetFormat %Rhrc\n", hr));
-        goto fail0;
-    }
-
-    memset (&bc, 0, sizeof (bc));
-    bc.dwSize = sizeof (bc);
-    hr = IDirectSoundBuffer_GetCaps (ds->dsound_buffer, &bc);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: playback GetCaps %Rhrc\n", hr));
-        goto fail0;
-    }
-
-    DSLOGF(("DSound: playback format: size %d bytes\n"
-            "  tag             = %d\n"
-            "  nChannels       = %d\n"
-            "  nSamplesPerSec  = %d\n"
-            "  nAvgBytesPerSec = %d\n"
-            "  nBlockAlign     = %d\n"
-            "  wBitsPerSample  = %d\n"
-            "  cbSize          = %d\n",
-            bc.dwBufferBytes,
-            wfx.wFormatTag,
-            wfx.nChannels,
-            wfx.nSamplesPerSec,
-            wfx.nAvgBytesPerSec,
-            wfx.nBlockAlign,
-            wfx.wBitsPerSample,
-            wfx.cbSize));
-
-    if (bc.dwBufferBytes & ds->hw.info.align) {
-        DSLOGREL(("DSound: playback GetCaps returned misaligned buffer size %ld, alignment %d\n",
-                  bc.dwBufferBytes, ds->hw.info.align + 1));
-    }
-
-    if (ds->hw.samples != 0 && ds->hw.samples != (bc.dwBufferBytes >> ds->hw.info.shift)) {
-        DSLOGREL(("DSound: playback buffer size mismatch dsound %d, hw %d bytes\n",
-                  bc.dwBufferBytes, ds->hw.samples << ds->hw.info.shift));
-    }
-
-    /* Initial state.
-     * dsoundPlayStart initializes part of it to make sure that Stop/Start continues with a correct
-     * playback buffer position.
-     */
-    ds->playback_buffer_size = bc.dwBufferBytes >> ds->hw.info.shift;
-    DSLOGF(("DSound: playback open playback_buffer_size %d\n", ds->playback_buffer_size));
-
-    return 0;
-
- fail0:
-    dsoundPlayClose (ds);
-    return -1;
-}
-
-static int dsoundPlayGetStatus (DSoundVoiceOut *ds, DWORD *statusp)
-{
-    HRESULT hr;
-    DWORD status;
-    int i;
-
-    if (ds->dsound_buffer != NULL) {
-        for (i = 0; i < RT_MAX(conf.getstatus_retries, 1); ++i) {
-            hr = IDirectSoundBuffer_GetStatus (ds->dsound_buffer, &status);
-            if (FAILED (hr)) {
-                DSLOGF(("DSound: playback start GetStatus %Rhrc\n", hr));
-                break;
-            }
-
-            if ((status & DSBSTATUS_BUFFERLOST) == 0) {
-                break;
-            }
-
-            if (dsound_restore_out (ds->dsound_buffer)) {
-                hr = E_FAIL;
-                break;
-            }
-        }
-    }
-    else
-    {
-        hr = E_FAIL;
-    }
-
-    if (SUCCEEDED (hr)) {
-        *statusp = status;
-        return 0;
-    }
-    return -1;
-}
-
-static void dsoundPlayStop (DSoundVoiceOut *ds)
-{
-    HRESULT hr;
-    DWORD status;
-
-    if (ds->dsound_buffer != NULL) {
-        /* This performs some restore, so call it anyway and ignore result. */
-        dsoundPlayGetStatus (ds, &status);
-
-        hr = IDirectSoundBuffer_Stop (ds->dsound_buffer);
-        if (FAILED (hr)) {
-            DSLOGF(("DSound: stop playback buffer %Rhrc\n", hr));
-        }
-    }
-}
-
-static int dsoundPlayStart (DSoundVoiceOut *ds)
-{
-    HRESULT hr;
-    DWORD status;
-
-    if (ds->dsound_buffer != NULL) {
-        if (dsoundPlayGetStatus (ds, &status)) {
-            DSLOGF(("DSound: playback start GetStatus failed\n"));
-            hr = E_FAIL;
-        }
-        else {
-            if (status & DSBSTATUS_PLAYING) {
-                DSLOGF(("DSound: already playing\n"));
-            }
-            else {
-                dsound_clear_sample (ds);
-
-                /* Reinit the playback buffer position. */
-                ds->first_time = 1;
-
-                DSLOGF(("DSound: playback start\n"));
-
-                hr = IDirectSoundBuffer_Play (ds->dsound_buffer, 0, 0, DSBPLAY_LOOPING);
-                if (FAILED (hr)) {
-                    DSLOGREL(("DSound: playback start %Rhrc\n", hr));
-                }
-            }
-        }
-    }
-    else {
-        hr = E_FAIL;
-    }
-
-    return SUCCEEDED (hr)? 0: -1;
-}
-
-/*
- * DirectSoundCapture
- */
-
-static void dsoundCaptureInterfaceRelease (DSoundVoiceIn *ds)
-{
-    if (ds->dsound_capture) {
-        IDirectSoundCapture_Release (ds->dsound_capture);
-        ds->dsound_capture = NULL;
-    }
-}
-
-static int dsoundCaptureInterfaceCreate (DSoundVoiceIn *ds)
-{
-    dsound *s = &glob_dsound;
-
-    HRESULT hr;
-
-    if (ds->dsound_capture != NULL) {
-        DSLOGF(("DSound: DirectSoundCapture instance already exists\n"));
-        return 0;
-    }
-
-    hr = CoCreateInstance (&CLSID_DirectSoundCapture, NULL, CLSCTX_ALL,
-                           &IID_IDirectSoundCapture, (void **) &ds->dsound_capture);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: DirectSoundCapture create instance %Rhrc\n", hr));
-    }
-    else {
-        hr = IDirectSoundCapture_Initialize (ds->dsound_capture, s->devguidp_capture);
-        if (FAILED (hr)) {
-            if (hr == DSERR_NODRIVER) {
-                DSLOGREL(("DSound: DirectSound capture is currently unavailable\n"));
-            }
-            else {
-                DSLOGREL(("DSound: DirectSoundCapture initialize %Rhrc\n", hr));
-            }
-            dsoundCaptureInterfaceRelease (ds);
-        }
-    }
-
-    return SUCCEEDED (hr)? 0: -1;
-}
-
-static void dsoundCaptureClose (DSoundVoiceIn *ds)
-{
-    dsound *s = &glob_dsound;
-
-    DSLOGF(("DSound: capture close %p buffer %p\n", ds, ds->dsound_capture_buffer));
-
-    if (ds->dsound_capture_buffer) {
-        HRESULT hr = IDirectSoundCaptureBuffer_Stop (ds->dsound_capture_buffer);
-        if (FAILED (hr)) {
-            DSLOGF(("DSound: close capture buffer stop %Rhrc\n", hr));
-        }
-
-        IDirectSoundCaptureBuffer_Release (ds->dsound_capture_buffer);
-        ds->dsound_capture_buffer = NULL;
-    }
-
-    dsoundCaptureInterfaceRelease (ds);
-}
-
-static int dsoundCaptureOpen (DSoundVoiceIn *ds)
-{
-    dsound *s = &glob_dsound;
-
-    int err;
-    HRESULT hr;
-    WAVEFORMATEX wfx;
-    DSCBUFFERDESC bd;
-    DSCBCAPS bc;
-    DWORD rpos;
-
-    DSLOGF(("DSound: capture open %p size %d samples, freq %d, chan %d, bits %d, sign %d\n",
-            ds,
-            ds->hw.samples,
-            ds->hw.info.freq,
-            ds->hw.info.nchannels,
-            ds->hw.info.bits,
-            ds->hw.info.sign));
-
-    if (ds->dsound_capture_buffer != NULL) {
-        /* Should not happen but be forgiving. */
-        DSLOGREL(("DSound: DirectSoundCaptureBuffer already exists\n"));
-        dsoundCaptureClose (ds);
-    }
-
-    err = waveformat_from_audio_settings (&wfx, &ds->as);
-    if (err) {
-        return err;
-    }
-
-    err = dsoundCaptureInterfaceCreate (ds);
-    if (err) {
-        return err;
-    }
-
-    memset (&bd, 0, sizeof (bd));
-    bd.dwSize = sizeof (bd);
-    bd.lpwfxFormat = &wfx;
-    bd.dwBufferBytes = ds->hw.samples << ds->hw.info.shift;
-    hr = IDirectSoundCapture_CreateCaptureBuffer (ds->dsound_capture,
-                                                  &bd, &ds->dsound_capture_buffer, NULL);
-
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: create capture buffer %Rhrc\n", hr));
-        ds->dsound_capture_buffer = NULL;
-        goto fail0;
-    }
-
-    /* Query the actual parameters. */
-
-    hr = IDirectSoundCaptureBuffer_GetCurrentPosition (ds->dsound_capture_buffer, NULL, &rpos);
-    if (FAILED (hr)) {
-        rpos = 0;
-        DSLOGF(("DSound: open GetCurrentPosition %Rhrc\n", hr));
-    }
-
-    memset (&wfx, 0, sizeof (wfx));
-    hr = IDirectSoundCaptureBuffer_GetFormat (ds->dsound_capture_buffer, &wfx, sizeof (wfx), NULL);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: capture buffer GetFormat %Rhrc\n", hr));
-        goto fail0;
-    }
-
-    memset (&bc, 0, sizeof (bc));
-    bc.dwSize = sizeof (bc);
-    hr = IDirectSoundCaptureBuffer_GetCaps (ds->dsound_capture_buffer, &bc);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: capture buffer GetCaps %Rhrc\n", hr));
-        goto fail0;
-    }
-
-    DSLOGF(("DSound: capture buffer format: size %d bytes\n"
-            "  tag             = %d\n"
-            "  nChannels       = %d\n"
-            "  nSamplesPerSec  = %d\n"
-            "  nAvgBytesPerSec = %d\n"
-            "  nBlockAlign     = %d\n"
-            "  wBitsPerSample  = %d\n"
-            "  cbSize          = %d\n",
-            bc.dwBufferBytes,
-            wfx.wFormatTag,
-            wfx.nChannels,
-            wfx.nSamplesPerSec,
-            wfx.nAvgBytesPerSec,
-            wfx.nBlockAlign,
-            wfx.wBitsPerSample,
-            wfx.cbSize));
-
-    if (bc.dwBufferBytes & ds->hw.info.align) {
-        DSLOGREL(("DSound: GetCaps returned misaligned buffer size %ld, alignment %d\n",
-                  bc.dwBufferBytes, ds->hw.info.align + 1));
-    }
-
-    if (ds->hw.samples != 0 && ds->hw.samples != (bc.dwBufferBytes >> ds->hw.info.shift)) {
-        DSLOGREL(("DSound: buffer size mismatch dsound %d, hw %d bytes\n",
-                  bc.dwBufferBytes, ds->hw.samples << ds->hw.info.shift));
-    }
-
-    /* Initial state: reading at the initial capture position. */
-    ds->hw.wpos = 0;
-    ds->last_read_pos = rpos >> ds->hw.info.shift;
-    ds->capture_buffer_size = bc.dwBufferBytes >> ds->hw.info.shift;
-    DSLOGF(("DSound: capture open last_read_pos %d, capture_buffer_size %d\n", ds->last_read_pos, ds->capture_buffer_size));
-
-    ds->hr_last_run_in = S_OK;
-
-    return 0;
-
- fail0:
-    dsoundCaptureClose (ds);
-    return -1;
-}
-
-static void dsoundCaptureStop (DSoundVoiceIn *ds)
-{
-    if (ds->dsound_capture_buffer) {
-        HRESULT hr = IDirectSoundCaptureBuffer_Stop (ds->dsound_capture_buffer);
-        if (FAILED (hr)) {
-            DSLOGF(("DSound: stop capture buffer %Rhrc\n", hr));
-        }
-    }
-}
-
-static int dsoundCaptureStart (DSoundVoiceIn *ds)
-{
-    HRESULT hr;
-    DWORD status;
-
-    if (ds->dsound_capture_buffer != NULL) {
-        hr = IDirectSoundCaptureBuffer_GetStatus (ds->dsound_capture_buffer, &status);
-        if (FAILED (hr)) {
-            DSLOGF(("DSound: start GetStatus %Rhrc\n", hr));
-        }
-        else {
-            if (status & DSCBSTATUS_CAPTURING) {
-                DSLOGF(("DSound: already capturing\n"));
-            }
-            else {
-                /** @todo Fill the capture beffer with silence here. */
-
-                DSLOGF(("DSound: capture start\n"));
-                hr = IDirectSoundCaptureBuffer_Start (ds->dsound_capture_buffer, DSCBSTART_LOOPING);
-                if (FAILED (hr)) {
-                    DSLOGREL(("DSound: start %Rhrc\n", hr));
-                }
-            }
-        }
-    }
-    else {
-        hr = E_FAIL;
-    }
-
-    return SUCCEEDED (hr)? 0: -1;
-}
-
-#include "dsound_template.h"
-#define DSBTYPE_IN
-#include "dsound_template.h"
-#undef DSBTYPE_IN
-
-static void dsound_write_sample (HWVoiceOut *hw, uint8_t *dst, int dst_len)
-{
-    int src_len1 = dst_len;
-    int src_len2 = 0;
-    int pos = hw->rpos + dst_len;
-    st_sample_t *src1 = hw->mix_buf + hw->rpos;
-    st_sample_t *src2 = NULL;
-
-    if (pos > hw->samples) {
-        src_len1 = hw->samples - hw->rpos;
-        src2 = hw->mix_buf;
-        src_len2 = dst_len - src_len1;
-        pos = src_len2;
-    }
-
-    if (src_len1) {
-        hw->clip (dst, src1, src_len1);
-    }
-
-    if (src_len2) {
-        dst = advance (dst, src_len1 << hw->info.shift);
-        hw->clip (dst, src2, src_len2);
-    }
-
-    hw->rpos = pos % hw->samples;
-}
-
-static void dsound_clear_sample (DSoundVoiceOut *ds)
-{
-    int err;
-    LPVOID p1, p2;
-    DWORD blen1, blen2, len1, len2;
-
-    err = dsound_lock_out (
-        ds->dsound_buffer,
-        &ds->hw.info,
-        0,
-        ds->playback_buffer_size << ds->hw.info.shift,
-        &p1, &p2,
-        &blen1, &blen2,
-        1
-        );
-    if (err) {
-        return;
-    }
-
-    len1 = blen1 >> ds->hw.info.shift;
-    len2 = blen2 >> ds->hw.info.shift;
-
-    if (p1 && len1) {
-        audio_pcm_info_clear_buf (&ds->hw.info, p1, len1);
-    }
-
-    if (p2 && len2) {
-        audio_pcm_info_clear_buf (&ds->hw.info, p2, len2);
-    }
-
-    dsound_unlock_out (ds->dsound_buffer, p1, p2, blen1, blen2);
-}
-
-static int dsound_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    DSoundVoiceOut *ds = (DSoundVoiceOut *) hw;
-
-    switch (cmd) {
-    case VOICE_ENABLE:
-        /* Try to start playback. If it fails, then reopen and try again. */
-        if (dsoundPlayStart (ds)) {
-            dsoundPlayClose (ds);
-            dsoundPlayOpen (ds);
-
-            if (dsoundPlayStart (ds)) {
-                return -1;
-            }
-        }
-        break;
-
-    case VOICE_DISABLE:
-        dsoundPlayStop (ds);
-        break;
-    }
-    return 0;
-}
-
-static int dsound_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int dsound_run_out (HWVoiceOut *hw)
-{
-    int err;
-    HRESULT hr;
-    DSoundVoiceOut *ds = (DSoundVoiceOut *) hw;
-    LPDIRECTSOUNDBUFFER dsb = ds->dsound_buffer;
-    int live, len, hwshift;
-    DWORD blen1, blen2;
-    DWORD len1, len2;
-    DWORD decr;
-    DWORD wpos, ppos, old_pos;
-    LPVOID p1, p2;
-    int bufsize;
-
-    if (!dsb) {
-        DSLOGF(("DSound: run_out no playback buffer\n"));
-        return 0;
-    }
-
-    hwshift = hw->info.shift;
-    bufsize = ds->playback_buffer_size << hwshift;
-
-    live = audio_pcm_hw_get_live_out (hw);
-
-    hr = IDirectSoundBuffer_GetCurrentPosition (
-        dsb,
-        &ppos,
-        &wpos
-        );
-    if (hr == DSERR_BUFFERLOST) {
-        if (dsound_restore_out(dsb))
-            return 0;
-        hr = IDirectSoundBuffer_GetCurrentPosition(dsb, &ppos, &wpos);
-        if (hr == DSERR_BUFFERLOST)
-            return 0;   // Avoid log flooding if the error is still there.
-    }
-    if (FAILED (hr)) {
-        DSLOGF(("DSound: get playback buffer position %Rhrc\n", hr));
-        return 0;
-    }
-
-    len = live << hwshift;
-
-    if (ds->first_time) {
-        if (conf.latency_millis) {
-            DWORD cur_blat;
-            DWORD conf_blat;
-
-            conf_blat = millis_to_bytes (&hw->info, conf.latency_millis);
-            cur_blat = audio_ring_dist (wpos, ppos, bufsize);
-            old_pos = wpos;
-            if (conf_blat > cur_blat) /* Do not write before wpos. */
-               old_pos += conf_blat - cur_blat;
-            old_pos %= bufsize;
-            old_pos &= ~hw->info.align;
-        }
-        else {
-            old_pos = wpos;
-        }
-        ds->first_time = 0;
-    }
-    else {
-        if (ds->old_pos == ppos) {
-            /* Full buffer. */
-            return 0;
-        }
-
-        old_pos = ds->old_pos;
-    }
-
-    if ((old_pos < ppos) && ((old_pos + len) > ppos)) {
-        len = ppos - old_pos;
-    }
-    else {
-        if ((old_pos > ppos) && ((old_pos + len) > (ppos + bufsize))) {
-            len = bufsize - old_pos + ppos;
-        }
-    }
-
-    if (audio_bug (AUDIO_FUNC, len < 0 || len > bufsize)) {
-        DSLOGF(("DSound: error len=%d bufsize=%d old_pos=%ld ppos=%ld\n",
-               len, bufsize, old_pos, ppos));
-        return 0;
-    }
-
-    len &= ~hw->info.align;
-    if (!len) {
-        return 0;
-    }
-
-    err = dsound_lock_out (
-        dsb,
-        &hw->info,
-        old_pos,
-        len,
-        &p1, &p2,
-        &blen1, &blen2,
-        0
-        );
-    if (err) {
-        return 0;
-    }
-
-    len1 = blen1 >> hwshift;
-    len2 = blen2 >> hwshift;
-    decr = len1 + len2;
-
-    if (p1 && len1) {
-        dsound_write_sample (hw, p1, len1);
-    }
-
-    if (p2 && len2) {
-        dsound_write_sample (hw, p2, len2);
-    }
-
-    dsound_unlock_out (dsb, p1, p2, blen1, blen2);
-    ds->old_pos = (old_pos + (decr << hwshift)) % bufsize;
-
-    return decr;
-}
-
-static int dsound_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    DSoundVoiceIn *ds = (DSoundVoiceIn *) hw;
-
-    switch (cmd) {
-    case VOICE_ENABLE:
-        /* Try to start capture. If it fails, then reopen and try again. */
-        if (dsoundCaptureStart (ds)) {
-            dsoundCaptureClose (ds);
-            dsoundCaptureOpen (ds);
-
-            if (dsoundCaptureStart (ds)) {
-                return -1;
-            }
-        }
-        break;
-
-    case VOICE_DISABLE:
-        dsoundCaptureStop (ds);
-        break;
-    }
-    return 0;
-}
-
-static int dsound_read (SWVoiceIn *sw, void *buf, int len)
-{
-    return audio_pcm_sw_read (sw, buf, len);
-}
-
-static int dsound_run_in (HWVoiceIn *hw)
-{
-    int err;
-    HRESULT hr;
-    DSoundVoiceIn *ds = (DSoundVoiceIn *) hw;
-    LPDIRECTSOUNDCAPTUREBUFFER dscb = ds->dsound_capture_buffer;
-    int live, len, dead;
-    int ltmp;
-    DWORD blen1, blen2;
-    int len1, len2;
-    int decr;
-    DWORD rpos;
-    LPVOID p1, p2;
-    int hwshift;
-
-    if (!dscb) {
-        DSLOGF(("DSound: run_in no capture buffer\n"));
-        return 0;
-    }
-
-    hwshift = hw->info.shift;
-
-    live = audio_pcm_hw_get_live_in (hw);
-    dead = hw->samples - live;
-    if (!dead) {
-        return 0;
-    }
-
-    hr = IDirectSoundCaptureBuffer_GetCurrentPosition (
-        dscb,
-        NULL,
-        &rpos
-        );
-    if (FAILED (hr)) {
-        if (hr != ds->hr_last_run_in) {
-            DSLOGREL(("DSound: run_in GetCurrentPosition %Rhrc\n", hr));
-        }
-        ds->hr_last_run_in = hr;
-        return 0;
-    }
-    ds->hr_last_run_in = hr;
-
-    if (rpos & hw->info.align) {
-        DSLOGF(("DSound: run_in misaligned read position %ld(%d)\n", rpos, hw->info.align));
-    }
-
-    rpos >>= hwshift;
-
-    /* Number of samples available in the capture buffer. */
-    len = audio_ring_dist (rpos, ds->last_read_pos, ds->capture_buffer_size);
-    if (!len) {
-        return 0;
-    }
-    len = audio_MIN (len, dead);
-
-    err = dsound_lock_in (
-        dscb,
-        &hw->info,
-        ds->last_read_pos << hwshift,
-        len << hwshift,
-        &p1,
-        &p2,
-        &blen1,
-        &blen2,
-        0
-        );
-    if (err) {
-        return 0;
-    }
-
-    len1 = blen1 >> hwshift;
-    len2 = blen2 >> hwshift;
-    decr = len1 + len2;
-
-    if (p1 && len1) {
-        ltmp = audio_MIN(len1, hw->samples - hw->wpos);
-        hw->conv (hw->conv_buf + hw->wpos, p1, ltmp, &pcm_in_volume);
-        if (len1 > ltmp) {
-            hw->conv (hw->conv_buf, (void *)((uintptr_t)p1 + (ltmp << hwshift)), len1 - ltmp, &pcm_in_volume);
-        }
-        hw->wpos = (hw->wpos + len1) % hw->samples;
-    }
-
-    if (p2 && len2) {
-        ltmp = audio_MIN(len2, hw->samples - hw->wpos);
-        hw->conv (hw->conv_buf + hw->wpos, p2, ltmp, &pcm_in_volume);
-        if (len2 > ltmp) {
-            hw->conv (hw->conv_buf, (void *)((uintptr_t)p2 + (ltmp << hwshift)), len2 - ltmp, &pcm_in_volume);
-        }
-        hw->wpos = (hw->wpos + len2) % hw->samples;
-    }
-
-    dsound_unlock_in (dscb, p1, p2, blen1, blen2);
-    ds->last_read_pos = (ds->last_read_pos + decr) % ds->capture_buffer_size;
-    return decr;
-}
-
-static int dsoundIsAvailable (void)
-{
-    LPDIRECTSOUND dsound;
-    HRESULT hr = CoCreateInstance (&CLSID_DirectSound, NULL, CLSCTX_ALL,
-                                   &IID_IDirectSound, (void **) &dsound);
-    if (SUCCEEDED(hr)) {
-        IDirectSound_Release (dsound);
-        return 1;
-    }
-
-    DSLOGREL(("DSound: is unavailable %Rhrc\n", hr));
-    return 0;
-}
-
-static void dsound_audio_fini (void *opaque)
-{
-    dsound *s = opaque;
-    NOREF(s);
-    CoUninitialize();
-}
-
-static void *dsound_audio_init (void)
-{
-    HRESULT hr;
-    dsound *s = &glob_dsound;
-
-    hr = CoInitializeEx (NULL, COINIT_MULTITHREADED);
-    if (FAILED (hr)) {
-        DSLOGREL(("DSound: COM initialize %Rhrc\n", hr));
-        return NULL;
-    }
-
-    if (conf.device_guid_out) {
-        int rc = RTUuidFromStr(&s->devguid_play, conf.device_guid_out);
-        if (FAILED (rc)) {
-            LogRel(("DSound: Could not parse DirectSound output device GUID\n"));
-        }
-        s->devguidp_play = (LPCGUID)&s->devguid_play;
-    } else {
-        s->devguidp_play = NULL;
-    }
-
-    if (conf.device_guid_in) {
-        int rc = RTUuidFromStr(&s->devguid_capture, conf.device_guid_in);
-        if (RT_FAILURE(rc)) {
-            LogRel(("DSound: Could not parse DirectSound input device GUID\n"));
-        }
-        s->devguidp_capture = (LPCGUID)&s->devguid_capture;
-    } else {
-        s->devguidp_capture = NULL;
-    }
-
-    /* Check that DSound interface is available. */
-    if (dsoundIsAvailable ())
-        return s;
-
-    dsound_audio_fini (s);
-    return NULL;
-}
-
-static struct audio_option dsound_options[] = {
-    {"LockRetries", AUD_OPT_INT, &conf.lock_retries,
-     "Number of times to attempt locking the buffer", NULL, 0},
-    {"RestoreRetries", AUD_OPT_INT, &conf.restore_retries,
-     "Number of times to attempt restoring the buffer", NULL, 0},
-    {"GetStatusRetries", AUD_OPT_INT, &conf.getstatus_retries,
-     "Number of times to attempt getting status of the buffer", NULL, 0},
-    {"LatencyMillis", AUD_OPT_INT, &conf.latency_millis,
-     "(undocumented)", NULL, 0},
-    {"BufsizeOut", AUD_OPT_INT, &conf.bufsize_out,
-     "(undocumented)", NULL, 0},
-    {"BufsizeIn", AUD_OPT_INT, &conf.bufsize_in,
-     "(undocumented)", NULL, 0},
-    {"DeviceGuidOut", AUD_OPT_STR, &conf.device_guid_out,
-     "DirectSound output device GUID", NULL, 0},
-    {"DeviceGuidIn", AUD_OPT_STR, &conf.device_guid_in,
-     "DirectSound input device GUID", NULL, 0},
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static struct audio_pcm_ops dsound_pcm_ops = {
-    dsound_init_out,
-    dsound_fini_out,
-    dsound_run_out,
-    dsound_write,
-    dsound_ctl_out,
-
-    dsound_init_in,
-    dsound_fini_in,
-    dsound_run_in,
-    dsound_read,
-    dsound_ctl_in
-};
-
-struct audio_driver dsound_audio_driver = {
-    INIT_FIELD (name           = ) "dsound",
-    INIT_FIELD (descr          = )
-    "DirectSound http://wikipedia.org/wiki/DirectSound",
-    INIT_FIELD (options        = ) dsound_options,
-    INIT_FIELD (init           = ) dsound_audio_init,
-    INIT_FIELD (fini           = ) dsound_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &dsound_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) 1,
-    INIT_FIELD (voice_size_out = ) sizeof (DSoundVoiceOut),
-    INIT_FIELD (voice_size_in  = ) sizeof (DSoundVoiceIn)
-};
diff --git a/src/VBox/Devices/Audio/filteraudio.c b/src/VBox/Devices/Audio/filteraudio.c
deleted file mode 100644
index 9c3a2e3..0000000
--- a/src/VBox/Devices/Audio/filteraudio.c
+++ /dev/null
@@ -1,987 +0,0 @@
-/* $Id: filteraudio.c $ */
-/** @file
- * VBox audio devices: filter driver, which sits between the host audio driver
- * and the virtual audio device and intercept all host driver operations.
- *
- * The filter is used mostly for remote audio input.
- */
-
-/*
- * Copyright (C) 2010-2011 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#include <iprt/asm.h>
-#include <iprt/mem.h>
-#include <iprt/cdefs.h>
-
-#define AUDIO_CAP "filteraudio"
-#include "vl_vbox.h"
-#include "audio.h"
-#include "audio_int.h"
-
-#define FILTER_EXTENSIVE_LOGGING
-
-/*******************************************************************************
- *
- * IO Ring Buffer section
- *
- ******************************************************************************/
-
-/* Implementation of a lock free ring buffer which could be used in a multi
- * threaded environment. Note that only the acquire, release and getter
- * functions are threading aware. So don't use reset if the ring buffer is
- * still in use. */
-typedef struct IORINGBUFFER
-{
-    /* The current read position in the buffer */
-    uint32_t uReadPos;
-    /* The current write position in the buffer */
-    uint32_t uWritePos;
-    /* How much space of the buffer is currently in use */
-    volatile uint32_t cBufferUsed;
-    /* How big is the buffer */
-    uint32_t cBufSize;
-    /* The buffer itself */
-    char *pBuffer;
-} IORINGBUFFER;
-/* Pointer to an ring buffer structure */
-typedef IORINGBUFFER* PIORINGBUFFER;
-
-
-static void IORingBufferCreate(PIORINGBUFFER *ppBuffer, uint32_t cbSize)
-{
-    PIORINGBUFFER pTmpBuffer;
-
-    AssertPtr(ppBuffer);
-
-    *ppBuffer = NULL;
-    pTmpBuffer = RTMemAllocZ(sizeof(IORINGBUFFER));
-    if (pTmpBuffer)
-    {
-        pTmpBuffer->pBuffer = RTMemAlloc(cbSize);
-        if(pTmpBuffer->pBuffer)
-        {
-            pTmpBuffer->cBufSize = cbSize;
-            *ppBuffer = pTmpBuffer;
-        }
-        else
-            RTMemFree(pTmpBuffer);
-    }
-}
-
-static void IORingBufferDestroy(PIORINGBUFFER pBuffer)
-{
-    if (pBuffer)
-    {
-        if (pBuffer->pBuffer)
-            RTMemFree(pBuffer->pBuffer);
-        RTMemFree(pBuffer);
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReset(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-
-    pBuffer->uReadPos = 0;
-    pBuffer->uWritePos = 0;
-    pBuffer->cBufferUsed = 0;
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferFree(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return pBuffer->cBufSize - ASMAtomicReadU32(&pBuffer->cBufferUsed);
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferUsed(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return ASMAtomicReadU32(&pBuffer->cBufferUsed);
-}
-
-DECL_FORCE_INLINE(uint32_t) IORingBufferSize(PIORINGBUFFER pBuffer)
-{
-    AssertPtr(pBuffer);
-    return pBuffer->cBufSize;
-}
-
-static void IORingBufferAquireReadBlock(PIORINGBUFFER pBuffer, uint32_t cReqSize, char **ppStart, uint32_t *pcSize)
-{
-    uint32_t uUsed = 0;
-    uint32_t uSize = 0;
-
-    AssertPtr(pBuffer);
-
-    *ppStart = 0;
-    *pcSize = 0;
-
-    /* How much is in use? */
-    uUsed = ASMAtomicReadU32(&pBuffer->cBufferUsed);
-    if (uUsed > 0)
-    {
-        /* Get the size out of the requested size, the read block till the end
-         * of the buffer & the currently used size. */
-        uSize = RT_MIN(cReqSize, RT_MIN(pBuffer->cBufSize - pBuffer->uReadPos, uUsed));
-        if (uSize > 0)
-        {
-            /* Return the pointer address which point to the current read
-             * position. */
-            *ppStart = pBuffer->pBuffer + pBuffer->uReadPos;
-            *pcSize = uSize;
-        }
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReleaseReadBlock(PIORINGBUFFER pBuffer, uint32_t cSize)
-{
-    AssertPtr(pBuffer);
-
-    /* Split at the end of the buffer. */
-    pBuffer->uReadPos = (pBuffer->uReadPos + cSize) % pBuffer->cBufSize;
-
-    ASMAtomicSubU32(&pBuffer->cBufferUsed, cSize);
-}
-
-static void IORingBufferAquireWriteBlock(PIORINGBUFFER pBuffer, uint32_t cReqSize, char **ppStart, uint32_t *pcSize)
-{
-    uint32_t uFree;
-    uint32_t uSize;
-
-    AssertPtr(pBuffer);
-
-    *ppStart = 0;
-    *pcSize = 0;
-
-    /* How much is free? */
-    uFree = pBuffer->cBufSize - ASMAtomicReadU32(&pBuffer->cBufferUsed);
-    if (uFree > 0)
-    {
-        /* Get the size out of the requested size, the write block till the end
-         * of the buffer & the currently free size. */
-        uSize = RT_MIN(cReqSize, RT_MIN(pBuffer->cBufSize - pBuffer->uWritePos, uFree));
-        if (uSize > 0)
-        {
-            /* Return the pointer address which point to the current write
-             * position. */
-            *ppStart = pBuffer->pBuffer + pBuffer->uWritePos;
-            *pcSize = uSize;
-        }
-    }
-}
-
-DECL_FORCE_INLINE(void) IORingBufferReleaseWriteBlock(PIORINGBUFFER pBuffer, uint32_t cSize)
-{
-    AssertPtr(pBuffer);
-
-    /* Split at the end of the buffer. */
-    pBuffer->uWritePos = (pBuffer->uWritePos + cSize) % pBuffer->cBufSize;
-
-    ASMAtomicAddU32(&pBuffer->cBufferUsed, cSize);
-}
-
-/*******************************************************************************
- *
- * Global structures section
- *
- ******************************************************************************/
-
-/* Initialization status indicator used for the recreation of the AudioUnits. */
-#define CA_STATUS_UNINIT    UINT32_C(0) /* The device is uninitialized */
-#define CA_STATUS_IN_INIT   UINT32_C(1) /* The device is currently initializing */
-#define CA_STATUS_INIT      UINT32_C(2) /* The device is initialized */
-#define CA_STATUS_IN_UNINIT UINT32_C(3) /* The device is currently uninitializing */
-
-struct
-{
-    struct audio_driver *pDrv;
-    void *pDrvOpaque;
-} filter_conf =
-{
-    INIT_FIELD(.pDrv =) NULL,
-    INIT_FIELD(.pDrvOpaque =) NULL
-};
-
-/*
- * filterVoiceOut and filterVoiceIn are allocated at the end of the original driver HWVoice structure:
- * {
- *    HWVoiceOut;
- *    OriginalDriverHWVoiceData;
- *    filterVoiceOut;
- * }
- */
-typedef struct filterVoiceOut
-{
-    /* HW voice input structure, which prepends the filterVoiceOut. */
-    HWVoiceOut *phw;
-
-    /* A ring buffer for transferring data to the playback thread */
-    PIORINGBUFFER pBuf;
-
-    /* Initialization status tracker. Used when some of the device parameters
-     * or the device itself is changed during the runtime. */
-    volatile uint32_t status;
-
-    /* Whether the output stream is used by the filter. */
-    bool fIntercepted;
-
-    /* Whether this stream is active. */
-    bool fIsRunning;
-
-    /* Sniffer level context for this audio output stream. */
-    void *pvOutputCtx;
-} filterVoiceOut;
-
-typedef struct filterVoiceIn
-{
-    /* HW voice input structure, which prepends the filterVoiceIn. */
-    HWVoiceIn *phw;
-
-    /* A temporary position value. */
-    uint32_t rpos;
-
-    /* A ring buffer for transferring data from the recording thread */
-    PIORINGBUFFER pBuf;
-
-    /* Initialization status tracker. Used when some of the device parameters
-     * or the device itself is changed during the runtime. */
-    volatile uint32_t status;
-
-    /* the stream has been successfully initialized by host. */
-    bool fHostOK;
-
-    /* Whether the input stream is used by the filter. */
-    bool fIntercepted;
-
-    /* Whether this stream is active. */
-    bool fIsRunning;
-
-    /* Sniffer level context for this audio input stream. */
-    void *pvInputCtx;
-} filterVoiceIn;
-
-#ifdef FILTER_EXTENSIVE_LOGGING
-# define CA_EXT_DEBUG_LOG(a) Log(a)
-#else
-# define CA_EXT_DEBUG_LOG(a) do {} while(0)
-#endif
-
-/*******************************************************************************
- *
- * CoreAudio output section
- *
- ******************************************************************************/
-
-/* We need some forward declarations */
-static int filteraudio_run_out(HWVoiceOut *hw);
-static int filteraudio_write(SWVoiceOut *sw, void *buf, int len);
-static int filteraudio_ctl_out(HWVoiceOut *hw, int cmd, ...);
-static void filteraudio_fini_out(HWVoiceOut *hw);
-static int filteraudio_init_out(HWVoiceOut *hw, audsettings_t *as);
-static int caInitOutput(HWVoiceOut *hw);
-static void caReinitOutput(HWVoiceOut *hw);
-
-static int fltInitOutput(filterVoiceOut *pVoice)
-{
-    uint32_t cFrames; /* default frame count */
-    uint32_t cSamples; /* samples count */
-
-    ASMAtomicXchgU32(&pVoice->status, CA_STATUS_IN_INIT);
-
-    cFrames = 2048;
-
-    /* Create the internal ring buffer. */
-    cSamples = cFrames * pVoice->phw->info.nchannels;
-    IORingBufferCreate(&pVoice->pBuf, cSamples << pVoice->phw->info.shift);
-    if (!RT_VALID_PTR(pVoice->pBuf))
-    {
-        LogRel(("FilterAudio: [Output] Failed to create internal ring buffer\n"));
-        return -1;
-    }
-
-    if (   pVoice->phw->samples != 0
-        && pVoice->phw->samples != (int32_t)cSamples)
-        LogRel(("FilterAudio: [Output] Warning! After recreation, the CoreAudio ring buffer doesn't has the same size as the device buffer (%RU32 vs. %RU32).\n", cSamples, (uint32_t)pVoice->phw->samples));
-    ASMAtomicXchgU32(&pVoice->status, CA_STATUS_INIT);
-
-    Log(("FilterAudio: [Output] Frame count: %RU32\n", cFrames));
-
-    return 0;
-}
-
-static int filteraudio_run_out(HWVoiceOut *phw)
-{
-    uint32_t csAvail = 0;
-    uint32_t cbToWrite = 0;
-    uint32_t csToWrite = 0;
-    uint32_t csWritten = 0;
-    char *pcDst = NULL;
-    st_sample_t *psSrc = NULL;
-
-    filterVoiceOut *pVoice = (filterVoiceOut *)((uint8_t *)phw + filter_conf.pDrv->voice_size_out);
-
-    if (!pVoice->fIntercepted)
-    {
-        return filter_conf.pDrv->pcm_ops->run_out(phw);
-    }
-
-    /* We return the live count in the case we are not initialized. This should
-     * prevent any under runs. */
-    if (ASMAtomicReadU32(&pVoice->status) != CA_STATUS_INIT)
-        return audio_pcm_hw_get_live_out(pVoice->phw);
-
-    /* Make sure the device is running */
-    filteraudio_ctl_out(pVoice->phw, VOICE_ENABLE);
-
-    /* How much space is available in the ring buffer */
-    csAvail = IORingBufferFree(pVoice->pBuf) >> pVoice->phw->info.shift; /* bytes -> samples */
-
-    /* How much data is available. Use the smaller size of the too. */
-    csAvail = RT_MIN(csAvail, (uint32_t)audio_pcm_hw_get_live_out(pVoice->phw));
-
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Output] Start writing buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail << pVoice->phw->info.shift));
-
-    /* Iterate as long as data is available */
-    while (csWritten < csAvail)
-    {
-        /* How much is left? Split request at the end of our samples buffer. */
-        csToWrite = RT_MIN(csAvail - csWritten, (uint32_t)(pVoice->phw->samples - pVoice->phw->rpos));
-        cbToWrite = csToWrite << pVoice->phw->info.shift; /* samples -> bytes */
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Output] Try writing %RU32 samples (%RU32 bytes)\n", csToWrite, cbToWrite));
-
-        /* Try to acquire the necessary space from the ring buffer. */
-        IORingBufferAquireWriteBlock(pVoice->pBuf, cbToWrite, &pcDst, &cbToWrite);
-
-        /* How much to we get? */
-        csToWrite = cbToWrite >> pVoice->phw->info.shift;
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Output] There is space for %RU32 samples (%RU32 bytes) available\n", csToWrite, cbToWrite));
-
-        /* Break if nothing is free anymore. */
-        if (RT_UNLIKELY(cbToWrite == 0))
-            break;
-
-        /* Copy the data from our mix buffer to the ring buffer. */
-        psSrc = pVoice->phw->mix_buf + pVoice->phw->rpos;
-        pVoice->phw->clip((uint8_t*)pcDst, psSrc, csToWrite);
-
-        /* Release the ring buffer, so the read thread could start reading this data. */
-        IORingBufferReleaseWriteBlock(pVoice->pBuf, cbToWrite);
-
-        pVoice->phw->rpos = (pVoice->phw->rpos + csToWrite) % pVoice->phw->samples;
-
-        /* How much have we written so far. */
-        csWritten += csToWrite;
-    }
-
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Output] Finished writing buffer with %RU32 samples (%RU32 bytes)\n", csWritten, csWritten << pVoice->phw->info.shift));
-
-    /* Return the count of samples we have processed. */
-    return csWritten;
-}
-
-static int filteraudio_write(SWVoiceOut *sw, void *buf, int len)
-{
-    /* Every host backend just calls the generic function, so no need to forward. */
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int filteraudio_ctl_out(HWVoiceOut *phw, int cmd, ...)
-{
-    uint32_t status;
-
-    filterVoiceOut *pVoice = (filterVoiceOut *)((uint8_t *)phw + filter_conf.pDrv->voice_size_out);
-
-    if (!pVoice->fIntercepted)
-    {
-        /* Note: audio.c does not use variable parameters '...', so ok to forward only 'phw' and 'cmd'. */
-        return filter_conf.pDrv->pcm_ops->ctl_out(phw, cmd);
-    }
-
-    status = ASMAtomicReadU32(&pVoice->status);
-    if (!(status == CA_STATUS_INIT))
-        return 0;
-
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-            {
-                /* Only start the device if it is actually stopped */
-                if (!pVoice->fIsRunning)
-                {
-                    IORingBufferReset(pVoice->pBuf);
-                    filter_output_begin(&pVoice->pvOutputCtx, &pVoice->phw->info, pVoice->phw->samples);
-                }
-                break;
-            }
-        case VOICE_DISABLE:
-            {
-                /* Only stop the device if it is actually running */
-                if (pVoice->fIsRunning)
-                {
-                    filter_output_end(pVoice->pvOutputCtx);
-                }
-                break;
-            }
-    }
-    return 0;
-}
-
-static void filteraudio_fini_out(HWVoiceOut *phw)
-{
-    int rc = 0;
-    uint32_t status;
-
-    filterVoiceOut *pVoice = (filterVoiceOut *)((uint8_t *)phw + filter_conf.pDrv->voice_size_out);
-
-    if (!pVoice->fIntercepted)
-    {
-        filter_conf.pDrv->pcm_ops->fini_out(phw);
-        return;
-    }
-
-    status = ASMAtomicReadU32(&pVoice->status);
-    if (!(status == CA_STATUS_INIT))
-        return;
-
-    rc = filteraudio_ctl_out(phw, VOICE_DISABLE);
-    if (RT_LIKELY(rc == 0))
-    {
-        ASMAtomicXchgU32(&pVoice->status, CA_STATUS_IN_UNINIT);
-        IORingBufferDestroy(pVoice->pBuf);
-        pVoice->pBuf = NULL;
-        ASMAtomicXchgU32(&pVoice->status, CA_STATUS_UNINIT);
-    }
-    else
-        LogRel(("FilterAudio: [Output] Failed to stop playback (%RI32)\n", rc));
-}
-
-static int filteraudio_init_out(HWVoiceOut *phw, audsettings_t *as)
-{
-    int rc = 0;
-
-    filterVoiceOut *pVoice = (filterVoiceOut *)((uint8_t *)phw + filter_conf.pDrv->voice_size_out);
-
-    if (!filter_output_intercepted())
-    {
-        pVoice->fIntercepted = false;
-        return filter_conf.pDrv->pcm_ops->init_out(phw, as);
-    }
-
-    /* Output is not tested and is not used currently */
-    AssertFailed();
-    return -1;
-
-    ASMAtomicXchgU32(&pVoice->status, CA_STATUS_UNINIT);
-
-    pVoice->fIntercepted = true;
-    pVoice->phw = phw;
-    pVoice->phw->samples = 0;
-
-    /* Initialize the hardware info section with the audio settings */
-    audio_pcm_init_info(&pVoice->phw->info, as);
-
-    rc = fltInitOutput(pVoice);
-    if (RT_UNLIKELY(rc != 0))
-        return rc;
-
-    /* The samples have to correspond to the internal ring buffer size. */
-    pVoice->phw->samples = (IORingBufferSize(pVoice->pBuf) >> pVoice->phw->info.shift) / pVoice->phw->info.nchannels;
-
-    Log(("FilterAudio: [Output] HW samples: %d\n", pVoice->phw->samples));
-
-    return 0;
-}
-
-/*******************************************************************************
- *
- * FilterAudio input section
- *
- ******************************************************************************/
-
-/*
- * Callback to feed audio input buffer. Samples format is be the same as
- * in the voice. The caller prepares st_sample_t.
- *
- * @param cbSamples Size of pvSamples array in bytes.
- * @param pvSamples Points to an array of samples.
- *
- * @return IPRT status code.
- */
-static DECLCALLBACK(int) fltRecordingCallback(void* pvCallback,
-                                              uint32_t cbSamples,
-                                              const void *pvSamples)
-{
-    int rc = VINF_SUCCESS;
-    uint32_t csAvail = 0;
-    uint32_t csToWrite = 0;
-    uint32_t cbToWrite = 0;
-    uint32_t csWritten = 0;
-    char *pcDst = NULL;
-
-    filterVoiceIn *pVoice = (filterVoiceIn *)pvCallback;
-
-    Assert((cbSamples % sizeof(st_sample_t)) == 0);
-
-    if (!pVoice->fIsRunning)
-        return VINF_SUCCESS;
-
-    /* If nothing is pending return immediately. */
-    if (cbSamples == 0)
-        return VINF_SUCCESS;
-
-    /* How much space is free in the ring buffer? */
-    csAvail = IORingBufferFree(pVoice->pBuf) / sizeof(st_sample_t); /* bytes -> samples */
-
-    /* How much space is used in the audio buffer. Use the smaller size of the too. */
-    csAvail = RT_MIN(csAvail, cbSamples / sizeof(st_sample_t));
-
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Start writing buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail * sizeof(st_sample_t)));
-
-    /* Iterate as long as data is available */
-    while(csWritten < csAvail)
-    {
-        /* How much is left? */
-        csToWrite = csAvail - csWritten;
-        cbToWrite = csToWrite * sizeof(st_sample_t);
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Try writing %RU32 samples (%RU32 bytes)\n", csToWrite, cbToWrite));
-
-        /* Try to acquire the necessary space from the ring buffer. */
-        IORingBufferAquireWriteBlock(pVoice->pBuf, cbToWrite, &pcDst, &cbToWrite);
-
-        /* How much do we get? */
-        csToWrite = cbToWrite / sizeof(st_sample_t);
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Input] There is space for %RU32 samples (%RU32 bytes) available\n", csToWrite, cbToWrite));
-
-        /* Break if nothing is free anymore. */
-        if (RT_UNLIKELY(csToWrite == 0))
-            break;
-
-        /* Copy the data from the audio buffer to the ring buffer. */
-        memcpy(pcDst, (uint8_t *)pvSamples + (csWritten * sizeof(st_sample_t)), cbToWrite);
-
-        /* Release the ring buffer, so the main thread could start reading this data. */
-        IORingBufferReleaseWriteBlock(pVoice->pBuf, cbToWrite);
-
-        csWritten += csToWrite;
-    }
-
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Finished writing buffer with %RU32 samples (%RU32 bytes)\n", csWritten, csWritten * sizeof(st_sample_t)));
-
-    return rc;
-}
-
-static int filteraudio_run_in(HWVoiceIn *phw)
-{
-    uint32_t csAvail = 0;
-    uint32_t cbToRead = 0;
-    uint32_t csToRead = 0;
-    uint32_t csReads = 0;
-    char *pcSrc;
-    st_sample_t *psDst;
-    filterVoiceIn *pVoice;
-
-    if (!filter_conf.pDrv)
-    {
-        AssertFailed();
-        return -1;
-    }
-
-    pVoice = (filterVoiceIn *)((uint8_t *)phw + filter_conf.pDrv->voice_size_in);
-
-    if (!pVoice->fIntercepted)
-    {
-        if (!pVoice->fHostOK)
-        {
-            /* Host did not initialize the voice. */
-            Log(("FilterAudio: [Input]: run_in voice %p (hw %p) not available on host\n", pVoice, pVoice->phw));
-            return -1;
-        }
-
-        Log(("FilterAudio: [Input]: forwarding run_in for voice %p (hw %p)\n", pVoice, pVoice->phw));
-        return filter_conf.pDrv->pcm_ops->run_in(phw);
-    }
-
-    Log(("FilterAudio: [Input]: run_in for voice %p (hw %p)\n", pVoice, pVoice->phw));
-
-    if (!pVoice->fIsRunning)
-        return 0;
-
-    /* How much space is used in the ring buffer? */
-    csAvail = IORingBufferUsed(pVoice->pBuf) / sizeof(st_sample_t); /* bytes -> samples */
-
-    /* How much space is available in the mix buffer. Use the smaller size of the too. */
-    csAvail = RT_MIN(csAvail, (uint32_t)(pVoice->phw->samples - audio_pcm_hw_get_live_in (pVoice->phw)));
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Start reading buffer with %RU32 samples (%RU32 bytes)\n", csAvail, csAvail * sizeof(st_sample_t)));
-
-    /* Iterate as long as data is available */
-    while (csReads < csAvail)
-    {
-        /* How much is left? Split request at the end of our samples buffer. */
-        csToRead = RT_MIN(csAvail - csReads, (uint32_t)(pVoice->phw->samples - pVoice->phw->wpos));
-        cbToRead = csToRead * sizeof(st_sample_t);
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Try reading %RU32 samples (%RU32 bytes)\n", csToRead, cbToRead));
-
-        /* Try to acquire the necessary block from the ring buffer. */
-        IORingBufferAquireReadBlock(pVoice->pBuf, cbToRead, &pcSrc, &cbToRead);
-
-        /* How much to we get? */
-        csToRead = cbToRead / sizeof(st_sample_t);
-        CA_EXT_DEBUG_LOG(("FilterAudio: [Input] There are %RU32 samples (%RU32 bytes) available\n", csToRead, cbToRead));
-
-        /* Break if nothing is used anymore. */
-        if (csToRead == 0)
-            break;
-
-        /* Copy the data from our ring buffer to the mix buffer. */
-        psDst = pVoice->phw->conv_buf + pVoice->phw->wpos;
-        memcpy(psDst, pcSrc, cbToRead);
-
-        /* Release the read buffer, so it could be used for new data. */
-        IORingBufferReleaseReadBlock(pVoice->pBuf, cbToRead);
-
-        pVoice->phw->wpos = (pVoice->phw->wpos + csToRead) % pVoice->phw->samples;
-
-        /* How much have we reads so far. */
-        csReads += csToRead;
-    }
-
-    CA_EXT_DEBUG_LOG(("FilterAudio: [Input] Finished reading buffer with %RU32 samples (%RU32 bytes)\n", csReads, csReads * sizeof(st_sample_t)));
-
-    return csReads;
-}
-
-static int filteraudio_read(SWVoiceIn *sw, void *buf, int size)
-{
-    /* Every host backend just calls the generic function, so no need to forward. */
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int filteraudio_ctl_in(HWVoiceIn *phw, int cmd, ...)
-{
-    int rc = VINF_SUCCESS;
-    filterVoiceIn *pVoice;
-
-    if (!filter_conf.pDrv)
-    {
-        AssertFailed();
-        return -1;
-    }
-
-    pVoice = (filterVoiceIn *)((uint8_t *)phw + filter_conf.pDrv->voice_size_in);
-
-    if (cmd == VOICE_ENABLE)
-    {
-        /* Decide who will provide input audio: filter or host driver. */
-        if (!filter_input_intercepted())
-        {
-            if (!pVoice->fHostOK)
-            {
-                /* Host did not initialize the voice. */
-                Log(("FilterAudio: [Input]: ctl_in ENABLE voice %p (hw %p) not available on host\n", pVoice, pVoice->phw));
-                return -1;
-            }
-
-            /* Note: audio.c does not use variable parameters '...', so ok to forward only 'phw' and 'cmd'. */
-            Log(("FilterAudio: [Input]: forwarding ctl_in ENABLE for voice %p (hw %p)\n", pVoice, pVoice->phw));
-            return filter_conf.pDrv->pcm_ops->ctl_in(phw, cmd);
-        }
-
-        /* The filter will use this voice. */
-        Log(("FilterAudio: [Input]: ctl_in ENABLE for voice %p (hw %p), cmd %d\n", pVoice, pVoice->phw, cmd));
-
-        if (ASMAtomicReadU32(&pVoice->status) != CA_STATUS_INIT)
-            return -1;
-
-        /* Only start the device if it is actually stopped */
-        if (!pVoice->fIsRunning)
-        {
-            IORingBufferReset(pVoice->pBuf);
-
-            /* Sniffer will inform us on a second thread for new incoming audio data.
-             * Therefore register an callback function, which will process the new data.
-             * */
-            rc = filter_input_begin(&pVoice->pvInputCtx, fltRecordingCallback, pVoice, pVoice->phw, pVoice->phw->samples);
-            if (RT_SUCCESS(rc))
-            {
-                pVoice->fIsRunning = true;
-
-                /* Remember that this voice is used by the filter. */
-                pVoice->fIntercepted = true;
-            }
-        }
-        if (RT_FAILURE(rc))
-        {
-            LogRel(("FilterAudio: [Input] Failed to start recording (%Rrc)\n", rc));
-            return -1;
-        }
-    }
-    else if (cmd == VOICE_DISABLE)
-    {
-        if (ASMAtomicReadU32(&pVoice->status) != CA_STATUS_INIT)
-            return -1;
-
-        /* Check if the voice has been intercepted. */
-        if (!pVoice->fIntercepted)
-        {
-            if (!pVoice->fHostOK)
-            {
-                /* Host did not initialize the voice. Theoretically should not happen, because
-                 * audio.c should not disable a voice which has not been enabled at all.
-                 */
-                Log(("FilterAudio: [Input]: ctl_in DISABLE voice %p (hw %p) not available on host\n", pVoice, pVoice->phw));
-                return -1;
-            }
-
-            /* Note: audio.c does not use variable parameters '...', so ok to forward only 'phw' and 'cmd'. */
-            Log(("FilterAudio: [Input]: forwarding ctl_in DISABLE for voice %p (hw %p)\n", pVoice, pVoice->phw));
-            return filter_conf.pDrv->pcm_ops->ctl_in(phw, cmd);
-        }
-
-        /* The filter used this voice. */
-        Log(("FilterAudio: [Input]: ctl_in DISABLE for voice %p (hw %p), cmd %d\n", pVoice, pVoice->phw, cmd));
-
-        /* Only stop the device if it is actually running */
-        if (pVoice->fIsRunning)
-        {
-            pVoice->fIsRunning = false;
-            /* Tell the sniffer to not to use this context anymore. */
-            filter_input_end(pVoice->pvInputCtx);
-        }
-
-        /* This voice is no longer used by the filter. */
-        pVoice->fIntercepted = false;
-    }
-    else
-    {
-        return -1; /* Unknown command. */
-    }
-
-    return 0;
-}
-
-static void filteraudio_fini_in(HWVoiceIn *phw)
-{
-    int ret = -1;
-    filterVoiceIn *pVoice;
-
-    if (!filter_conf.pDrv)
-    {
-        AssertFailed();
-        return;
-    }
-
-    pVoice = (filterVoiceIn *)((uint8_t *)phw + filter_conf.pDrv->voice_size_in);
-
-    /* Uninitialize both host and filter parts of the voice. */
-    if (pVoice->fHostOK)
-    {
-        /* Uninit host part only if it was initialized by host. */
-        Log(("FilterAudio: [Input]: forwarding fini_in for voice %p (hw %p)\n", pVoice, pVoice->phw));
-        filter_conf.pDrv->pcm_ops->fini_in(phw);
-    }
-
-    Log(("FilterAudio: [Input]: fini_in for voice %p (hw %p)\n", pVoice, pVoice->phw));
-
-    if (ASMAtomicReadU32(&pVoice->status) != CA_STATUS_INIT)
-        return;
-
-    /* If this voice is intercepted by filter, try to stop it. */
-    if (pVoice->fIntercepted)
-    {
-        ret = filteraudio_ctl_in(phw, VOICE_DISABLE);
-    }
-    else
-    {
-        ret = 0;
-    }
-
-    if (RT_LIKELY(ret == 0))
-    {
-        ASMAtomicWriteU32(&pVoice->status, CA_STATUS_IN_UNINIT);
-        IORingBufferDestroy(pVoice->pBuf);
-        pVoice->pBuf = NULL;
-        pVoice->rpos = 0;
-        ASMAtomicWriteU32(&pVoice->status, CA_STATUS_UNINIT);
-    }
-    else
-        LogRel(("FilterAudio: [Input] Failed to stop recording (%RI32)\n", ret));
-}
-
-static int filteraudio_init_in(HWVoiceIn *phw, audsettings_t *as)
-{
-    int hostret = -1;
-    filterVoiceIn *pVoice;
-
-    if (!filter_conf.pDrv)
-    {
-        AssertFailed();
-        return -1;
-    }
-
-    pVoice = (filterVoiceIn *)((uint8_t *)phw + filter_conf.pDrv->voice_size_in);
-
-    /* Initialize both host and filter parts of the voice. */
-    Log(("FilterAudio: [Input]: forwarding init_in for voice %p (hw %p)\n", pVoice, pVoice->phw));
-    hostret = filter_conf.pDrv->pcm_ops->init_in(phw, as);
-
-    Log(("FilterAudio: [Input]: init_in for voice %p (hw %p), hostret = %d\n", pVoice, pVoice->phw, hostret));
-
-    ASMAtomicWriteU32(&pVoice->status, CA_STATUS_UNINIT);
-
-    pVoice->phw = phw;
-    pVoice->rpos = 0;
-    pVoice->pBuf = NULL;
-    pVoice->fHostOK = (hostret == 0);
-    pVoice->fIntercepted = false;
-    pVoice->fIsRunning = false;
-    pVoice->pvInputCtx = NULL;
-
-    if (!pVoice->fHostOK)
-    {
-        /* Initialize required fields of the common part of the voice. */
-        pVoice->phw->samples = 2048;
-
-        /* Initialize the hardware info section with the audio settings */
-        audio_pcm_init_info(&pVoice->phw->info, as);
-    }
-
-    ASMAtomicWriteU32(&pVoice->status, CA_STATUS_IN_INIT);
-
-    /* Create the internal ring buffer. */
-    IORingBufferCreate(&pVoice->pBuf, pVoice->phw->samples * sizeof(st_sample_t));
-
-    if (!RT_VALID_PTR(pVoice->pBuf))
-    {
-        LogRel(("FilterAudio: [Input] Failed to create internal ring buffer\n"));
-        return -1;
-    }
-
-    ASMAtomicWriteU32(&pVoice->status, CA_STATUS_INIT);
-
-    Log(("FilterAudio: [Input] HW samples: %d\n", pVoice->phw->samples));
-    return 0;
-}
-
-/*******************************************************************************
- *
- * FilterAudio global section
- *
- ******************************************************************************/
-
-static void *filteraudio_audio_init(void)
-{
-    /* This is not supposed to be called. */
-    Log(("FilterAudio: Init\n"));
-    AssertFailed();
-    return NULL;
-}
-
-static void filteraudio_audio_fini(void *opaque)
-{
-    Log(("FilterAudio: Init fini %p\n", opaque));
-    /* Forward to the host driver. */
-    Assert(opaque == filter_conf.pDrvOpaque);
-    if (filter_conf.pDrv)
-    {
-        filter_conf.pDrv->fini(opaque);
-        filter_conf.pDrv = NULL;
-        filter_conf.pDrvOpaque = NULL;
-    }
-}
-
-static struct audio_pcm_ops filteraudio_pcm_ops =
-{
-    filteraudio_init_out,
-    filteraudio_fini_out,
-    filteraudio_run_out,
-    filteraudio_write,
-    filteraudio_ctl_out,
-
-    filteraudio_init_in,
-    filteraudio_fini_in,
-    filteraudio_run_in,
-    filteraudio_read,
-    filteraudio_ctl_in
-};
-
-static struct audio_driver filteraudio_audio_driver =
-{
-    INIT_FIELD(name           =) "filteraudio",
-    INIT_FIELD(descr          =)
-    "FilterAudio: filter driver between host audio and virtual device",
-    INIT_FIELD(options        =) NULL,
-    INIT_FIELD(init           =) filteraudio_audio_init,
-    INIT_FIELD(fini           =) filteraudio_audio_fini,
-    INIT_FIELD(pcm_ops        =) &filteraudio_pcm_ops,
-    INIT_FIELD(can_be_default =) 1,
-    INIT_FIELD(max_voices_out =) 1,
-    INIT_FIELD(max_voices_in  =) 1,
-    INIT_FIELD(voice_size_out =) sizeof(filterVoiceOut),
-    INIT_FIELD(voice_size_in  =) sizeof(filterVoiceIn)
-};
-
-struct audio_driver *filteraudio_install(struct audio_driver *pDrv, void *pDrvOpaque)
-{
-    Log(("FilterAudio: [Install]: intercepting driver [%s]\n", pDrv->name));
-
-    /* Modify the audio driver structure to be like the original driver. */
-    filteraudio_audio_driver.name           = pDrv->name;
-    filteraudio_audio_driver.descr          = pDrv->descr;
-    filteraudio_audio_driver.options        = pDrv->options;
-    filteraudio_audio_driver.can_be_default = pDrv->can_be_default;
-    filteraudio_audio_driver.max_voices_out = pDrv->max_voices_out;
-    filteraudio_audio_driver.max_voices_in  = pDrv->max_voices_in;
-    filteraudio_audio_driver.voice_size_out = pDrv->voice_size_out + sizeof(filterVoiceOut);
-    filteraudio_audio_driver.voice_size_in  = pDrv->voice_size_in + sizeof(filterVoiceIn);
-
-    filter_conf.pDrv = pDrv;
-    filter_conf.pDrvOpaque = pDrvOpaque;
-
-    return &filteraudio_audio_driver;
-}
-
-int filteraudio_is_host_voice_in_ok(struct audio_driver *pDrv, HWVoiceIn *phw)
-{
-    filterVoiceIn *pVoice;
-
-    if (pDrv != &filteraudio_audio_driver)
-    {
-        /* This is not the driver for which the filter was installed.
-         * The filter has no idea and assumes that if the voice
-         * is not NULL then it is a valid host voice.
-         */
-        return (phw != NULL);
-    }
-
-    if (!filter_conf.pDrv)
-    {
-        AssertFailed();
-        return (phw != NULL);
-    }
-
-    pVoice = (filterVoiceIn *)((uint8_t *)phw + filter_conf.pDrv->voice_size_in);
-
-    return pVoice->fHostOK;
-}
-
-int filteraudio_is_host_voice_out_ok(struct audio_driver *pDrv, HWVoiceOut *phw)
-{
-    /* Output is not yet implemented and there are no filter voices.
-     * The filter has no idea and assumes that if the voice
-     * is not NULL then it is a valid host voice.
-     *
-     * @todo: similar to filteraudio_is_host_voice_in_ok
-     */
-    NOREF(pDrv);
-    return (phw != NULL);
-}
diff --git a/src/VBox/Devices/Audio/mixeng.c b/src/VBox/Devices/Audio/mixeng.c
deleted file mode 100644
index c000604..0000000
--- a/src/VBox/Devices/Audio/mixeng.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/*
- * QEMU Mixing engine
- *
- * Copyright (c) 2004-2005 Vassili Karpov (malc)
- * Copyright (c) 1998 Fabrice Bellard
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#ifdef VBOX
-# include <iprt/asm-math.h>
-# include <iprt/mem.h>
-#endif
-
-#define AUDIO_CAP "mixeng"
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-#include "DrvAudio.h"
-#else
-#include "audio.h"
-#include "audio_int.h"
-#endif
-
-#ifndef VBOX
-#define NOVOL
-#endif
-
-/* 8 bit */
-#define ENDIAN_CONVERSION natural
-#define ENDIAN_CONVERT(v) (v)
-
-/* Signed 8 bit */
-#define IN_T int8_t
-#define IN_MIN SCHAR_MIN
-#define IN_MAX SCHAR_MAX
-#define SIGNED
-#define SHIFT 8
-#include "mixeng_template.h"
-#undef SIGNED
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-/* Unsigned 8 bit */
-#define IN_T uint8_t
-#define IN_MIN 0
-#define IN_MAX UCHAR_MAX
-#define SHIFT 8
-#include "mixeng_template.h"
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-
-/* Signed 16 bit */
-#define IN_T int16_t
-#define IN_MIN SHRT_MIN
-#define IN_MAX SHRT_MAX
-#define SIGNED
-#define SHIFT 16
-#define ENDIAN_CONVERSION natural
-#define ENDIAN_CONVERT(v) (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#define ENDIAN_CONVERSION swap
-#define ENDIAN_CONVERT(v) bswap16 (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#undef SIGNED
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-/* Unsigned 16 bit */
-#define IN_T uint16_t
-#define IN_MIN 0
-#define IN_MAX USHRT_MAX
-#define SHIFT 16
-#define ENDIAN_CONVERSION natural
-#define ENDIAN_CONVERT(v) (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#define ENDIAN_CONVERSION swap
-#define ENDIAN_CONVERT(v) bswap16 (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-/* Signed 32 bit */
-#define IN_T int32_t
-#define IN_MIN INT32_MIN
-#define IN_MAX INT32_MAX
-#define SIGNED
-#define SHIFT 32
-#define ENDIAN_CONVERSION natural
-#define ENDIAN_CONVERT(v) (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#define ENDIAN_CONVERSION swap
-#define ENDIAN_CONVERT(v) bswap32 (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#undef SIGNED
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-/* Unsigned 32 bit */
-#define IN_T uint32_t
-#define IN_MIN 0
-#define IN_MAX UINT32_MAX
-#define SHIFT 32
-#define ENDIAN_CONVERSION natural
-#define ENDIAN_CONVERT(v) (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#define ENDIAN_CONVERSION swap
-#define ENDIAN_CONVERT(v) bswap32 (v)
-#include "mixeng_template.h"
-#undef ENDIAN_CONVERT
-#undef ENDIAN_CONVERSION
-#undef IN_MAX
-#undef IN_MIN
-#undef IN_T
-#undef SHIFT
-
-t_sample *mixeng_conv[2][2][2][3] = {
-    {
-        {
-            {
-                conv_natural_uint8_t_to_mono,
-                conv_natural_uint16_t_to_mono,
-                conv_natural_uint32_t_to_mono
-            },
-            {
-                conv_natural_uint8_t_to_mono,
-                conv_swap_uint16_t_to_mono,
-                conv_swap_uint32_t_to_mono,
-            }
-        },
-        {
-            {
-                conv_natural_int8_t_to_mono,
-                conv_natural_int16_t_to_mono,
-                conv_natural_int32_t_to_mono
-            },
-            {
-                conv_natural_int8_t_to_mono,
-                conv_swap_int16_t_to_mono,
-                conv_swap_int32_t_to_mono
-            }
-        }
-    },
-    {
-        {
-            {
-                conv_natural_uint8_t_to_stereo,
-                conv_natural_uint16_t_to_stereo,
-                conv_natural_uint32_t_to_stereo
-            },
-            {
-                conv_natural_uint8_t_to_stereo,
-                conv_swap_uint16_t_to_stereo,
-                conv_swap_uint32_t_to_stereo
-            }
-        },
-        {
-            {
-                conv_natural_int8_t_to_stereo,
-                conv_natural_int16_t_to_stereo,
-                conv_natural_int32_t_to_stereo
-            },
-            {
-                conv_natural_int8_t_to_stereo,
-                conv_swap_int16_t_to_stereo,
-                conv_swap_int32_t_to_stereo,
-            }
-        }
-    }
-};
-
-f_sample *mixeng_clip[2][2][2][3] = {
-    {
-        {
-            {
-                clip_natural_uint8_t_from_mono,
-                clip_natural_uint16_t_from_mono,
-                clip_natural_uint32_t_from_mono
-            },
-            {
-                clip_natural_uint8_t_from_mono,
-                clip_swap_uint16_t_from_mono,
-                clip_swap_uint32_t_from_mono
-            }
-        },
-        {
-            {
-                clip_natural_int8_t_from_mono,
-                clip_natural_int16_t_from_mono,
-                clip_natural_int32_t_from_mono
-            },
-            {
-                clip_natural_int8_t_from_mono,
-                clip_swap_int16_t_from_mono,
-                clip_swap_int32_t_from_mono
-            }
-        }
-    },
-    {
-        {
-            {
-                clip_natural_uint8_t_from_stereo,
-                clip_natural_uint16_t_from_stereo,
-                clip_natural_uint32_t_from_stereo
-            },
-            {
-                clip_natural_uint8_t_from_stereo,
-                clip_swap_uint16_t_from_stereo,
-                clip_swap_uint32_t_from_stereo
-            }
-        },
-        {
-            {
-                clip_natural_int8_t_from_stereo,
-                clip_natural_int16_t_from_stereo,
-                clip_natural_int32_t_from_stereo
-            },
-            {
-                clip_natural_int8_t_from_stereo,
-                clip_swap_int16_t_from_stereo,
-                clip_swap_int32_t_from_stereo
-            }
-        }
-    }
-};
-
-/*
- * August 21, 1998
- * Copyright 1998 Fabrice Bellard.
- *
- * [Rewrote completely the code of Lance Norskog And Sundry
- * Contributors with a more efficient algorithm.]
- *
- * This source code is freely redistributable and may be used for
- * any purpose.  This copyright notice must be maintained.
- * Lance Norskog And Sundry Contributors are not responsible for
- * the consequences of using this software.
- */
-
-/*
- * Sound Tools rate change effect file.
- */
-/*
- * Linear Interpolation.
- *
- * The use of fractional increment allows us to use no buffer. It
- * avoid the problems at the end of the buffer we had with the old
- * method which stored a possibly big buffer of size
- * lcm(in_rate,out_rate).
- *
- * Limited to 16 bit samples and sampling frequency <= 65535 Hz. If
- * the input & output frequencies are equal, a delay of one sample is
- * introduced.  Limited to processing 32-bit count worth of samples.
- *
- * 1 << FRAC_BITS evaluating to zero in several places.  Changed with
- * an (unsigned long) cast to make it safe.  MarkMLl 2/1/99
- */
-
-/* Private data */
-struct rate {
-    uint64_t opos;
-    uint64_t opos_inc;
-    uint32_t ipos;              /* position in the input stream (integer) */
-    st_sample_t ilast;          /* last sample in the input stream */
-};
-
-/*
- * Prepare processing.
- */
-void *st_rate_start (int inrate, int outrate)
-{
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    struct rate *rate = (struct rate *)RTMemAllocZ(1 * sizeof (*rate));
-#else
-    struct rate *rate = audio_calloc (AUDIO_FUNC, 1, sizeof (*rate));
-#endif
-
-    if (!rate) {
-        LogFlow(("Could not allocate resampler %u bytes)\n", sizeof (*rate)));
-        return NULL;
-    }
-
-    rate->opos = 0;
-
-    /* increment */
-    rate->opos_inc = ((uint64_t) inrate << 32) / outrate;
-
-    rate->ipos = 0;
-    rate->ilast.l = 0;
-    rate->ilast.r = 0;
-    return rate;
-}
-
-#define NAME st_rate_flow_mix
-#define OP(a, b) a += b
-#include "rate_template.h"
-
-#define NAME st_rate_flow
-#define OP(a, b) a = b
-#include "rate_template.h"
-
-void st_rate_stop (void *opaque)
-{
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    RTMemFree(opaque);
-#else
-    qemu_free (opaque);
-#endif
-}
-
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-void mixeng_clear(PPDMHOSTSTEREOSAMPLE buf, int len)
-{
-    memset (buf, 0, len * sizeof (PDMHOSTSTEREOSAMPLE));
-}
-#else
-void mixeng_clear (st_sample_t *buf, int len)
-{
-    memset (buf, 0, len * sizeof (st_sample_t));
-}
-#endif
-
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-void mixeng_sniff_and_clear (PPDMHOSTVOICEOUT hw, PPDMHOSTSTEREOSAMPLE src, int len)
-#else
-void mixeng_sniff_and_clear (HWVoiceOut *hw, st_sample_t *src, int len)
-#endif
-{
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-    LogFlow(("mixeng: sniffer_run_out\n"));
-    sniffer_run_out (hw, src, len);
-#endif
-    mixeng_clear (src, len);
-}
diff --git a/src/VBox/Devices/Audio/mixeng.h b/src/VBox/Devices/Audio/mixeng.h
deleted file mode 100644
index c6d15e8..0000000
--- a/src/VBox/Devices/Audio/mixeng.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * QEMU Mixing engine header
- *
- * Copyright (c) 2004-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifndef QEMU_MIXENG_H
-#define QEMU_MIXENG_H
-
-struct HWVoiceOut;
-
-#ifdef VBOX
-/* use faster ASMMult2xS32RetS64 */
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-typedef struct { int mute;  uint32_t r; uint32_t l; } volume_t;
-#endif
-typedef struct { int64_t l; int64_t r; } st_sample_t;
-#else /* !VBOX */
-#ifdef FLOAT_MIXENG
-typedef float real_t;
-typedef struct { int mute; real_t r; real_t l; } volume_t;
-typedef struct { real_t l; real_t r; } st_sample_t;
-#else
-typedef struct { int mute; int64_t r; int64_t l; } volume_t;
-typedef struct { int64_t l; int64_t r; } st_sample_t;
-#endif
-#endif /* VBOX */
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-typedef void (t_sample) (st_sample_t *dst, const void *src,
-                         int samples, volume_t *vol);
-#endif
-typedef void (f_sample) (void *dst, const st_sample_t *src, int samples);
-
-extern t_sample *mixeng_conv[2][2][2][3];
-extern f_sample *mixeng_clip[2][2][2][3];
-
-void *st_rate_start (int inrate, int outrate);
-void st_rate_flow (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
-                   int *isamp, int *osamp);
-void st_rate_flow_mix (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
-                       int *isamp, int *osamp);
-void st_rate_stop (void *opaque);
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-void mixeng_clear(PPDMHOSTSTEREOSAMPLE buf, int len);
-void mixeng_sniff_and_clear(PPDMHOSTVOICEOUT hw, PPDMHOSTSTEREOSAMPLE src, int len);
-# else
-void mixeng_clear (st_sample_t *buf, int len);
-void mixeng_sniff_and_clear (struct HWVoiceOut *hw, st_sample_t *src, int len);
-# endif
-
-#endif  /* mixeng.h */
diff --git a/src/VBox/Devices/Audio/mixeng_template.h b/src/VBox/Devices/Audio/mixeng_template.h
deleted file mode 100644
index 8b1bc27..0000000
--- a/src/VBox/Devices/Audio/mixeng_template.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * QEMU Mixing engine
- *
- * Copyright (c) 2004-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/*
- * Tusen tack till Mike Nordell
- * dec++'ified by Dscho
- */
-
-#ifndef SIGNED
-#define HALF (IN_MAX >> 1)
-#endif
-
-#ifdef NOVOL
-#define VOL(a, b) a
-#else
-#ifdef VBOX
-#define VOL(a, b) ((ASMMult2xS32RetS64(a, b) >> 31))
-#else /* !VBOX */
-#ifdef FLOAT_MIXENG
-#define VOL(a, b) ((a) * (b))
-#else
-#define VOL(a, b) ((a) * (b)) >> 32
-#endif
-#endif
-#endif /* !VBOX */
-
-#define ET glue (ENDIAN_CONVERSION, glue (_, IN_T))
-
-#ifdef FLOAT_MIXENG
-static real_t inline glue (conv_, ET) (IN_T v)
-{
-    IN_T nv = ENDIAN_CONVERT (v);
-
-#ifdef RECIPROCAL
-#ifdef SIGNED
-    return nv * (1.f / (real_t) (IN_MAX - IN_MIN));
-#else
-    return (nv - HALF) * (1.f / (real_t) IN_MAX);
-#endif
-#else  /* !RECIPROCAL */
-#ifdef SIGNED
-    return nv / (real_t) (IN_MAX - IN_MIN);
-#else
-    return (nv - HALF) / (real_t) IN_MAX;
-#endif
-#endif
-}
-
-static IN_T inline glue (clip_, ET) (real_t v)
-{
-    if (v >= 0.5) {
-        return IN_MAX;
-    }
-    else if (v < -0.5) {
-        return IN_MIN;
-    }
-
-#ifdef SIGNED
-    return ENDIAN_CONVERT ((IN_T) (v * (IN_MAX - IN_MIN)));
-#else
-    return ENDIAN_CONVERT ((IN_T) ((v * IN_MAX) + HALF));
-#endif
-}
-
-#else  /* !FLOAT_MIXENG */
-
-static inline int64_t glue (conv_, ET) (IN_T v)
-{
-    IN_T nv = ENDIAN_CONVERT (v);
-#ifdef SIGNED
-    return ((int64_t) nv) << (32 - SHIFT);
-#else
-    return ((int64_t) nv - HALF) << (32 - SHIFT);
-#endif
-}
-
-static inline IN_T glue (clip_, ET) (int64_t v)
-{
-    if (v >= 0x7f000000) {
-        return IN_MAX;
-    }
-    else if (v < -2147483648LL) {
-        return IN_MIN;
-    }
-
-#ifdef SIGNED
-    return ENDIAN_CONVERT ((IN_T) (v >> (32 - SHIFT)));
-#else
-    return ENDIAN_CONVERT ((IN_T) ((v >> (32 - SHIFT)) + HALF));
-#endif
-}
-#endif
-
-static void glue (glue (conv_, ET), _to_stereo)
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    (PPDMHOSTSTEREOSAMPLE dst, const void *src, int samples, volume_t *vol)
-#else
-    (st_sample_t *dst, const void *src, int samples, volume_t *vol)
-#endif
-{
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    PPDMHOSTSTEREOSAMPLE out = dst;
-#else
-    st_sample_t *out = dst;
-#endif
-    IN_T *in = (IN_T *) src;
-#ifndef NOVOL
-    if (vol->mute) {
-        mixeng_clear (dst, samples);
-        return;
-    }
-#else
-    (void) vol;
-#endif
-    while (samples--) {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-        out->u64LSample = VOL (glue (conv_, ET) (*in++), vol->l);
-        out->u64RSample = VOL (glue (conv_, ET) (*in++), vol->r);
-#else
-        out->l = VOL (glue (conv_, ET) (*in++), vol->l);
-        out->r = VOL (glue (conv_, ET) (*in++), vol->r);
-#endif
-        out += 1;
-    }
-}
-
-static void glue (glue (conv_, ET), _to_mono)
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    (PPDMHOSTSTEREOSAMPLE dst, const void *src, int samples, volume_t *vol)
-#else
-    (st_sample_t *dst, const void *src, int samples, volume_t *vol)
-#endif
-{
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    PPDMHOSTSTEREOSAMPLE out = dst;
-#else
-    st_sample_t *out = dst;
-#endif
-    IN_T *in = (IN_T *) src;
-#ifndef NOVOL
-    if (vol->mute) {
-        mixeng_clear (dst, samples);
-        return;
-    }
-#else
-    (void) vol;
-#endif
-    while (samples--) {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-        out->u64LSample = VOL (glue (conv_, ET) (in[0]), vol->l);
-        out->u64RSample = out->u64LSample;
-#else
-        out->l = VOL (glue (conv_, ET) (in[0]), vol->l);
-        out->r = out->l;
-
-#endif
-        out += 1;
-        in += 1;
-    }
-}
-
-static void glue (glue (clip_, ET), _from_stereo)
-    (void *dst, const st_sample_t *src, int samples)
-{
-    const st_sample_t *in = src;
-    IN_T *out = (IN_T *) dst;
-    while (samples--) {
-        *out++ = glue (clip_, ET) (in->l);
-        *out++ = glue (clip_, ET) (in->r);
-        in += 1;
-    }
-}
-
-static void glue (glue (clip_, ET), _from_mono)
-    (void *dst, const st_sample_t *src, int samples)
-{
-    const st_sample_t *in = src;
-    IN_T *out = (IN_T *) dst;
-    while (samples--) {
-        *out++ = glue (clip_, ET) (in->l + in->r);
-        in += 1;
-    }
-}
-
-#undef ET
-#undef HALF
-#undef VOL
diff --git a/src/VBox/Devices/Audio/noaudio.c b/src/VBox/Devices/Audio/noaudio.c
deleted file mode 100644
index d71f8e5..0000000
--- a/src/VBox/Devices/Audio/noaudio.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * QEMU Timer based audio emulation
- *
- * Copyright (c) 2004-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#include "audio.h"
-#include <iprt/alloc.h>
-
-#define AUDIO_CAP "noaudio"
-#include "audio_int.h"
-
-typedef struct NoVoiceOut {
-    HWVoiceOut hw;
-    int64_t old_ticks;
-} NoVoiceOut;
-
-typedef struct NoVoiceIn {
-    HWVoiceIn hw;
-    int64_t old_ticks;
-} NoVoiceIn;
-
-static int no_run_out (HWVoiceOut *hw)
-{
-    NoVoiceOut *no = (NoVoiceOut *) hw;
-    int live, decr, samples;
-    int64_t now;
-    int64_t ticks;
-    int64_t ticks_per_second;
-
-    live = audio_pcm_hw_get_live_out (&no->hw);
-    if (!live) {
-        return 0;
-    }
-
-    now = audio_get_clock ();
-    ticks = now - no->old_ticks;
-
-    ticks_per_second = audio_get_ticks_per_sec ();
-    /* Minimize the rounding error: samples = int((ticks * freq) / ticks_per_second + 0.5). */
-    samples = (int)((2 * ticks * hw->info.freq + ticks_per_second) / ticks_per_second / 2);
-    /* Usually there is no integer overflow while calculating the 'samples' value.
-     * It can happen because this is the first invocation or because the function was not called for awhile.
-     * In this case simply claim that all samples has been played.
-     */
-    if (samples < 0) {
-        samples = live;
-    }
-
-    no->old_ticks = now;
-    decr = audio_MIN (live, samples);
-    hw->rpos = (hw->rpos + decr) % hw->samples;
-    return decr;
-}
-
-static int no_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int no_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    audio_pcm_init_info (&hw->info, as);
-    hw->samples = 1024;
-    return 0;
-}
-
-static void no_fini_out (HWVoiceOut *hw)
-{
-    (void) hw;
-}
-
-static int no_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    (void) hw;
-    (void) cmd;
-    return 0;
-}
-
-static int no_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    audio_pcm_init_info (&hw->info, as);
-    hw->samples = 1024;
-    return 0;
-}
-
-static void no_fini_in (HWVoiceIn *hw)
-{
-    (void) hw;
-}
-
-static int no_run_in (HWVoiceIn *hw)
-{
-    NoVoiceIn *no = (NoVoiceIn *) hw;
-    int live = audio_pcm_hw_get_live_in (hw);
-    int dead = hw->samples - live;
-    int samples = 0;
-
-    if (dead) {
-        int64_t now = audio_get_clock ();
-        int64_t ticks = now - no->old_ticks;
-        int64_t bytes = (ticks * hw->info.bytes_per_second)
-            / audio_get_ticks_per_sec ();
-
-        no->old_ticks = now;
-        bytes = audio_MIN (bytes, INT_MAX);
-        samples = bytes >> hw->info.shift;
-        samples = audio_MIN (samples, dead);
-        hw->wpos = (hw->wpos + samples) % hw->samples;
-    }
-    return samples;
-}
-
-static int no_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int no_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    (void) hw;
-    (void) cmd;
-    return 0;
-}
-
-static void *no_audio_init (void)
-{
-    return &no_audio_driver;
-}
-
-static void no_audio_fini (void *opaque)
-{
-    (void) opaque;
-}
-
-static struct audio_pcm_ops no_pcm_ops = {
-    no_init_out,
-    no_fini_out,
-    no_run_out,
-    no_write,
-    no_ctl_out,
-
-    no_init_in,
-    no_fini_in,
-    no_run_in,
-    no_read,
-    no_ctl_in
-};
-
-struct audio_driver no_audio_driver = {
-    INIT_FIELD (name           = ) "null",
-    INIT_FIELD (descr          = ) "Timer based audio emulation",
-    INIT_FIELD (options        = ) NULL,
-    INIT_FIELD (init           = ) no_audio_init,
-    INIT_FIELD (fini           = ) no_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &no_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) INT_MAX,
-    INIT_FIELD (voice_size_out = ) sizeof (NoVoiceOut),
-    INIT_FIELD (voice_size_in  = ) sizeof (NoVoiceIn)
-};
diff --git a/src/VBox/Devices/Audio/ossaudio.c b/src/VBox/Devices/Audio/ossaudio.c
deleted file mode 100644
index 9d72078..0000000
--- a/src/VBox/Devices/Audio/ossaudio.c
+++ /dev/null
@@ -1,897 +0,0 @@
-/*
- * QEMU OSS audio driver
- *
- * Copyright (c) 2003-2005 Vassili Karpov (malc)
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-#ifdef VBOX
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#endif
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/soundcard.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#include "audio.h"
-#include <iprt/alloc.h>
-
-#define AUDIO_CAP "oss"
-#include "audio_int.h"
-
-typedef struct OSSVoiceOut {
-    HWVoiceOut hw;
-    void *pcm_buf;
-    int fd;
-    int nfrags;
-    int fragsize;
-#ifndef RT_OS_L4
-    int mmapped;
-#endif
-    int old_optr;
-} OSSVoiceOut;
-
-typedef struct OSSVoiceIn {
-    HWVoiceIn hw;
-    void *pcm_buf;
-    int fd;
-    int nfrags;
-    int fragsize;
-    int old_optr;
-} OSSVoiceIn;
-
-static struct {
-#ifndef RT_OS_L4
-    int try_mmap;
-#endif
-    int nfrags;
-    int fragsize;
-    const char *devpath_out;
-    const char *devpath_in;
-    int debug;
-} conf = {
-#ifndef RT_OS_L4
-    INIT_FIELD (try_mmap    =) 0,
-#endif
-    INIT_FIELD (nfrags      =) 4,
-    INIT_FIELD (fragsize    =) 4096,
-    INIT_FIELD (devpath_out =) "/dev/dsp",
-    INIT_FIELD (devpath_in  =) "/dev/dsp",
-    INIT_FIELD (debug       =) 0,
-};
-
-struct oss_params {
-    int freq;
-    audfmt_e fmt;
-    int nchannels;
-    int nfrags;
-    int fragsize;
-};
-
-static void GCC_FMT_ATTR (2, 3) oss_logerr (int err, const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    AUD_log (AUDIO_CAP, "Reason: %s\n", strerror (err));
-}
-
-#ifndef VBOX
-static void GCC_FMT_ATTR (3, 4) oss_logerr2 (
-    int err,
-    const char *typ,
-    const char *fmt,
-    ...
-    )
-{
-    va_list ap;
-
-    AUD_log (AUDIO_CAP, "Could not initialize %s\n", typ);
-
-    va_start (ap, fmt);
-    AUD_vlog (AUDIO_CAP, fmt, ap);
-    va_end (ap);
-
-    AUD_log (AUDIO_CAP, "Reason: %s\n", strerror (err));
-}
-#endif
-
-static void oss_anal_close (int *fdp)
-{
-    int err = close (*fdp);
-    if (err) {
-        oss_logerr (errno, "Failed to close file(fd=%d)\n", *fdp);
-    }
-    *fdp = -1;
-}
-
-static int oss_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int aud_to_ossfmt (audfmt_e fmt)
-{
-    switch (fmt) {
-    case AUD_FMT_S8:
-        return AFMT_S8;
-
-    case AUD_FMT_U8:
-        return AFMT_U8;
-
-    case AUD_FMT_S16:
-        return AFMT_S16_LE;
-
-    case AUD_FMT_U16:
-        return AFMT_U16_LE;
-
-    default:
-        dolog ("Internal logic error: Bad audio format %d\n", fmt);
-#ifdef DEBUG_AUDIO
-        abort ();
-#endif
-        return AFMT_U8;
-    }
-}
-
-static int oss_to_audfmt (int ossfmt, audfmt_e *fmt, int *endianness)
-{
-    switch (ossfmt) {
-    case AFMT_S8:
-        *endianness = 0;
-        *fmt = AUD_FMT_S8;
-        break;
-
-    case AFMT_U8:
-        *endianness = 0;
-        *fmt = AUD_FMT_U8;
-        break;
-
-    case AFMT_S16_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_S16;
-        break;
-
-    case AFMT_U16_LE:
-        *endianness = 0;
-        *fmt = AUD_FMT_U16;
-        break;
-
-    case AFMT_S16_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_S16;
-        break;
-
-    case AFMT_U16_BE:
-        *endianness = 1;
-        *fmt = AUD_FMT_U16;
-        break;
-
-    default:
-        dolog ("Unrecognized audio format %d\n", ossfmt);
-        return -1;
-    }
-
-    return 0;
-}
-
-#if defined DEBUG_MISMATCHES || defined DEBUG
-static void oss_dump_info (struct oss_params *req, struct oss_params *obt)
-{
-    dolog ("parameter | requested value | obtained value\n");
-    dolog ("format    |      %10d |     %10d\n", req->fmt, obt->fmt);
-    dolog ("channels  |      %10d |     %10d\n",
-           req->nchannels, obt->nchannels);
-    dolog ("frequency |      %10d |     %10d\n", req->freq, obt->freq);
-    dolog ("nfrags    |      %10d |     %10d\n", req->nfrags, obt->nfrags);
-    dolog ("fragsize  |      %10d |     %10d\n",
-           req->fragsize, obt->fragsize);
-}
-#endif
-
-static int oss_open (int in, struct oss_params *req,
-                     struct oss_params *obt, int *pfd)
-{
-    int fd;
-    int mmmmssss;
-    audio_buf_info abinfo;
-    int fmt, freq, nchannels;
-    const char *dspname = in ? conf.devpath_in : conf.devpath_out;
-    const char *typ = in ? "ADC" : "DAC";
-
-    fd = open (dspname, (in ? O_RDONLY : O_WRONLY) | O_NONBLOCK);
-    if (-1 == fd) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to open `%s'\n", dspname);
-#else
-        LogRel(("OSS: Failed to open %s for %s (%s)\n",
-                 dspname, typ, strerror(errno)));
-#endif
-        return -1;
-    }
-
-#ifdef VBOX
-    LogRel(("OSS: Successfully opened %s for %s\n", dspname, typ));
-#endif
-
-    freq = req->freq;
-    nchannels = req->nchannels;
-    fmt = req->fmt;
-
-    if (ioctl (fd, SNDCTL_DSP_SAMPLESIZE, &fmt)) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to set sample size %d\n", req->fmt);
-#else
-        LogRel(("OSS: Failed to set sample size %d (%s)\n",
-                 req->fmt, strerror(errno)));
-#endif
-        goto err;
-    }
-
-    if (ioctl (fd, SNDCTL_DSP_CHANNELS, &nchannels)) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to set number of channels %d\n",
-                     req->nchannels);
-#else
-        LogRel(("OSS: Failed to set nchannels=%d (%s)\n",
-                 req->nchannels, strerror(errno)));
-#endif
-        goto err;
-    }
-
-    if (ioctl (fd, SNDCTL_DSP_SPEED, &freq)) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to set frequency %d\n", req->freq);
-#else
-        LogRel(("OSS: Failed to set freq=%dHZ\n", req->freq, strerror(errno)));
-#endif
-        goto err;
-    }
-
-/* Obsolete on Solaris (using O_NONBLOCK is sufficient) */
-#if !(defined(VBOX) && defined(RT_OS_SOLARIS))
-    if (ioctl (fd, SNDCTL_DSP_NONBLOCK)) {
-# ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to set non-blocking mode\n");
-# else
-        LogRel(("OSS: Failed to set non-blocking mode (%s)\n", strerror(errno)));
-# endif
-        goto err;
-    }
-#endif
-
-    mmmmssss = (req->nfrags << 16) | lsbindex (req->fragsize);
-    if (ioctl (fd, SNDCTL_DSP_SETFRAGMENT, &mmmmssss)) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to set buffer length (%d, %d)\n",
-                     req->nfrags, req->fragsize);
-#else
-        LogRel(("OSS: Failed to set buffer_length=%d,%d (%s)\n",
-                req->nfrags, req->fragsize, strerror(errno)));
-#endif
-        goto err;
-    }
-
-    if (ioctl (fd, in ? SNDCTL_DSP_GETISPACE : SNDCTL_DSP_GETOSPACE, &abinfo)) {
-#ifndef VBOX
-        oss_logerr2 (errno, typ, "Failed to get buffer length\n");
-#else
-        LogRel(("OSS: Failed to get buffer length (%s)\n", strerror(errno)));
-#endif
-        goto err;
-    }
-
-    obt->fmt = fmt;
-    obt->nchannels = nchannels;
-    obt->freq = freq;
-    obt->nfrags = abinfo.fragstotal;
-    obt->fragsize = abinfo.fragsize;
-    *pfd = fd;
-
-#ifdef DEBUG_MISMATCHES
-    if ((req->fmt != obt->fmt) ||
-        (req->nchannels != obt->nchannels) ||
-        (req->freq != obt->freq) ||
-        (req->fragsize != obt->fragsize) ||
-        (req->nfrags != obt->nfrags)) {
-        dolog ("Audio parameters mismatch\n");
-        oss_dump_info (req, obt);
-    }
-#endif
-
-#ifdef DEBUG
-    oss_dump_info (req, obt);
-#endif
-    return 0;
-
- err:
-    oss_anal_close (&fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for %s\n",
-            in ? conf.devpath_in : conf.devpath_out, in ? "ADC" : "DAC"));
-#endif
-    return -1;
-}
-
-static int oss_run_out (HWVoiceOut *hw)
-{
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-    int err, rpos, live, decr;
-    int samples;
-    uint8_t *dst;
-    st_sample_t *src;
-    struct audio_buf_info abinfo;
-#ifndef RT_OS_L4
-    struct count_info cntinfo;
-#endif
-    int bufsize;
-
-    live = audio_pcm_hw_get_live_out (hw);
-    if (!live) {
-        return 0;
-    }
-
-    bufsize = hw->samples << hw->info.shift;
-
-#ifndef RT_OS_L4
-    if (oss->mmapped) {
-        int bytes;
-
-        err = ioctl (oss->fd, SNDCTL_DSP_GETOPTR, &cntinfo);
-        if (err < 0) {
-            oss_logerr (errno, "SNDCTL_DSP_GETOPTR failed\n");
-            return 0;
-        }
-
-        if (cntinfo.ptr == oss->old_optr) {
-            if (abs (hw->samples - live) < 64) {
-                dolog ("warning: Overrun\n");
-            }
-            return 0;
-        }
-
-        if (cntinfo.ptr > oss->old_optr) {
-            bytes = cntinfo.ptr - oss->old_optr;
-        }
-        else {
-            bytes = bufsize + cntinfo.ptr - oss->old_optr;
-        }
-
-        decr = audio_MIN (bytes >> hw->info.shift, live);
-    }
-    else {
-#endif
-        err = ioctl (oss->fd, SNDCTL_DSP_GETOSPACE, &abinfo);
-        if (err < 0) {
-            oss_logerr (errno, "SNDCTL_DSP_GETOPTR failed\n");
-            return 0;
-        }
-
-        if (abinfo.bytes > bufsize) {
-            if (conf.debug) {
-                dolog ("warning: Invalid available size, size=%d bufsize=%d\n"
-                       "please report your OS/audio hw to malc at pulsesoft.com\n",
-                       abinfo.bytes, bufsize);
-            }
-            abinfo.bytes = bufsize;
-        }
-
-        if (abinfo.bytes < 0) {
-            if (conf.debug) {
-                dolog ("warning: Invalid available size, size=%d bufsize=%d\n",
-                       abinfo.bytes, bufsize);
-            }
-            return 0;
-        }
-
-        decr = audio_MIN (abinfo.bytes >> hw->info.shift, live);
-        if (!decr) {
-            return 0;
-        }
-#ifndef RT_OS_L4
-    }
-#endif
-
-    samples = decr;
-    rpos = hw->rpos;
-    while (samples) {
-        int left_till_end_samples = hw->samples - rpos;
-        int convert_samples = audio_MIN (samples, left_till_end_samples);
-
-        src = hw->mix_buf + rpos;
-        dst = advance (oss->pcm_buf, rpos << hw->info.shift);
-
-        hw->clip (dst, src, convert_samples);
-#ifdef RT_OS_L4
-        {
-#else
-        if (!oss->mmapped) {
-#endif
-            int written;
-
-            written = write (oss->fd, dst, convert_samples << hw->info.shift);
-            /* XXX: follow errno recommendations ? */
-            if (written == -1) {
-                oss_logerr (
-                    errno,
-                    "Failed to write %d bytes of audio data from %p\n",
-                    convert_samples << hw->info.shift,
-                    dst
-                    );
-                continue;
-            }
-
-            if (written != convert_samples << hw->info.shift) {
-                int wsamples = written >> hw->info.shift;
-                int wbytes = wsamples << hw->info.shift;
-                if (wbytes != written) {
-                    dolog ("warning: Misaligned write %d (requested %d), "
-                           "alignment %d\n",
-                           wbytes, written, hw->info.align + 1);
-                }
-#if 0
-                mixeng_sniff_and_clear (hw, src, dst, wsamples);
-#endif
-                decr -= wsamples;
-                rpos = (rpos + wsamples) % hw->samples;
-                break;
-            }
-        }
-
-#if 0
-        mixeng_sniff_and_clear (hw, src, dst, convert_samples);
-#endif
-
-        rpos = (rpos + convert_samples) % hw->samples;
-        samples -= convert_samples;
-    }
-
-#ifndef RT_OS_L4
-    if (oss->mmapped) {
-        oss->old_optr = cntinfo.ptr;
-    }
-#endif
-
-    hw->rpos = rpos;
-    return decr;
-}
-
-static void oss_fini_out (HWVoiceOut *hw)
-{
-#ifndef RT_OS_L4
-    int err;
-#endif
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-
-    ldebug ("oss_fini\n");
-    oss_anal_close (&oss->fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for DAC\n", conf.devpath_out));
-#endif
-
-    if (oss->pcm_buf) {
-#ifdef RT_OS_L4
-        qemu_free (oss->pcm_buf);
-#else
-        if (oss->mmapped) {
-            err = munmap (oss->pcm_buf, hw->samples << hw->info.shift);
-            if (err) {
-                oss_logerr (errno, "Failed to unmap buffer %p, size %d\n",
-                            oss->pcm_buf, hw->samples << hw->info.shift);
-            }
-        }
-        else {
-            qemu_free (oss->pcm_buf);
-        }
-#endif
-        oss->pcm_buf = NULL;
-    }
-}
-
-static int oss_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-    struct oss_params req, obt;
-    int endianness;
-    int err;
-    int fd;
-    audfmt_e effective_fmt;
-    audsettings_t obt_as;
-
-    oss->fd = -1;
-
-    req.fmt = aud_to_ossfmt (as->fmt);
-    req.freq = as->freq;
-    req.nchannels = as->nchannels;
-    req.fragsize = conf.fragsize;
-    req.nfrags = conf.nfrags;
-
-    if (oss_open (0, &req, &obt, &fd)) {
-        return -1;
-    }
-
-    err = oss_to_audfmt (obt.fmt, &effective_fmt, &endianness);
-    if (err) {
-        oss_anal_close (&fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for DAC\n", conf.devpath_out));
-#endif
-        return -1;
-    }
-
-    obt_as.freq = obt.freq;
-    obt_as.nchannels = obt.nchannels;
-    obt_as.fmt = effective_fmt;
-    obt_as.endianness = endianness;
-
-    audio_pcm_init_info (&hw->info, &obt_as);
-    oss->nfrags = obt.nfrags;
-    oss->fragsize = obt.fragsize;
-
-    if (obt.nfrags * obt.fragsize & hw->info.align) {
-        dolog ("warning: Misaligned DAC buffer, size %d, alignment %d\n",
-               obt.nfrags * obt.fragsize, hw->info.align + 1);
-    }
-
-    hw->samples = (obt.nfrags * obt.fragsize) >> hw->info.shift;
-
-#ifndef RT_OS_L4
-    oss->mmapped = 0;
-    if (conf.try_mmap) {
-        oss->pcm_buf = mmap (
-            0,
-            hw->samples << hw->info.shift,
-            PROT_READ | PROT_WRITE,
-            MAP_SHARED,
-            fd,
-            0
-            );
-        if (oss->pcm_buf == MAP_FAILED) {
-            oss_logerr (errno, "Failed to map %d bytes of DAC\n",
-                        hw->samples << hw->info.shift);
-        } else {
-# ifndef VBOX /* -Wshadow */
-            int err;
-# endif
-            int trig = 0;
-            if (ioctl (fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
-                oss_logerr (errno, "SNDCTL_DSP_SETTRIGGER 0 failed\n");
-            }
-            else {
-                trig = PCM_ENABLE_OUTPUT;
-                if (ioctl (fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
-                    oss_logerr (
-                        errno,
-                        "SNDCTL_DSP_SETTRIGGER PCM_ENABLE_OUTPUT failed\n"
-                        );
-                }
-                else {
-                    oss->mmapped = 1;
-                }
-            }
-
-            if (!oss->mmapped) {
-                err = munmap (oss->pcm_buf, hw->samples << hw->info.shift);
-                if (err) {
-                    oss_logerr (errno, "Failed to unmap buffer %p size %d\n",
-                                oss->pcm_buf, hw->samples << hw->info.shift);
-                }
-            }
-        }
-    }
-#endif
-
-#ifndef RT_OS_L4
-    if (!oss->mmapped) {
-#endif
-        oss->pcm_buf = audio_calloc (
-            AUDIO_FUNC,
-            hw->samples,
-            1 << hw->info.shift
-            );
-        if (!oss->pcm_buf) {
-            dolog (
-                "Could not allocate DAC buffer (%d samples, each %d bytes)\n",
-                hw->samples,
-                1 << hw->info.shift
-                );
-            oss_anal_close (&fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for DAC\n", conf.devpath_out));
-#endif
-            return -1;
-        }
-#ifndef RT_OS_L4
-    }
-#endif
-
-    oss->fd = fd;
-    return 0;
-}
-
-static int oss_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    int trig;
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-
-#ifdef RT_OS_L4
-    return 0;
-#else
-    if (!oss->mmapped) {
-        return 0;
-    }
-#endif
-
-    switch (cmd) {
-    case VOICE_ENABLE:
-        ldebug ("enabling voice\n");
-        audio_pcm_info_clear_buf (&hw->info, oss->pcm_buf, hw->samples);
-        trig = PCM_ENABLE_OUTPUT;
-        if (ioctl (oss->fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
-            oss_logerr (
-                errno,
-                "SNDCTL_DSP_SETTRIGGER PCM_ENABLE_OUTPUT failed\n"
-                );
-            return -1;
-        }
-        break;
-
-    case VOICE_DISABLE:
-        ldebug ("disabling voice\n");
-        trig = 0;
-        if (ioctl (oss->fd, SNDCTL_DSP_SETTRIGGER, &trig) < 0) {
-            oss_logerr (errno, "SNDCTL_DSP_SETTRIGGER 0 failed\n");
-            return -1;
-        }
-        break;
-    }
-    return 0;
-}
-
-static int oss_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-    struct oss_params req, obt;
-    int endianness;
-    int err;
-    int fd;
-    audfmt_e effective_fmt;
-    audsettings_t obt_as;
-
-    oss->fd = -1;
-
-    req.fmt = aud_to_ossfmt (as->fmt);
-    req.freq = as->freq;
-    req.nchannels = as->nchannels;
-    req.fragsize = conf.fragsize;
-    req.nfrags = conf.nfrags;
-    if (oss_open (1, &req, &obt, &fd)) {
-        return -1;
-    }
-
-    err = oss_to_audfmt (obt.fmt, &effective_fmt, &endianness);
-    if (err) {
-        oss_anal_close (&fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for ADC\n", conf.devpath_in));
-#endif
-        return -1;
-    }
-
-    obt_as.freq = obt.freq;
-    obt_as.nchannels = obt.nchannels;
-    obt_as.fmt = effective_fmt;
-    obt_as.endianness = endianness;
-
-    audio_pcm_init_info (&hw->info, &obt_as);
-    oss->nfrags = obt.nfrags;
-    oss->fragsize = obt.fragsize;
-
-    if (obt.nfrags * obt.fragsize & hw->info.align) {
-        dolog ("warning: Misaligned ADC buffer, size %d, alignment %d\n",
-               obt.nfrags * obt.fragsize, hw->info.align + 1);
-    }
-
-    hw->samples = (obt.nfrags * obt.fragsize) >> hw->info.shift;
-    oss->pcm_buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);
-    if (!oss->pcm_buf) {
-        dolog ("Could not allocate ADC buffer (%d samples, each %d bytes)\n",
-               hw->samples, 1 << hw->info.shift);
-        oss_anal_close (&fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for ADC\n", conf.devpath_in));
-#endif
-        return -1;
-    }
-
-    oss->fd = fd;
-    return 0;
-}
-
-static void oss_fini_in (HWVoiceIn *hw)
-{
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-
-    oss_anal_close (&oss->fd);
-#ifdef VBOX
-    LogRel(("OSS: Closed %s for ADC\n", conf.devpath_in));
-#endif
-
-    if (oss->pcm_buf) {
-        qemu_free (oss->pcm_buf);
-        oss->pcm_buf = NULL;
-    }
-}
-
-static int oss_run_in (HWVoiceIn *hw)
-{
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-    int hwshift = hw->info.shift;
-    int i;
-    int live = audio_pcm_hw_get_live_in (hw);
-    int dead = hw->samples - live;
-    size_t read_samples = 0;
-    struct {
-        int add;
-        int len;
-    } bufs[2];
-
-    bufs[0].add = hw->wpos;
-    bufs[0].len = 0;
-    bufs[1].add = 0;
-    bufs[1].len = 0;
-
-    if (!dead) {
-        return 0;
-    }
-
-    if (hw->wpos + dead > hw->samples) {
-        bufs[0].len = (hw->samples - hw->wpos) << hwshift;
-        bufs[1].len = (dead - (hw->samples - hw->wpos)) << hwshift;
-    }
-    else {
-        bufs[0].len = dead << hwshift;
-    }
-
-
-    for (i = 0; i < 2; ++i) {
-        ssize_t nread;
-
-        if (bufs[i].len) {
-            void *p = advance (oss->pcm_buf, bufs[i].add << hwshift);
-            nread = read (oss->fd, p, bufs[i].len);
-
-            if (nread > 0) {
-                if (nread & hw->info.align) {
-                    dolog ("warning: Misaligned read %"
-                           FMTZ "d (requested %d), "
-                           "alignment %d\n", nread, bufs[i].add << hwshift,
-                           hw->info.align + 1);
-                }
-                read_samples += nread >> hwshift;
-#ifndef VBOX
-                hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
-                          &nominal_volume);
-#else
-                hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
-                          &pcm_in_volume);
-#endif
-            }
-
-            if (bufs[i].len - nread) {
-                if (nread == -1) {
-                    switch (errno) {
-                    case EINTR:
-                    case EAGAIN:
-                        break;
-                    default:
-                        oss_logerr (
-                            errno,
-                            "Failed to read %d bytes of audio (to %p)\n",
-                            bufs[i].len, p
-                            );
-                        break;
-                    }
-                }
-                break;
-            }
-        }
-    }
-
-    hw->wpos = (hw->wpos + read_samples) % hw->samples;
-    return read_samples;
-}
-
-static int oss_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int oss_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    (void) hw;
-    (void) cmd;
-    return 0;
-}
-
-static void *oss_audio_init (void)
-{
-    return &conf;
-}
-
-static void oss_audio_fini (void *opaque)
-{
-    (void) opaque;
-}
-
-static struct audio_option oss_options[] = {
-    {"Fragsize", AUD_OPT_INT, &conf.fragsize,
-     "Fragment size in bytes", NULL, 0},
-    {"NFrags", AUD_OPT_INT, &conf.nfrags,
-     "Number of fragments", NULL, 0},
-#ifndef RT_OS_L4
-    {"MMap", AUD_OPT_BOOL, &conf.try_mmap,
-     "Try using memory mapped access", NULL, 0},
-#endif
-    {"DACDev", AUD_OPT_STR, &conf.devpath_out,
-     "Path to DAC device", NULL, 0},
-    {"ADCDev", AUD_OPT_STR, &conf.devpath_in,
-     "Path to ADC device", NULL, 0},
-    {"Debug", AUD_OPT_BOOL, &conf.debug,
-     "Turn on some debugging messages", NULL, 0},
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static struct audio_pcm_ops oss_pcm_ops = {
-    oss_init_out,
-    oss_fini_out,
-    oss_run_out,
-    oss_write,
-    oss_ctl_out,
-
-    oss_init_in,
-    oss_fini_in,
-    oss_run_in,
-    oss_read,
-    oss_ctl_in
-};
-
-struct audio_driver oss_audio_driver = {
-    INIT_FIELD (name           = ) "oss",
-    INIT_FIELD (descr          = ) "OSS http://www.opensound.com",
-    INIT_FIELD (options        = ) oss_options,
-    INIT_FIELD (init           = ) oss_audio_init,
-    INIT_FIELD (fini           = ) oss_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &oss_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) INT_MAX,
-    INIT_FIELD (voice_size_out = ) sizeof (OSSVoiceOut),
-    INIT_FIELD (voice_size_in  = ) sizeof (OSSVoiceIn)
-};
diff --git a/src/VBox/Devices/Audio/pulseaudio.c b/src/VBox/Devices/Audio/pulseaudio.c
deleted file mode 100644
index e152057..0000000
--- a/src/VBox/Devices/Audio/pulseaudio.c
+++ /dev/null
@@ -1,866 +0,0 @@
-/** @file
- *
- * VBox PulseAudio backend
- */
-
-/*
- * Copyright (C) 2006-2010 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-
-/*******************************************************************************
-*   Header Files                                                               *
-*******************************************************************************/
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#include <iprt/mem.h>
-
-#include "pulse_mangling.h"
-#include "pulse_stubs.h"
-#include <pulse/pulseaudio.h>
-
-#include "vl_vbox.h"
-#include "audio.h"
-#define AUDIO_CAP "pulse"
-#include "audio_int.h"
-#include <stdio.h>
-
-#define MAX_LOG_REL_ERRORS 32
-
-/*
- * We use a g_pMainLoop in a separate thread g_pContext. We have to call functions for
- * manipulating objects either from callback functions or we have to protect
- * these functions by pa_threaded_mainloop_lock() / pa_threaded_mainloop_unlock().
- */
-static struct pa_threaded_mainloop *g_pMainLoop;
-static struct pa_context           *g_pContext;
-
-typedef struct PulseVoice
-{
-    /** not accessed from within this context */
-    union
-    {
-        HWVoiceOut     In;
-        HWVoiceIn      Out;
-    } hw;
-    /** DAC buffer */
-    void           *pPCMBuf;
-    /** Pulse stream */
-    pa_stream      *pStream;
-    /** Pulse sample format and attribute specification */
-    pa_sample_spec SampleSpec;
-    /** Pulse playback and buffer metrics */
-    pa_buffer_attr BufAttr;
-    int            fOpSuccess;
-    /** number of logged errors */
-    unsigned       cErrors;
-    /** Pulse record peek buffer */
-    const uint8_t  *pu8PeekBuf;
-    size_t         cbPeekBuf;
-    size_t         offPeekBuf;
-    pa_operation   *pDrainOp;
-} PulseVoice;
-
-/* The desired buffer length in milliseconds. Will be the target total stream
- * latency on newer version of pulse. Apparent latency can be less (or more.)
- */
-static struct
-{
-    int         buffer_msecs_out;
-    int         buffer_msecs_in;
-} conf
-=
-{
-    INIT_FIELD (.buffer_msecs_out = ) 100,
-    INIT_FIELD (.buffer_msecs_in  = ) 100,
-};
-
-static pa_sample_format_t aud_to_pulsefmt (audfmt_e fmt)
-{
-    switch (fmt)
-    {
-        case AUD_FMT_U8:
-            return PA_SAMPLE_U8;
-
-        case AUD_FMT_S16:
-            return PA_SAMPLE_S16LE;
-
-#ifdef PA_SAMPLE_S32LE
-        case AUD_FMT_S32:
-            return PA_SAMPLE_S32LE;
-#endif
-
-        default:
-            dolog ("Bad audio format %d\n", fmt);
-            return PA_SAMPLE_U8;
-    }
-}
-
-
-static int pulse_to_audfmt (pa_sample_format_t pulsefmt, audfmt_e *fmt, int *endianess)
-{
-    switch (pulsefmt)
-    {
-        case PA_SAMPLE_U8:
-            *endianess = 0;
-            *fmt = AUD_FMT_U8;
-            break;
-
-        case PA_SAMPLE_S16LE:
-            *fmt = AUD_FMT_S16;
-            *endianess = 0;
-            break;
-
-        case PA_SAMPLE_S16BE:
-            *fmt = AUD_FMT_S16;
-            *endianess = 1;
-            break;
-
-#ifdef PA_SAMPLE_S32LE
-        case PA_SAMPLE_S32LE:
-            *fmt = AUD_FMT_S32;
-            *endianess = 0;
-            break;
-#endif
-
-#ifdef PA_SAMPLE_S32BE
-        case PA_SAMPLE_S32BE:
-            *fmt = AUD_FMT_S32;
-            *endianess = 1;
-            break;
-#endif
-
-        default:
-            return -1;
-    }
-    return 0;
-}
-
-static void stream_success_callback(pa_stream *pStream, int fSuccess, void *userdata)
-{
-    PulseVoice *pPulse = (PulseVoice *)userdata;
-    pPulse->fOpSuccess = fSuccess;
-    if (!fSuccess)
-    {
-        if (pPulse->cErrors < MAX_LOG_REL_ERRORS)
-        {
-            int rc = pa_context_errno(g_pContext);
-            pPulse->cErrors++;
-            LogRel(("Pulse: Failed stream operation: %s\n", pa_strerror(rc)));
-        }
-    }
-    pa_threaded_mainloop_signal(g_pMainLoop, 0);
-}
-
-/**
- * Synchronously wait until an operation completed.
- */
-static int pulse_wait_for_operation (pa_operation *op)
-{
-    if (op)
-    {
-        while (pa_operation_get_state(op) == PA_OPERATION_RUNNING)
-            pa_threaded_mainloop_wait(g_pMainLoop);
-        pa_operation_unref(op);
-    }
-
-    return 1;
-}
-
-/**
- * Context status changed.
- */
-static void context_state_callback(pa_context *pContext, void *userdata)
-{
-    PulseVoice *pPulse = (PulseVoice *)userdata;
-    switch (pa_context_get_state(pContext))
-    {
-        case PA_CONTEXT_READY:
-        case PA_CONTEXT_TERMINATED:
-            pa_threaded_mainloop_signal(g_pMainLoop, 0);
-            break;
-
-        case PA_CONTEXT_FAILED:
-            LogRel(("Pulse: Audio input/output stopped!\n"));
-            if (pPulse)
-                pPulse->cErrors = MAX_LOG_REL_ERRORS;
-            pa_threaded_mainloop_signal(g_pMainLoop, 0);
-            break;
-
-        default:
-            break;
-    }
-}
-
-/**
- * Stream status changed.
- */
-static void stream_state_callback(pa_stream *pStream, void *userdata)
-{
-    switch (pa_stream_get_state(pStream))
-    {
-        case PA_STREAM_READY:
-        case PA_STREAM_FAILED:
-        case PA_STREAM_TERMINATED:
-            pa_threaded_mainloop_signal(g_pMainLoop, 0);
-            break;
-
-        default:
-            break;
-    }
-}
-
-/**
- * Callback called when our pa_stream_drain operation was completed.
- */
-static void stream_drain_callback(pa_stream *pStream, int fSuccess, void *userdata)
-{
-    PulseVoice *pPulse = (PulseVoice *)userdata;
-    pPulse->fOpSuccess = fSuccess;
-    if (!fSuccess)
-    {
-        if (pPulse->cErrors < MAX_LOG_REL_ERRORS)
-        {
-            int rc = pa_context_errno(g_pContext);
-            pPulse->cErrors++;
-            LogRel(("Pulse: Failed stream operation: %s\n", pa_strerror(rc)));
-        }
-    }
-    else
-        pa_operation_unref(pa_stream_cork(pStream, 1, stream_success_callback, userdata));
-
-    pa_operation_unref(pPulse->pDrainOp);
-    pPulse->pDrainOp = NULL;
-}
-
-static int pulse_open (int fIn, pa_stream **ppStream, pa_sample_spec *pSampleSpec,
-                       pa_buffer_attr *pBufAttr)
-{
-    const pa_buffer_attr *pBufAttrObtained;
-    pa_stream            *pStream = NULL;
-    char                 achPCMName[64];
-    pa_stream_flags_t    flags = 0;
-    const char           *stream_name = audio_get_stream_name();
-
-    RTStrPrintf(achPCMName, sizeof(achPCMName), "%.32s%s%s%s",
-                stream_name ? stream_name : "",
-                stream_name ? " (" : "",
-                fIn ? "pcm_in" : "pcm_out",
-                stream_name ? ")" : "");
-
-    LogRel(("Pulse: Open %s rate=%dHz channels=%d format=%s\n",
-                fIn ? "PCM_IN" : "PCM_OUT", pSampleSpec->rate, pSampleSpec->channels,
-                pa_sample_format_to_string(pSampleSpec->format)));
-
-    if (!pa_sample_spec_valid(pSampleSpec))
-    {
-        LogRel(("Pulse: Unsupported sample specification\n"));
-        goto fail;
-    }
-
-    pa_threaded_mainloop_lock(g_pMainLoop);
-
-    if (!(pStream = pa_stream_new(g_pContext, achPCMName, pSampleSpec, /*channel_map=*/NULL)))
-    {
-        LogRel(("Pulse: Cannot create stream %s\n", achPCMName));
-        goto unlock_and_fail;
-    }
-
-    pa_stream_set_state_callback(pStream, stream_state_callback, NULL);
-
-#if PA_API_VERSION >= 12
-    /* XXX */
-    flags |= PA_STREAM_ADJUST_LATENCY;
-#endif
-
-#if 0
-    /* not applicable as we don't use pa_stream_get_latency() and pa_stream_get_time() */
-    flags |= PA_STREAM_INTERPOLATE_TIMING | PA_STREAM_AUTO_TIMING_UPDATE;
-#endif
-
-    /* no input/output right away after the stream was started */
-    flags |= PA_STREAM_START_CORKED;
-
-    if (fIn)
-    {
-        LogRel(("Pulse: Requested record buffer attributes: maxlength=%d fragsize=%d\n",
-                pBufAttr->maxlength, pBufAttr->fragsize));
-
-        if (pa_stream_connect_record(pStream, /*dev=*/NULL, pBufAttr, flags) < 0)
-        {
-            LogRel(("Pulse: Cannot connect record stream: %s\n",
-                    pa_strerror(pa_context_errno(g_pContext))));
-            goto disconnect_unlock_and_fail;
-        }
-    }
-    else
-    {
-        LogRel(("Pulse: Requested playback buffer attributes: maxlength=%d tlength=%d prebuf=%d minreq=%d\n",
-                pBufAttr->maxlength, pBufAttr->tlength, pBufAttr->prebuf, pBufAttr->minreq));
-
-        if (pa_stream_connect_playback(pStream, /*dev=*/NULL, pBufAttr, flags,
-                                       /*cvolume=*/NULL, /*sync_stream=*/NULL) < 0)
-        {
-            LogRel(("Pulse: Cannot connect playback stream: %s\n",
-                    pa_strerror(pa_context_errno(g_pContext))));
-            goto disconnect_unlock_and_fail;
-        }
-    }
-
-    /* Wait until the stream is ready */
-    for (;;)
-    {
-        pa_stream_state_t sstate;
-        pa_threaded_mainloop_wait(g_pMainLoop);
-
-        sstate = pa_stream_get_state(pStream);
-        if (sstate == PA_STREAM_READY)
-            break;
-        else if (sstate == PA_STREAM_FAILED || sstate == PA_STREAM_TERMINATED)
-        {
-            LogRel(("Pulse: Failed to initialize stream (state %d)\n", sstate));
-            goto disconnect_unlock_and_fail;
-        }
-    }
-
-    pBufAttrObtained = pa_stream_get_buffer_attr(pStream);
-    memcpy(pBufAttr, pBufAttrObtained, sizeof(pa_buffer_attr));
-
-    if (fIn)
-    {
-        LogRel(("Pulse: Obtained record buffer attributes: maxlength=%d fragsize=%d\n",
-            pBufAttr->maxlength, pBufAttr->fragsize));
-    }
-    else
-    {
-        LogRel(("Pulse: Obtained playback buffer attributes: maxlength=%d tlength=%d prebuf=%d minreq=%d\n",
-            pBufAttr->maxlength, pBufAttr->tlength, pBufAttr->prebuf, pBufAttr->minreq));
-    }
-
-    pa_threaded_mainloop_unlock(g_pMainLoop);
-    *ppStream = pStream;
-    return 0;
-
-disconnect_unlock_and_fail:
-    pa_stream_disconnect(pStream);
-
-unlock_and_fail:
-    pa_threaded_mainloop_unlock(g_pMainLoop);
-
-fail:
-    if (pStream)
-        pa_stream_unref(pStream);
-
-    *ppStream = NULL;
-    return -1;
-}
-
-static int pulse_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    PulseVoice *pPulse = (PulseVoice *) hw;
-    audsettings_t obt_as;
-    int cbBuf;
-
-    pPulse->pDrainOp            = NULL;
-
-    pPulse->SampleSpec.format   = aud_to_pulsefmt (as->fmt);
-    pPulse->SampleSpec.rate     = as->freq;
-    pPulse->SampleSpec.channels = as->nchannels;
-
-    /* Note that setting maxlength to -1 does not work on PulseAudio servers
-     * older than 0.9.10. So use the suggested value of 3/2 of tlength */
-    pPulse->BufAttr.tlength     = (pa_bytes_per_second(&pPulse->SampleSpec)
-                                  * conf.buffer_msecs_out) / 1000;
-    pPulse->BufAttr.maxlength   = (pPulse->BufAttr.tlength * 3) / 2;
-    pPulse->BufAttr.prebuf      = -1; /* Same as tlength */
-    pPulse->BufAttr.minreq      = -1; /* Pulse should set something sensible for minreq on it's own */
-
-    /* Notice that the struct BufAttr is updated to the obtained values after this call */
-    if (pulse_open (0, &pPulse->pStream, &pPulse->SampleSpec, &pPulse->BufAttr))
-        return -1;
-
-    if (pulse_to_audfmt (pPulse->SampleSpec.format, &obt_as.fmt, &obt_as.endianness))
-    {
-        LogRel(("Pulse: Cannot find audio format %d\n", pPulse->SampleSpec.format));
-        return -1;
-    }
-
-    obt_as.freq       = pPulse->SampleSpec.rate;
-    obt_as.nchannels  = pPulse->SampleSpec.channels;
-
-    audio_pcm_init_info (&hw->info, &obt_as);
-    cbBuf = audio_MIN(pPulse->BufAttr.tlength * 2, pPulse->BufAttr.maxlength);
-
-    pPulse->pPCMBuf = RTMemAllocZ(cbBuf);
-    if (!pPulse->pPCMBuf)
-    {
-        LogRel(("Pulse: Could not allocate DAC buffer of %d bytes\n", cbBuf));
-        return -1;
-    }
-
-    /* Convert from bytes to frames (aka samples) */
-    hw->samples = cbBuf >> hw->info.shift;
-
-    return 0;
-}
-
-static void pulse_fini_out (HWVoiceOut *hw)
-{
-    PulseVoice *pPulse = (PulseVoice *)hw;
-
-    if (pPulse->pStream)
-    {
-        pa_threaded_mainloop_lock(g_pMainLoop);
-        pa_stream_disconnect(pPulse->pStream);
-        pa_stream_unref(pPulse->pStream);
-        pa_threaded_mainloop_unlock(g_pMainLoop);
-        pPulse->pStream = NULL;
-    }
-
-    if (pPulse->pPCMBuf)
-    {
-        RTMemFree (pPulse->pPCMBuf);
-        pPulse->pPCMBuf = NULL;
-    }
-}
-
-static int pulse_run_out (HWVoiceOut *hw)
-{
-    PulseVoice  *pPulse = (PulseVoice *) hw;
-    int          cFramesLive;
-    int          cFramesWritten = 0;
-    int          csSamples;
-    int          cFramesToWrite;
-    int          cFramesAvail;
-    size_t       cbAvail;
-    size_t       cbToWrite;
-    uint8_t     *pu8Dst;
-    st_sample_t *psSrc;
-
-    cFramesLive = audio_pcm_hw_get_live_out (hw);
-    if (!cFramesLive)
-        return 0;
-
-    pa_threaded_mainloop_lock(g_pMainLoop);
-
-    cbAvail = pa_stream_writable_size (pPulse->pStream);
-    if (cbAvail == (size_t)-1)
-    {
-        if (pPulse->cErrors < MAX_LOG_REL_ERRORS)
-        {
-            int rc = pa_context_errno(g_pContext);
-            pPulse->cErrors++;
-            LogRel(("Pulse: Failed to determine the writable size: %s\n",
-                     pa_strerror(rc)));
-        }
-        goto unlock_and_exit;
-    }
-
-    cFramesAvail   = cbAvail >> hw->info.shift; /* bytes => samples */
-    cFramesWritten = audio_MIN (cFramesLive, cFramesAvail);
-    csSamples      = cFramesWritten;
-
-    while (csSamples)
-    {
-        /* split request at the end of our samples buffer */
-        cFramesToWrite = audio_MIN (csSamples, hw->samples - hw->rpos);
-        cbToWrite      = cFramesToWrite << hw->info.shift;
-        psSrc          = hw->mix_buf + hw->rpos;
-        pu8Dst         = advance (pPulse->pPCMBuf, hw->rpos << hw->info.shift);
-
-        hw->clip (pu8Dst, psSrc, cFramesToWrite);
-
-        if (pa_stream_write (pPulse->pStream, pu8Dst, cbToWrite,
-                             /*cleanup_callback=*/NULL, 0, PA_SEEK_RELATIVE) < 0)
-        {
-            LogRel(("Pulse: Failed to write %d samples: %s\n",
-                    cFramesToWrite, pa_strerror(pa_context_errno(g_pContext))));
-            break;
-        }
-        hw->rpos   = (hw->rpos + cFramesToWrite) % hw->samples;
-        csSamples -= cFramesToWrite;
-    }
-
-unlock_and_exit:
-    pa_threaded_mainloop_unlock(g_pMainLoop);
-
-    return cFramesWritten;
-}
-
-static int pulse_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-static int pulse_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    PulseVoice *pPulse = (PulseVoice *) hw;
-
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-            /* Start audio output. */
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            if (   pPulse->pDrainOp
-                && pa_operation_get_state(pPulse->pDrainOp) != PA_OPERATION_DONE)
-            {
-                pa_operation_cancel(pPulse->pDrainOp);
-                pa_operation_unref(pPulse->pDrainOp);
-                pPulse->pDrainOp = NULL;
-            }
-            else
-            {
-                /* should return immediately */
-                pulse_wait_for_operation(pa_stream_cork(pPulse->pStream, 0,
-                                                        stream_success_callback, pPulse));
-            }
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            break;
-
-        case VOICE_DISABLE:
-            /* Pause audio output (the Pause bit of the AC97 x_CR register is set).
-             * Note that we must return immediately from here! */
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            if (!pPulse->pDrainOp)
-            {
-                /* should return immediately */
-                pulse_wait_for_operation(pa_stream_trigger(pPulse->pStream,
-                                                           stream_success_callback, pPulse));
-                pPulse->pDrainOp = pa_stream_drain(pPulse->pStream,
-                                                   stream_drain_callback, pPulse);
-            }
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            break;
-
-        default:
-            return -1;
-    }
-    return 0;
-}
-
-static int pulse_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    PulseVoice *pPulse = (PulseVoice *) hw;
-    audsettings_t obt_as;
-
-    pPulse->SampleSpec.format   = aud_to_pulsefmt (as->fmt);
-    pPulse->SampleSpec.rate     = as->freq;
-    pPulse->SampleSpec.channels = as->nchannels;
-
-    /* XXX check these values */
-    pPulse->BufAttr.fragsize    = (pa_bytes_per_second(&pPulse->SampleSpec)
-                                  * conf.buffer_msecs_in) / 1000;
-    pPulse->BufAttr.maxlength   = (pPulse->BufAttr.fragsize * 3) / 2;
-    /* Other members of pa_buffer_attr are ignored for record streams */
-
-    if (pulse_open (1, &pPulse->pStream, &pPulse->SampleSpec, &pPulse->BufAttr))
-        return -1;
-
-    if (pulse_to_audfmt (pPulse->SampleSpec.format, &obt_as.fmt, &obt_as.endianness))
-    {
-        LogRel(("Pulse: Cannot find audio format %d\n", pPulse->SampleSpec.format));
-        return -1;
-    }
-
-    obt_as.freq       = pPulse->SampleSpec.rate;
-    obt_as.nchannels  = pPulse->SampleSpec.channels;
-    audio_pcm_init_info (&hw->info, &obt_as);
-    hw->samples       = audio_MIN(pPulse->BufAttr.fragsize * 10, pPulse->BufAttr.maxlength)
-                          >> hw->info.shift;
-    pPulse->pu8PeekBuf = NULL;
-
-    return 0;
-}
-
-static void pulse_fini_in (HWVoiceIn *hw)
-{
-    PulseVoice *pPulse = (PulseVoice *)hw;
-
-    if (pPulse->pStream)
-    {
-        pa_threaded_mainloop_lock(g_pMainLoop);
-        pa_stream_disconnect(pPulse->pStream);
-        pa_stream_unref(pPulse->pStream);
-        pa_threaded_mainloop_unlock(g_pMainLoop);
-        pPulse->pStream = NULL;
-    }
-}
-
-static int pulse_run_in (HWVoiceIn *hw)
-{
-    PulseVoice *pPulse = (PulseVoice *) hw;
-    const int hwshift = hw->info.shift;
-    int       cFramesRead = 0;    /* total frames which have been read this call */
-    int       cFramesAvail;       /* total frames available from pulse at start of call */
-    int       cFramesToRead;      /* the largest amount we want/can get this call */
-    int       cFramesToPeek;      /* the largest amount we want/can get this peek */
-
-    /* We should only call pa_stream_readable_size() once and trust the first value */
-    pa_threaded_mainloop_lock(g_pMainLoop);
-    cFramesAvail = pa_stream_readable_size(pPulse->pStream) >> hwshift;
-    pa_threaded_mainloop_unlock(g_pMainLoop);
-
-    if (cFramesAvail == -1)
-    {
-        if (pPulse->cErrors < MAX_LOG_REL_ERRORS)
-        {
-            int rc = pa_context_errno(g_pContext);
-            pPulse->cErrors++;
-            LogRel(("Pulse: Failed to determine the readable size: %s\n",
-                     pa_strerror(rc)));
-        }
-        return 0;
-    }
-
-    /* If the buffer was not dropped last call, add what remains */
-    if (pPulse->pu8PeekBuf)
-        cFramesAvail += (pPulse->cbPeekBuf - pPulse->offPeekBuf) >> hwshift;
-
-    cFramesToRead = audio_MIN(cFramesAvail, hw->samples - audio_pcm_hw_get_live_in(hw));
-    for (; cFramesToRead; cFramesToRead -= cFramesToPeek)
-    {
-        /* If there is no data, do another peek */
-        if (!pPulse->pu8PeekBuf)
-        {
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            pa_stream_peek(pPulse->pStream, (const void**)&pPulse->pu8PeekBuf, &pPulse->cbPeekBuf);
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            pPulse->offPeekBuf = 0;
-            if (   !pPulse->pu8PeekBuf
-                || !pPulse->cbPeekBuf)
-                break;
-        }
-
-        cFramesToPeek = audio_MIN((signed)(  pPulse->cbPeekBuf
-                                           - pPulse->offPeekBuf) >> hwshift,
-                                  cFramesToRead);
-
-        /* Check for wrapping around the buffer end */
-        if (hw->wpos + cFramesToPeek > hw->samples)
-        {
-            int cFramesDelta = hw->samples - hw->wpos;
-
-            hw->conv(hw->conv_buf + hw->wpos,
-                     pPulse->pu8PeekBuf + pPulse->offPeekBuf,
-                     cFramesDelta,
-                     &nominal_volume);
-
-            hw->conv(hw->conv_buf,
-                     pPulse->pu8PeekBuf + pPulse->offPeekBuf + (cFramesDelta << hwshift),
-                     cFramesToPeek - cFramesDelta,
-                     &nominal_volume);
-        }
-        else
-        {
-            hw->conv(hw->conv_buf + hw->wpos,
-                     pPulse->pu8PeekBuf + pPulse->offPeekBuf,
-                     cFramesToPeek,
-                     &nominal_volume);
-        }
-
-        cFramesRead += cFramesToPeek;
-        hw->wpos = (hw->wpos + cFramesToPeek) % hw->samples;
-        pPulse->offPeekBuf += cFramesToPeek << hwshift;
-
-        /* If the buffer is done, drop it */
-        if (pPulse->offPeekBuf == pPulse->cbPeekBuf)
-        {
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            pa_stream_drop(pPulse->pStream);
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            pPulse->pu8PeekBuf = NULL;
-        }
-    }
-
-    return cFramesRead;
-}
-
-static int pulse_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-static int pulse_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    PulseVoice *pPulse = (PulseVoice *)hw;
-
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            /* should return immediately */
-            pulse_wait_for_operation(pa_stream_cork(pPulse->pStream, 0,
-                                                    stream_success_callback, pPulse));
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            break;
-
-        case VOICE_DISABLE:
-            pa_threaded_mainloop_lock(g_pMainLoop);
-            if (pPulse->pu8PeekBuf)
-            {
-                pa_stream_drop(pPulse->pStream);
-                pPulse->pu8PeekBuf = NULL;
-            }
-            /* should return immediately */
-            pulse_wait_for_operation(pa_stream_cork(pPulse->pStream, 1,
-                                                    stream_success_callback, pPulse));
-            pa_threaded_mainloop_unlock(g_pMainLoop);
-            break;
-
-        default:
-            return -1;
-    }
-    return 0;
-}
-
-static void *pulse_audio_init (void)
-{
-    int rc;
-
-    rc = audioLoadPulseLib();
-    if (RT_FAILURE(rc))
-    {
-        LogRel(("Pulse: Failed to load the PulseAudio shared library! Error %Rrc\n", rc));
-        return NULL;
-    }
-
-    if (!(g_pMainLoop = pa_threaded_mainloop_new()))
-    {
-        LogRel(("Pulse: Failed to allocate main loop: %s\n",
-                 pa_strerror(pa_context_errno(g_pContext))));
-        goto fail;
-    }
-
-    if (!(g_pContext = pa_context_new(pa_threaded_mainloop_get_api(g_pMainLoop), "VBox")))
-    {
-        LogRel(("Pulse: Failed to allocate context: %s\n",
-                 pa_strerror(pa_context_errno(g_pContext))));
-        goto fail;
-    }
-
-    if (pa_threaded_mainloop_start(g_pMainLoop) < 0)
-    {
-        LogRel(("Pulse: Failed to start threaded mainloop: %s\n",
-                 pa_strerror(pa_context_errno(g_pContext))));
-        goto fail;
-    }
-
-    pa_context_set_state_callback(g_pContext, context_state_callback, NULL);
-    pa_threaded_mainloop_lock(g_pMainLoop);
-
-    if (pa_context_connect(g_pContext, /*server=*/NULL, 0, NULL) < 0)
-    {
-        LogRel(("Pulse: Failed to connect to server: %s\n",
-                 pa_strerror(pa_context_errno(g_pContext))));
-        goto unlock_and_fail;
-    }
-
-    /* Wait until the g_pContext is ready */
-    for (;;)
-    {
-        pa_context_state_t cstate;
-        pa_threaded_mainloop_wait(g_pMainLoop);
-        cstate = pa_context_get_state(g_pContext);
-        if (cstate == PA_CONTEXT_READY)
-            break;
-        else if (cstate == PA_CONTEXT_TERMINATED || cstate == PA_CONTEXT_FAILED)
-        {
-            LogRel(("Pulse: Failed to initialize context (state %d)\n", cstate));
-            goto unlock_and_fail;
-        }
-    }
-    pa_threaded_mainloop_unlock(g_pMainLoop);
-
-    return &conf;
-
-unlock_and_fail:
-    if (g_pMainLoop)
-        pa_threaded_mainloop_unlock(g_pMainLoop);
-
-fail:
-    if (g_pMainLoop)
-        pa_threaded_mainloop_stop(g_pMainLoop);
-
-    if (g_pContext)
-    {
-        pa_context_disconnect(g_pContext);
-        pa_context_unref(g_pContext);
-        g_pContext = NULL;
-    }
-
-    if (g_pMainLoop)
-    {
-        pa_threaded_mainloop_free(g_pMainLoop);
-        g_pMainLoop = NULL;
-    }
-
-    return NULL;
-}
-
-static void pulse_audio_fini (void *opaque)
-{
-    if (g_pMainLoop)
-        pa_threaded_mainloop_stop(g_pMainLoop);
-
-    if (g_pContext)
-    {
-        pa_context_disconnect(g_pContext);
-        pa_context_unref(g_pContext);
-        g_pContext = NULL;
-    }
-
-    if (g_pMainLoop)
-    {
-        pa_threaded_mainloop_free(g_pMainLoop);
-        g_pMainLoop = NULL;
-    }
-
-    (void) opaque;
-}
-
-static struct audio_option pulse_options[] =
-{
-    {"DAC_MS", AUD_OPT_INT, &conf.buffer_msecs_out,
-     "DAC period size in milliseconds", NULL, 0},
-    {"ADC_MS", AUD_OPT_INT, &conf.buffer_msecs_in,
-     "ADC period size in milliseconds", NULL, 0},
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-static struct audio_pcm_ops pulse_pcm_ops =
-{
-    pulse_init_out,
-    pulse_fini_out,
-    pulse_run_out,
-    pulse_write,
-    pulse_ctl_out,
-
-    pulse_init_in,
-    pulse_fini_in,
-    pulse_run_in,
-    pulse_read,
-    pulse_ctl_in
-};
-
-struct audio_driver pulse_audio_driver =
-{
-    INIT_FIELD (name           = ) "pulse",
-    INIT_FIELD (descr          = ) "PulseAudio http://www.pulseaudio.org",
-    INIT_FIELD (options        = ) pulse_options,
-    INIT_FIELD (init           = ) pulse_audio_init,
-    INIT_FIELD (fini           = ) pulse_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &pulse_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) INT_MAX,
-    INIT_FIELD (voice_size_out = ) sizeof (PulseVoice),
-    INIT_FIELD (voice_size_in  = ) sizeof (PulseVoice)
-};
diff --git a/src/VBox/Devices/Audio/rate_template.h b/src/VBox/Devices/Audio/rate_template.h
deleted file mode 100644
index 398d305..0000000
--- a/src/VBox/Devices/Audio/rate_template.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * QEMU Mixing engine
- *
- * Copyright (c) 2004-2005 Vassili Karpov (malc)
- * Copyright (c) 1998 Fabrice Bellard
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/*
- * Processed signed long samples from ibuf to obuf.
- * Return number of samples processed.
- */
-void NAME (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
-           int *isamp, int *osamp)
-{
-    struct rate *rate = opaque;
-    st_sample_t *istart, *iend;
-    st_sample_t *ostart, *oend;
-    st_sample_t ilast, icur, out;
-#ifdef FLOAT_MIXENG
-    real_t t;
-#else
-    int64_t t;
-#endif
-
-    ilast = rate->ilast;
-
-    istart = ibuf;
-    iend = ibuf + *isamp;
-
-    ostart = obuf;
-    oend = obuf + *osamp;
-
-    if (rate->opos_inc == (1ULL + UINT_MAX)) {
-        int i, n = *isamp > *osamp ? *osamp : *isamp;
-        for (i = 0; i < n; i++) {
-            OP (obuf[i].l, ibuf[i].l);
-            OP (obuf[i].r, ibuf[i].r);
-        }
-        *isamp = n;
-        *osamp = n;
-        return;
-    }
-
-    while (obuf < oend) {
-
-        /* Safety catch to make sure we have input samples.  */
-        if (ibuf >= iend) {
-            break;
-        }
-
-        /* read as many input samples so that ipos > opos */
-
-        while (rate->ipos <= (rate->opos >> 32)) {
-            ilast = *ibuf++;
-            rate->ipos++;
-            /* See if we finished the input buffer yet */
-            if (ibuf >= iend) {
-                goto the_end;
-            }
-        }
-
-        icur = *ibuf;
-
-        /* interpolate */
-#ifdef FLOAT_MIXENG
-#ifdef RECIPROCAL
-        t = (rate->opos & UINT_MAX) * (1.f / UINT_MAX);
-#else
-        t = (rate->opos & UINT_MAX) / (real_t) UINT_MAX;
-#endif
-        out.l = (ilast.l * (1.0 - t)) + icur.l * t;
-        out.r = (ilast.r * (1.0 - t)) + icur.r * t;
-#else
-        t = rate->opos & 0xffffffff;
-        out.l = (ilast.l * ((int64_t) UINT_MAX - t) + icur.l * t) >> 32;
-        out.r = (ilast.r * ((int64_t) UINT_MAX - t) + icur.r * t) >> 32;
-#endif
-
-        /* output sample & increment position */
-        OP (obuf->l, out.l);
-        OP (obuf->r, out.r);
-        obuf += 1;
-        rate->opos += rate->opos_inc;
-    }
-
-the_end:
-    *isamp = ibuf - istart;
-    *osamp = obuf - ostart;
-    rate->ilast = ilast;
-}
-
-#undef NAME
-#undef OP
diff --git a/src/VBox/Devices/Audio/solaudio.c b/src/VBox/Devices/Audio/solaudio.c
deleted file mode 100644
index 6998eea..0000000
--- a/src/VBox/Devices/Audio/solaudio.c
+++ /dev/null
@@ -1,871 +0,0 @@
-/* $Id: solaudio.c $ */
-/** @file
- * VirtualBox Audio Driver - Solaris host.
- */
-
-/*
- * Copyright (C) 2006-2012 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-/*******************************************************************************
-*   Header Files                                                               *
-*******************************************************************************/
-#include <unistd.h>
-#include <errno.h>
-#include <stropts.h>
-#include <fcntl.h>
-#include <sys/audio.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include <sys/mixer.h>
-
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-#include <iprt/env.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-#include "audio.h"
-#include <iprt/alloc.h>
-
-#define AUDIO_CAP "solaudio"
-#include "audio_int.h"
-
-/*******************************************************************************
-*   Structures and Typedefs                                                    *
-*******************************************************************************/
-typedef struct solaudioVoiceOut
-{
-    HWVoiceOut    Hw;
-    audio_info_t  AudioInfo;
-    uint_t        cBuffersPlayed;
-    void         *pPCMBuf;
-} solaudioVoiceOut;
-
-typedef struct solaudioVoiceIn
-{
-    HWVoiceIn     Hw;
-    audio_info_t  AudioInfo;
-    void         *pPCMBuf;
-} solaudioVoiceIn;
-
-
-/*******************************************************************************
-*   Global Variables                                                           *
-*******************************************************************************/
-static struct
-{
-    int cbPlayBuffer;
-    int cbRecordBuffer;
-} conf =
-{
-    INIT_FIELD (cbPlayBuffer =) 4352,
-    INIT_FIELD (cbRecordBuffer = ) 8192
-};
-
-static int   g_AudioDev = -1;
-static int   g_RecordDev = -1;
-static int   g_AudioCtl = -1;
-static char *g_pszAudioDev = NULL;
-static char *g_pszAudioCtl = NULL;
-
-typedef enum
-{
-    enmPlay          = 6,
-    enmRecord        = 9,
-    enmRecordPassive = 15
-} audio_dest_t;
-
-
-static int aud_to_solfmt (audfmt_e fmt)
-{
-    switch (fmt)
-    {
-        case AUD_FMT_S8:
-        case AUD_FMT_U8:
-            return AUDIO_PRECISION_8;
-
-        case AUD_FMT_S16:
-        case AUD_FMT_U16:
-            return AUDIO_PRECISION_16;
-
-        default:
-            LogRel(("solaudio: aud_to_solfmt: Bad audio format %d\n", fmt));
-            return AUDIO_PRECISION_8;
-    }
-}
-
-
-static int sol_to_audfmt (int fmt, int encoding)
-{
-    switch (fmt)
-    {
-        case AUDIO_PRECISION_8:
-        {
-            if (encoding == AUDIO_ENCODING_LINEAR8)
-                return AUD_FMT_U8;
-            else
-                return AUD_FMT_S8;
-            break;
-        }
-
-        case AUDIO_PRECISION_16:
-        {
-            if (encoding == AUDIO_ENCODING_LINEAR)
-                return AUD_FMT_S16;
-            else
-                return AUD_FMT_U16;
-            break;
-        }
-
-        default:
-            LogRel(("solaudio: sol_to_audfmt: Bad audio format %d\n", fmt));
-            return AUD_FMT_S8;
-    }
-}
-
-
-static char *solaudio_getdevice (void)
-{
-    /*
-     * This is for multiple audio devices where env. var determines current one,
-     * otherwise else we fallback to default.
-     */
-    char *pszAudioDev = RTEnvDupEx(RTENV_DEFAULT, "AUDIODEV");
-    if (!pszAudioDev)
-        pszAudioDev = RTStrDup("/dev/audio");
-    return pszAudioDev;
-}
-
-
-static void solaudio_close_device (audio_dest_t dst)
-{
-    LogFlow(("solaudio: solaudio_close_device\n"));
-    switch (dst)
-    {
-        case enmPlay:
-        {
-            close(g_AudioDev);
-            g_AudioDev = -1;
-            break;
-        }
-
-        case enmRecord:
-        case enmRecordPassive:
-        {
-            close(g_RecordDev);
-            g_RecordDev = -1;
-            break;
-        }
-
-        default:
-            LogRel(("solaudio: cannot close. invalid audio destination %d.\n", dst));
-    }
-}
-
-
-static int solaudio_open_device (audio_dest_t dst)
-{
-    int rc = 0;
-
-    LogFlow(("solaudio: solaudio_open_device dest=%d\n", dst));
-
-    switch (dst)
-    {
-        case enmPlay:
-        {
-            LogFlow(("solaudio: open_device for enmPlay\n"));
-            g_AudioDev = open(g_pszAudioDev, O_WRONLY | O_NONBLOCK);
-            if (g_AudioDev < 0)
-            {
-                LogRel(("solaudio: failed to open device %s dst=%d\n", g_pszAudioDev, dst));
-                rc = -1;
-            }
-            break;
-        }
-
-        case enmRecord:
-        case enmRecordPassive:
-        {
-            LogFlow(("solaudio: open_device for enmRecord\n"));
-            g_RecordDev = open(g_pszAudioDev, (dst == enmRecord ? O_RDONLY : O_WRONLY) | O_NONBLOCK);
-            if (g_RecordDev < 0)
-            {
-                LogRel(("solaudio: failed to open device %s dst=%d\n", g_pszAudioDev, dst));
-                rc = -1;
-            }
-            break;
-        }
-
-        default:
-            LogRel(("solaudio: Invalid audio destination.\n"));
-            break;
-    }
-    return rc;
-}
-
-
-static int solaudio_setattrs(audio_dest_t dst, audio_info_t *info)
-{
-    audio_info_t AudioInfo;
-    audio_prinfo_t *pDstInfo;
-    audio_prinfo_t *pSrcInfo;
-
-    LogFlow(("solaudio: solaudio_setattrs dst=%d info=%p\n", dst, info));
-
-    if (!info)
-        return -1;
-
-    AUDIO_INITINFO(&AudioInfo);
-    if (ioctl(dst == enmPlay ? g_AudioDev : g_RecordDev, AUDIO_GETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: AUDIO_GETINFO failed\n"));
-        return -1;
-    }
-
-    if (dst == enmPlay)
-    {
-        pDstInfo = &AudioInfo.play;
-        pSrcInfo = &info->play;
-    }
-    else
-    {
-        pDstInfo = &AudioInfo.record;
-        pSrcInfo = &info->record;
-    }
-
-    pDstInfo->sample_rate = pSrcInfo->sample_rate;
-    pDstInfo->channels = pSrcInfo->channels;
-    pDstInfo->precision = pSrcInfo->precision;
-    pDstInfo->encoding = pSrcInfo->encoding;
-    pDstInfo->buffer_size = pSrcInfo->buffer_size;
-    pDstInfo->gain = AUDIO_MAX_GAIN;
-    pDstInfo->open = 0;
-
-    if (ioctl(dst == enmPlay ? g_AudioDev : g_RecordDev, AUDIO_SETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: AUDIO_SETINFO failed\n"));
-        return -1;
-    }
-    return 0;
-}
-
-
-static int solaudio_init_out (HWVoiceOut *hw, audsettings_t *as)
-{
-    solaudioVoiceOut *pSol = (solaudioVoiceOut *)hw;
-    audsettings_t ObtAudioInfo;
-
-    AUDIO_INITINFO(&pSol->AudioInfo);
-    pSol->AudioInfo.play.sample_rate = as->freq;
-    pSol->AudioInfo.play.channels = as->nchannels;
-    pSol->AudioInfo.play.precision = aud_to_solfmt(as->fmt);
-    pSol->AudioInfo.play.buffer_size = conf.cbPlayBuffer;
-
-    if (as->fmt == AUD_FMT_U8)
-        pSol->AudioInfo.play.encoding = AUDIO_ENCODING_LINEAR8;
-    else
-        pSol->AudioInfo.play.encoding = AUDIO_ENCODING_LINEAR;
-
-    /* Open device for playback. */
-    if (solaudio_open_device(enmPlay))
-    {
-        LogRel(("solaudio: solaudio_open failed\n"));
-        return -1;
-    }
-
-    /* Specify playback attributes to device. */
-    if (solaudio_setattrs(enmPlay, &pSol->AudioInfo))
-    {
-        LogRel(("solaudio: failed to set playback attributes.\n"));
-        return -1;
-    }
-
-    /* Copy obtained playback attributes. */
-    ObtAudioInfo.freq = pSol->AudioInfo.play.sample_rate;
-    ObtAudioInfo.nchannels = pSol->AudioInfo.play.channels;
-    ObtAudioInfo.fmt = sol_to_audfmt(pSol->AudioInfo.play.precision, pSol->AudioInfo.play.encoding);
-    ObtAudioInfo.endianness = as->endianness;
-
-    audio_pcm_init_info(&hw->info, &ObtAudioInfo);
-    pSol->cBuffersPlayed = 0;
-
-    hw->samples = pSol->AudioInfo.play.buffer_size >> hw->info.shift;
-    pSol->pPCMBuf = RTMemAllocZ(pSol->AudioInfo.play.buffer_size);
-    if (!pSol->pPCMBuf)
-    {
-        LogRel(("solaudio: failed to alloc %d %d bytes to pPCMBuf\n", hw->samples << hw->info.shift, hw->samples));
-        return -1;
-    }
-    LogFlow(("solaudio: init_out hw->samples=%d play.buffer_size=%d\n", hw->samples, pSol->AudioInfo.play.buffer_size));
-    return 0;
-}
-
-
-static void solaudio_fini_out (HWVoiceOut *hw)
-{
-    solaudioVoiceOut *sol = (solaudioVoiceOut *) hw;
-    LogFlow(("solaudio: fini_out\n"));
-
-    solaudio_close_device(enmPlay);
-    if (sol->pPCMBuf)
-    {
-        RTMemFree(sol->pPCMBuf);
-        sol->pPCMBuf = NULL;
-    }
-}
-
-
-static void solaudio_start_out (HWVoiceOut *hw)
-{
-    audio_info_t AudioInfo;
-    solaudioVoiceOut *pSol = (solaudioVoiceOut *)hw;
-    LogFlow(("solaudio: voice_enable\n"));
-
-    audio_pcm_info_clear_buf(&hw->info, pSol->pPCMBuf, hw->samples);
-
-    AUDIO_INITINFO(&AudioInfo);
-    ioctl(g_AudioDev, AUDIO_GETINFO, &AudioInfo);
-    AudioInfo.play.pause = 0;
-#if 0
-    AudioInfo.play.eof = 0;
-    AudioInfo.play.samples = 0;
-    pSol->cBuffersPlayed = 0;
-#endif
-    ioctl(g_AudioDev, AUDIO_SETINFO, &AudioInfo);
-}
-
-
-static void solaudio_stop_out (solaudioVoiceOut *sol)
-{
-    audio_info_t AudioInfo;
-    LogFlow(("solaudio: stop_out\n"));
-
-    if (ioctl(g_AudioCtl, I_SETSIG, 0) < 0)
-    {
-        Log(("solaudio: failed to stop signalling\n"));
-        return;
-    }
-
-    if (ioctl(g_AudioDev, I_FLUSH, FLUSHW) < 0)
-    {
-        LogRel(("solaudio: failed to drop unplayed buffers\n"));
-        return;
-    }
-
-    AUDIO_INITINFO(&AudioInfo);
-    AudioInfo.play.pause = 1;
-#if 0
-    AudioInfo.play.samples = 0;
-    AudioInfo.play.eof = 0;
-    AudioInfo.play.error = 0;
-    sol->cBuffersPlayed = 0;
-#endif
-    if (ioctl(g_AudioDev, AUDIO_SETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: AUDIO_SETINFO failed during stop_out.\n"));
-        return;
-    }
-}
-
-
-static int solaudio_availbuf (solaudioVoiceOut *sol)
-{
-    int cbPlayBuffer = 0;
-    if (ioctl(g_AudioDev, AUDIO_GETINFO, &sol->AudioInfo) < 0)
-    {
-        LogRel(("solaudio: AUDIO_GETINFO ioctl failed\n"));
-        return -1;
-    }
-
-    if (sol->cBuffersPlayed - sol->AudioInfo.play.eof <= 2)
-        cbPlayBuffer = conf.cbPlayBuffer;
-
-    /* Check for overflow */
-    if (sol->cBuffersPlayed > UINT_MAX - 4)
-    {
-        sol->cBuffersPlayed -= UINT_MAX - 4;
-        sol->AudioInfo.play.eof -= UINT_MAX - 4;
-        ioctl(g_AudioDev, AUDIO_SETINFO, &sol->AudioInfo);
-    }
-
-    LogFlow(("avail: eof=%d samples=%d bufplayed=%d avail=%d\n", sol->AudioInfo.play.eof, sol->AudioInfo.play.samples,
-            sol->cBuffersPlayed, cbPlayBuffer));
-    return cbPlayBuffer;
-}
-
-
-static int solaudio_run_out (HWVoiceOut *hw)
-{
-    solaudioVoiceOut *pSol = (solaudioVoiceOut *) hw;
-    int          csLive, csDecr, csSamples, csToWrite, csAvail;
-    size_t       cbAvail, cbToWrite;
-    ssize_t      cbWritten;
-    uint8_t     *pu8Dst;
-    st_sample_t *psSrc;
-
-    csLive = audio_pcm_hw_get_live_out(hw);
-    if (!csLive)
-        return 0;
-
-    cbAvail = solaudio_availbuf(pSol);
-    if (cbAvail <= 0)
-        return 0;
-
-    csAvail   = cbAvail >> hw->info.shift; /* bytes => samples */
-    csDecr    = audio_MIN(csLive, csAvail);
-    csSamples = csDecr;
-
-    while (csSamples)
-    {
-        /* split request at the end of our samples buffer */
-        csToWrite = audio_MIN(csSamples, hw->samples - hw->rpos);
-        cbToWrite = csToWrite << hw->info.shift;
-        psSrc     = hw->mix_buf + hw->rpos;
-        pu8Dst    = advance(pSol->pPCMBuf, hw->rpos << hw->info.shift);
-
-        hw->clip(pu8Dst, psSrc, csToWrite);
-
-        cbWritten = write(g_AudioDev, pu8Dst, cbToWrite);
-        if (cbWritten < 0)
-            break;
-
-        hw->rpos   = (hw->rpos + csToWrite) % hw->samples;
-        csSamples -= csToWrite;
-    }
-
-    /* Increment eof marker for synchronous buffer processed */
-    write (g_AudioDev, NULL, 0);
-    pSol->cBuffersPlayed++;
-    return csDecr;
-}
-
-
-static int solaudio_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    solaudioVoiceOut *pSol = (solaudioVoiceOut *) hw;
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-        {
-            LogFlow(("solaudio: voice_enable\n"));
-            solaudio_start_out(hw);
-            break;
-        }
-
-        case VOICE_DISABLE:
-        {
-            LogFlow(("solaudio: voice_disable\n"));
-            solaudio_stop_out(pSol);
-            break;
-        }
-    }
-    return 0;
-}
-
-
-static int solaudio_write (SWVoiceOut *sw, void *buf, int len)
-{
-    return audio_pcm_sw_write (sw, buf, len);
-}
-
-
-static void *solaudio_audio_init (void)
-{
-    struct stat FileStat;
-
-    LogFlow(("solaudio_audio_init\n"));
-    if (!g_pszAudioDev)
-    {
-        g_pszAudioDev = solaudio_getdevice();
-        if (!g_pszAudioDev)
-        {
-            LogRel(("solaudio: solaudio_getdevice() failed to return a valid device.\n"));
-            return NULL;
-        }
-    }
-
-    if (stat(g_pszAudioDev, &FileStat) < 0)
-    {
-        LogRel(("solaudio: failed to stat %s\n", g_pszAudioDev));
-        return NULL;
-    }
-
-    if (!S_ISCHR(FileStat.st_mode))
-    {
-        LogRel(("solaudio: invalid mode for %s\n", g_pszAudioDev));
-        return NULL;
-    }
-
-    if (!g_pszAudioCtl)
-        RTStrAPrintf(&g_pszAudioCtl, "%sctl", g_pszAudioDev);
-
-    if (g_AudioCtl < 0)
-    {
-        g_AudioCtl = open(g_pszAudioCtl, O_RDWR | O_NONBLOCK);
-        if (g_AudioCtl < 0)
-        {
-            LogRel(("solaudio: failed to open device %s\n", g_pszAudioCtl));
-            return NULL;
-        }
-    }
-
-    return &conf;
-}
-
-
-static void solaudio_audio_fini (void *opaque)
-{
-    LogFlow(("solaudio_audio_fini\n"));
-    if (g_pszAudioDev)
-    {
-        RTStrFree(g_pszAudioDev);
-        g_pszAudioDev = NULL;
-    }
-    if (g_pszAudioCtl)
-    {
-        RTStrFree(g_pszAudioCtl);
-        g_pszAudioCtl = NULL;
-    }
-    close(g_AudioCtl);
-    g_AudioCtl = -1;
-
-    NOREF(opaque);
-}
-
-
-/* -=-=-=-=- Audio Input -=-=-=-=- */
-
-static void solaudio_pause_record(void)
-{
-    audio_info_t AudioInfo;
-    AUDIO_INITINFO(&AudioInfo);
-    if (ioctl(g_RecordDev, AUDIO_GETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: failed to get info. to pause recording.\n"));
-        return;
-    }
-
-    AudioInfo.record.pause = 1;
-    if (ioctl(g_RecordDev, AUDIO_SETINFO, &AudioInfo))
-        LogRel(("solaudio: failed to pause recording.\n"));
-}
-
-
-static void solaudio_resume_record(void)
-{
-    audio_info_t AudioInfo;
-    AUDIO_INITINFO(&AudioInfo);
-    if (ioctl(g_RecordDev, AUDIO_GETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: failed to get info. to resume recording.\n"));
-        return;
-    }
-
-    AudioInfo.record.pause = 0;
-    if (ioctl(g_RecordDev, AUDIO_SETINFO, &AudioInfo))
-        LogRel(("solaudio: failed to resume recording.\n"));
-}
-
-
-
-static void solaudio_stop_in (solaudioVoiceIn *sol)
-{
-    audio_info_t AudioInfo;
-    LogFlow(("solaudio: stop_in\n"));
-
-    if (ioctl(g_AudioCtl, I_SETSIG, 0) < 0)
-    {
-        Log(("solaudio: failed to stop signalling\n"));
-        return;
-    }
-
-    if (ioctl(g_RecordDev, I_FLUSH, FLUSHR) < 0)
-    {
-        LogRel(("solaudio: failed to drop record buffers\n"));
-        return;
-    }
-
-    AUDIO_INITINFO(&AudioInfo);
-    AudioInfo.record.samples = 0;
-    AudioInfo.record.pause = 1;
-    AudioInfo.record.eof = 0;
-    AudioInfo.record.error = 0;
-    if (ioctl(g_RecordDev, AUDIO_SETINFO, &AudioInfo) < 0)
-    {
-        LogRel(("solaudio: AUDIO_SETINFO failed during stop_in.\n"));
-        return;
-    }
-
-    solaudio_close_device(enmRecord);
-}
-
-
-static void solaudio_start_in (solaudioVoiceIn *sol)
-{
-    LogFlow(("solaudio: start_in\n"));
-    if (solaudio_open_device(enmRecord))
-    {
-        LogRel(("solaudio: failed to open for recording.\n"));
-    }
-
-    if (solaudio_setattrs(enmRecord, &sol->AudioInfo))
-    {
-        LogRel(("solaudio: solaudio_setattrs for recording failed.\n"));
-        return;
-    }
-    solaudio_resume_record();
-}
-
-
-static int solaudio_init_in (HWVoiceIn *hw, audsettings_t *as)
-{
-    solaudioVoiceIn *pSol = (solaudioVoiceIn *)hw;
-    audsettings_t ObtAudioInfo;
-
-    AUDIO_INITINFO(&pSol->AudioInfo);
-    pSol->AudioInfo.record.sample_rate = as->freq;
-    pSol->AudioInfo.record.channels = as->nchannels;
-    pSol->AudioInfo.record.precision = aud_to_solfmt(as->fmt);
-    pSol->AudioInfo.record.buffer_size = conf.cbRecordBuffer;
-
-    if (as->fmt == AUD_FMT_U8)
-        pSol->AudioInfo.record.encoding = AUDIO_ENCODING_LINEAR8;
-    else
-        pSol->AudioInfo.record.encoding = AUDIO_ENCODING_LINEAR;
-
-    /*
-     * Open device for recording in passive mode (O_WRONLY) as we do not
-     * want to start buffering audio immediately. This is what is recommended.
-     */
-    if (solaudio_open_device(enmRecordPassive))
-    {
-        LogRel(("solaudio: solaudio_open failed.\n"));
-        return -1;
-    }
-
-    /* Specify playback attributes to device. */
-    if (solaudio_setattrs(enmRecord, &pSol->AudioInfo))
-    {
-        LogRel(("solaudio: failed to set playback attributes.\n"));
-        return -1;
-    }
-
-    /* Copy obtained record attributes. */
-    ObtAudioInfo.freq = pSol->AudioInfo.record.sample_rate;
-    ObtAudioInfo.nchannels = pSol->AudioInfo.record.channels;
-    ObtAudioInfo.fmt = sol_to_audfmt(pSol->AudioInfo.record.precision, pSol->AudioInfo.record.encoding);
-    ObtAudioInfo.endianness = as->endianness;
-
-    audio_pcm_init_info(&hw->info, &ObtAudioInfo);
-
-    hw->samples = pSol->AudioInfo.record.buffer_size >> hw->info.shift;
-    pSol->pPCMBuf = RTMemAllocZ(pSol->AudioInfo.record.buffer_size);
-    if (!pSol->pPCMBuf)
-    {
-        LogRel(("solaudio: init_in: failed to alloc %d %d bytes to pPCMBuf\n", hw->samples << hw->info.shift, hw->samples));
-        return -1;
-    }
-    solaudio_close_device(enmRecordPassive);
-    LogFlow(("solaudio: init_in: hw->samples=%d record.buffer_size=%d rate=%d\n", hw->samples, pSol->AudioInfo.record.buffer_size,
-            pSol->AudioInfo.record.sample_rate));
-    return 0;
-}
-
-
-static void solaudio_fini_in (HWVoiceIn *hw)
-{
-    solaudioVoiceIn *sol = (solaudioVoiceIn *) hw;
-    LogFlow(("solaudio: fini_in done\n"));
-
-    if (sol->pPCMBuf)
-    {
-        RTMemFree(sol->pPCMBuf);
-        sol->pPCMBuf = NULL;
-    }
-}
-
-
-static int solaudio_run_in (HWVoiceIn *hw)
-{
-#if 0
-    solaudioVoiceIn *pSol = (solaudioVoiceIn *) hw;
-    int          csDead, csDecr = 0, csSamples, csRead, csAvail;
-    size_t       cbAvail, cbRead;
-    void        *pu8Src;
-    st_sample_t *psDst;
-
-    csDead = hw->samples - audio_pcm_hw_get_live_in (hw);
-
-    if (!csDead)
-        return 0;
-
-    if (ioctl(g_AudioDev, I_NREAD, &cbAvail) < 0)
-    {
-        LogRel(("solaudio: I_NREAD failed\n"));
-        return 0;
-    }
-
-    if (!cbAvail)
-        return 0;
-
-    cbAvail = audio_MIN(cbAvail, conf.cbRecordBuffer);
-    pu8Src = pSol->pPCMBuf;
-    cbRead = read(g_AudioDev, pu8Src, cbAvail);
-    if (cbRead <= 0)
-        return 0;
-
-    csAvail = cbAvail >> hw->info.shift;
-    csDecr  = audio_MIN (csDead, csAvail);
-    csSamples = csDecr;
-
-    while (csSamples)
-    {
-        /* split request at the end of our samples buffer */
-        psDst      = hw->conv_buf + hw->wpos;
-        csRead     = audio_MIN (csSamples, hw->samples - hw->wpos);
-        hw->conv (psDst, pu8Src, csRead, &pcm_in_volume);
-        hw->wpos   = (hw->wpos + csRead) % hw->samples;
-        csSamples -= csRead;
-        pu8Src     = (void *)((uint8_t*)pu8Src + (csRead << hw->info.shift));
-    }
-    return csDecr;
-#else
-    solaudioVoiceIn *sol = (solaudioVoiceIn *) hw;
-    int hwshift = hw->info.shift;
-    int i;
-    int live = audio_pcm_hw_get_live_in (hw);
-    int dead = hw->samples - live;
-    size_t read_samples = 0;
-    struct
-    {
-        int add;
-        int len;
-    } bufs[2];
-
-    bufs[0].add = hw->wpos;
-    bufs[0].len = 0;
-    bufs[1].add = 0;
-    bufs[1].len = 0;
-
-    if (!dead) {
-        return 0;
-    }
-
-    if (hw->wpos + dead > hw->samples)
-    {
-        bufs[0].len = (hw->samples - hw->wpos) << hwshift;
-        bufs[1].len = (dead - (hw->samples - hw->wpos)) << hwshift;
-    }
-    else
-        bufs[0].len = dead << hwshift;
-
-
-    for (i = 0; i < 2; ++i)
-    {
-        ssize_t nread;
-
-        if (bufs[i].len)
-        {
-            void *p = advance (sol->pPCMBuf, bufs[i].add << hwshift);
-            nread = read (g_RecordDev, p, bufs[i].len);
-
-            if (nread > 0)
-            {
-                read_samples += nread >> hwshift;
-                hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
-                          &pcm_in_volume);
-            }
-
-            if (bufs[i].len - nread)
-                if (nread == -1)
-                    break;
-        }
-    }
-
-    hw->wpos = (hw->wpos + read_samples) % hw->samples;
-    return read_samples;
-#endif
-}
-
-
-static int solaudio_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return audio_pcm_sw_read (sw, buf, size);
-}
-
-
-static int solaudio_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    solaudioVoiceIn *pSol = (solaudioVoiceIn *) hw;
-    switch (cmd)
-    {
-        case VOICE_ENABLE:
-        {
-            LogRel(("solaudio: solaudio_ctl_in voice_enable\n"));
-            solaudio_start_in(pSol);
-            break;
-        }
-
-        case VOICE_DISABLE:
-        {
-            LogRel(("solaudio: solaudio_ctl_in voice_disable\n"));
-            solaudio_stop_in(pSol);
-            break;
-        }
-    }
-    return 0;
-}
-
-
-static struct audio_pcm_ops solaudio_pcm_ops =
-{
-    solaudio_init_out,
-    solaudio_fini_out,
-    solaudio_run_out,
-    solaudio_write,
-    solaudio_ctl_out,
-
-    NULL,
-    NULL,
-    NULL,
-    NULL,
-    NULL
-};
-
-
-static struct audio_option solaudio_options[] =
-{
-    {"PlayBufferSize", AUD_OPT_INT, &conf.cbPlayBuffer,
-     "Size of the buffer in bytes", NULL, 0},
-#if 0
-    {"RECORD_BUFFER_SIZE", AUD_OPT_INT, &conf.cbRecordBuffer,
-     "Size of the record bufffer in bytes", NULL, 0},
-#endif
-    {NULL, 0, NULL, NULL, NULL, 0}
-};
-
-
-struct audio_driver solaudio_audio_driver =
-{
-    INIT_FIELD (name           = ) "solaudio",
-    INIT_FIELD (descr          = ) "SolarisAudio http://sun.com",
-    INIT_FIELD (options        = ) solaudio_options,
-    INIT_FIELD (init           = ) solaudio_audio_init,
-    INIT_FIELD (fini           = ) solaudio_audio_fini,
-    INIT_FIELD (pcm_ops        = ) &solaudio_pcm_ops,
-    INIT_FIELD (can_be_default = ) 1,
-    INIT_FIELD (max_voices_out = ) INT_MAX,
-    INIT_FIELD (max_voices_in  = ) 0,           /* Input not really supported. */
-    INIT_FIELD (voice_size_out = ) sizeof (solaudioVoiceOut),
-    INIT_FIELD (voice_size_in  = ) 0
-};
-
diff --git a/src/VBox/Devices/Audio/testcase/Makefile.kmk b/src/VBox/Devices/Audio/testcase/Makefile.kmk
index e5c064b..5f4a4cd 100644
--- a/src/VBox/Devices/Audio/testcase/Makefile.kmk
+++ b/src/VBox/Devices/Audio/testcase/Makefile.kmk
@@ -4,7 +4,7 @@
 #
 
 #
-# Copyright (C) 2014 Oracle Corporation
+# Copyright (C) 2014-2015 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
 # available from http://www.virtualbox.org. This file is free software;
@@ -18,13 +18,13 @@
 SUB_DEPTH = ../../../../..
 include $(KBUILD_PATH)/subheader.kmk
 
-if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK) && defined(VBOX_WITH_PDM_AUDIO_DRIVER)
+if defined(VBOX_WITH_TESTCASES) && !defined(VBOX_ONLY_ADDITIONS) && !defined(VBOX_ONLY_SDK)
 
  PROGRAMS += tstAudioMixBuffer
  TESTING  += $(tstAudioMixBuffer_0_OUTDIR)/tstAudioMixBuffer.run
 
  tstAudioMixBuffer_TEMPLATE = VBOXR3TSTEXE
- tstAudioMixBuffer_DEFS    += TESTCASE VBOX_WITH_PDM_AUDIO_DRIVER
+ tstAudioMixBuffer_DEFS    += TESTCASE
  tstAudioMixBuffer_SOURCES  = \
 	tstAudioMixBuffer.cpp \
 	../AudioMixBuffer.cpp \
diff --git a/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp b/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp
index a47e9cb..e72f4da 100644
--- a/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp
+++ b/src/VBox/Devices/Audio/testcase/tstAudioMixBuffer.cpp
@@ -58,12 +58,12 @@ static int tstSingle(RTTEST hTest)
      * General stuff.
      */
     PDMAUDIOMIXBUF mb;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&mb, "Single", &props, cBufSize));
-    RTTESTI_CHECK(audioMixBufSize(&mb) == cBufSize);
-    RTTESTI_CHECK(AUDIOMIXBUF_B2S(&mb, audioMixBufSizeBytes(&mb)) == cBufSize);
-    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, audioMixBufSize(&mb)) == audioMixBufSizeBytes(&mb));
-    RTTESTI_CHECK(audioMixBufFree(&mb) == cBufSize);
-    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, audioMixBufFree(&mb)) == audioMixBufFreeBytes(&mb));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&mb, "Single", &props, cBufSize));
+    RTTESTI_CHECK(AudioMixBufSize(&mb) == cBufSize);
+    RTTESTI_CHECK(AUDIOMIXBUF_B2S(&mb, AudioMixBufSizeBytes(&mb)) == cBufSize);
+    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, AudioMixBufSize(&mb)) == AudioMixBufSizeBytes(&mb));
+    RTTESTI_CHECK(AudioMixBufFree(&mb) == cBufSize);
+    RTTESTI_CHECK(AUDIOMIXBUF_S2B(&mb, AudioMixBufFree(&mb)) == AudioMixBufFreeBytes(&mb));
 
     /*
      * Absolute writes.
@@ -74,61 +74,61 @@ static int tstSingle(RTTEST hTest)
     int32_t samples32[2] = { 0xCC, 0xDD };
     int64_t samples64[2] = { 0xEE, 0xFF };
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 0, &samples8, sizeof(samples8), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 0, &samples8, sizeof(samples8), &written));
     RTTESTI_CHECK(written == 0 /* Samples */);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 0, &samples16, sizeof(samples16), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 0, &samples16, sizeof(samples16), &written));
     RTTESTI_CHECK(written == 1 /* Samples */);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&mb, 2, &samples32, sizeof(samples32), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&mb, 2, &samples32, sizeof(samples32), &written));
     RTTESTI_CHECK(written == 2 /* Samples */);
     written_abs = 0;
 
     /* Beyond buffer. */
-    RTTESTI_CHECK_RC(audioMixBufWriteAt(&mb, audioMixBufSize(&mb) + 1, &samples16, sizeof(samples16),
+    RTTESTI_CHECK_RC(AudioMixBufWriteAt(&mb, AudioMixBufSize(&mb) + 1, &samples16, sizeof(samples16),
                                         &written), VERR_BUFFER_OVERFLOW);
 
     /*
      * Circular writes.
      */
-    uint32_t cToWrite = audioMixBufSize(&mb) - written_abs - 1; /* -1 as padding plus -2 samples for above. */
+    uint32_t cToWrite = AudioMixBufSize(&mb) - written_abs - 1; /* -1 as padding plus -2 samples for above. */
     for (uint32_t i = 0; i < cToWrite; i++)
     {
-        RTTESTI_CHECK_RC_OK(audioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
+        RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
         RTTESTI_CHECK(written == 1);
     }
-    RTTESTI_CHECK(!audioMixBufIsEmpty(&mb));
-    RTTESTI_CHECK(audioMixBufFree(&mb) == 1);
-    RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 1U));
-    RTTESTI_CHECK(audioMixBufProcessed(&mb) == cToWrite + written_abs /* + last absolute write */);
+    RTTESTI_CHECK(!AudioMixBufIsEmpty(&mb));
+    RTTESTI_CHECK(AudioMixBufFree(&mb) == 1);
+    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 1U));
+    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cToWrite + written_abs /* + last absolute write */);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteCirc(&mb, &samples16, sizeof(samples16), &written));
     RTTESTI_CHECK(written == 1);
-    RTTESTI_CHECK(audioMixBufFree(&mb) == 0);
-    RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 0));
-    RTTESTI_CHECK(audioMixBufProcessed(&mb) == cBufSize);
+    RTTESTI_CHECK(AudioMixBufFree(&mb) == 0);
+    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, 0));
+    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cBufSize);
 
     /* Circular reads. */
-    uint32_t cToRead = audioMixBufSize(&mb) - written_abs - 1;
+    uint32_t cToRead = AudioMixBufSize(&mb) - written_abs - 1;
     for (uint32_t i = 0; i < cToWrite; i++)
     {
-        RTTESTI_CHECK_RC_OK(audioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
+        RTTESTI_CHECK_RC_OK(AudioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
         RTTESTI_CHECK(read == 1);
-        audioMixBufFinish(&mb, read);
+        AudioMixBufFinish(&mb, read);
     }
-    RTTESTI_CHECK(!audioMixBufIsEmpty(&mb));
-    RTTESTI_CHECK(audioMixBufFree(&mb) == audioMixBufSize(&mb) - written_abs - 1);
-    RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs - 1));
-    RTTESTI_CHECK(audioMixBufProcessed(&mb) == cBufSize - cToRead + written_abs);
+    RTTESTI_CHECK(!AudioMixBufIsEmpty(&mb));
+    RTTESTI_CHECK(AudioMixBufFree(&mb) == AudioMixBufSize(&mb) - written_abs - 1);
+    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs - 1));
+    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == cBufSize - cToRead + written_abs);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
+    RTTESTI_CHECK_RC_OK(AudioMixBufReadCirc(&mb, &samples16, sizeof(samples16), &read));
     RTTESTI_CHECK(read == 1);
-    audioMixBufFinish(&mb, read);
-    RTTESTI_CHECK(audioMixBufFree(&mb) == cBufSize - written_abs);
-    RTTESTI_CHECK(audioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs));
-    RTTESTI_CHECK(audioMixBufProcessed(&mb) == written_abs);
+    AudioMixBufFinish(&mb, read);
+    RTTESTI_CHECK(AudioMixBufFree(&mb) == cBufSize - written_abs);
+    RTTESTI_CHECK(AudioMixBufFreeBytes(&mb) == AUDIOMIXBUF_S2B(&mb, cBufSize - written_abs));
+    RTTESTI_CHECK(AudioMixBufProcessed(&mb) == written_abs);
 
-    audioMixBufDestroy(&mb);
+    AudioMixBufDestroy(&mb);
 
     return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
 }
@@ -152,7 +152,7 @@ static int tstParentChild(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF parent;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
 
     PDMAUDIOSTREAMCFG cfg_c1 = /* Upmixing to parent */
     {
@@ -166,8 +166,8 @@ static int tstParentChild(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF child1;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&child1, "Child1", &props, cBufSize));
-    RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child1, &parent));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child1, "Child1", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child1, &parent));
 
     PDMAUDIOSTREAMCFG cfg_c2 = /* Downmixing to parent */
     {
@@ -181,8 +181,8 @@ static int tstParentChild(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF child2;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&child2, "Child2", &props, cBufSize));
-    RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child2, &parent));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child2, "Child2", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child2, &parent));
 
     /*
      * Writing + mixing from child/children -> parent, sequential.
@@ -207,36 +207,36 @@ static int tstParentChild(RTTEST hTest)
     for (uint32_t i = 0; i < t; i++)
     {
         RTTestPrintf(hTest, RTTESTLVL_DEBUG, "i=%RU32\n", i);
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufWriteAt(&child1, 0, &samples, sizeof(samples), &written));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufWriteAt(&child1, 0, &samples, sizeof(samples), &written));
         RTTESTI_CHECK_MSG_BREAK(written == cSamplesChild1, ("Child1: Expected %RU32 written samples, got %RU32\n", cSamplesChild1, written));
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufMixToParent(&child1, written, &mixed));
-        temp = audioMixBufProcessed(&parent) - audioMixBufMixed(&child2);
-        RTTESTI_CHECK_MSG_BREAK(audioMixBufMixed(&child1) == temp, ("Child1: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child1), temp));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufMixToParent(&child1, written, &mixed));
+        temp = AudioMixBufProcessed(&parent) - AudioMixBufMixed(&child2);
+        RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child1) == temp, ("Child1: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child1), temp));
 
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufWriteAt(&child2, 0, &samples, sizeof(samples), &written));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufWriteAt(&child2, 0, &samples, sizeof(samples), &written));
         RTTESTI_CHECK_MSG_BREAK(written == cSamplesChild2, ("Child2: Expected %RU32 written samples, got %RU32\n", cSamplesChild2, written));
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufMixToParent(&child2, written, &mixed));
-        temp = audioMixBufProcessed(&parent) - audioMixBufMixed(&child1);
-        RTTESTI_CHECK_MSG_BREAK(audioMixBufMixed(&child2) == temp, ("Child2: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child2), temp));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufMixToParent(&child2, written, &mixed));
+        temp = AudioMixBufProcessed(&parent) - AudioMixBufMixed(&child1);
+        RTTESTI_CHECK_MSG_BREAK(AudioMixBufMixed(&child2) == temp, ("Child2: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child2), temp));
     }
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child1) + audioMixBufMixed(&child2));
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child1) + AudioMixBufMixed(&child2));
 
     for (;;)
     {
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, pvBuf, cbBuf, &read));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, pvBuf, cbBuf, &read));
         if (!read)
             break;
-        audioMixBufFinish(&parent, read);
+        AudioMixBufFinish(&parent, read);
     }
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
-    RTTESTI_CHECK(audioMixBufMixed(&child1) == 0);
-    RTTESTI_CHECK(audioMixBufMixed(&child2) == 0);
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
+    RTTESTI_CHECK(AudioMixBufMixed(&child1) == 0);
+    RTTESTI_CHECK(AudioMixBufMixed(&child2) == 0);
 
-    audioMixBufDestroy(&parent);
-    audioMixBufDestroy(&child1);
-    audioMixBufDestroy(&child2);
+    AudioMixBufDestroy(&parent);
+    AudioMixBufDestroy(&child1);
+    AudioMixBufDestroy(&child2);
 
     return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
 }
@@ -263,7 +263,7 @@ static int tstConversion8(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF parent;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
 
     /* Child uses half the sample rate; that ensures the mixing engine can't
      * take shortcuts and performs conversion. Because conversion to double
@@ -284,8 +284,8 @@ static int tstConversion8(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF child;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
-    RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
 
     /* 8-bit unsigned samples. Often used with SB16 device. */
     uint8_t     samples[16]  = { 0xAA, 0xBB, 0, 1, 43, 125, 126, 127,
@@ -306,21 +306,21 @@ static int tstConversion8(RTTEST hTest)
 
     /**** 8-bit unsigned samples ****/
     RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 8-bit\n", cfg_c.uHz, cfg_c.cChannels);
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
-    RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
-    temp = audioMixBufProcessed(&parent);
-    RTTESTI_CHECK_MSG(audioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child), temp));
+    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
+    temp = AudioMixBufProcessed(&parent);
+    RTTESTI_CHECK_MSG(AudioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child), temp));
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child));
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child));
 
     for (;;)
     {
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
         if (!read)
             break;
         cSamplesRead += read;
-        audioMixBufFinish(&parent, read);
+        AudioMixBufFinish(&parent, read);
     }
     RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
 
@@ -336,11 +336,11 @@ static int tstConversion8(RTTEST hTest)
         pDst8 += 2;
     }
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
-    RTTESTI_CHECK(audioMixBufMixed(&child) == 0);
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
+    RTTESTI_CHECK(AudioMixBufMixed(&child) == 0);
 
-    audioMixBufDestroy(&parent);
-    audioMixBufDestroy(&child);
+    AudioMixBufDestroy(&parent);
+    AudioMixBufDestroy(&child);
 
     return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
 }
@@ -367,7 +367,7 @@ static int tstConversion16(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF parent;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
 
     PDMAUDIOSTREAMCFG cfg_c =   /* Upmixing to parent */
     {
@@ -381,8 +381,8 @@ static int tstConversion16(RTTEST hTest)
     AssertRC(rc);
 
     PDMAUDIOMIXBUF child;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
-    RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
 
     /* 16-bit signed. More or less exclusively used as output, and usually as input, too. */
     int16_t     samples[16] = { 0xAA, 0xBB, INT16_MIN, INT16_MIN + 1, INT16_MIN / 2, -3, -2, -1,
@@ -403,21 +403,21 @@ static int tstConversion16(RTTEST hTest)
 
     /**** 16-bit signed samples ****/
     RTTestPrintf(hTest, RTTESTLVL_DEBUG, "Conversion test %uHz %uch 16-bit\n", cfg_c.uHz, cfg_c.cChannels);
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
-    RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
-    temp = audioMixBufProcessed(&parent);
-    RTTESTI_CHECK_MSG(audioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", audioMixBufMixed(&child), temp));
+    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
+    temp = AudioMixBufProcessed(&parent);
+    RTTESTI_CHECK_MSG(AudioMixBufMixed(&child) == temp, ("Child: Expected %RU32 mixed samples, got %RU32\n", AudioMixBufMixed(&child), temp));
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == audioMixBufMixed(&child));
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == AudioMixBufMixed(&child));
 
     for (;;)
     {
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
         if (!read)
             break;
         cSamplesRead += read;
-        audioMixBufFinish(&parent, read);
+        AudioMixBufFinish(&parent, read);
     }
     RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
 
@@ -433,11 +433,11 @@ static int tstConversion16(RTTEST hTest)
         pDst16 += 2;
     }
 
-    RTTESTI_CHECK(audioMixBufProcessed(&parent) == 0);
-    RTTESTI_CHECK(audioMixBufMixed(&child) == 0);
-    
-    audioMixBufDestroy(&parent);
-    audioMixBufDestroy(&child);
+    RTTESTI_CHECK(AudioMixBufProcessed(&parent) == 0);
+    RTTESTI_CHECK(AudioMixBufMixed(&child) == 0);
+
+    AudioMixBufDestroy(&parent);
+    AudioMixBufDestroy(&child);
 
     return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
 }
@@ -466,11 +466,11 @@ static int tstVolume(RTTEST hTest)
 
     PDMAUDIOVOLUME vol = { false, 0, 0 };   /* Not muted. */
     PDMAUDIOMIXBUF parent;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&parent, "Parent", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&parent, "Parent", &props, cBufSize));
 
     PDMAUDIOMIXBUF child;
-    RTTESTI_CHECK_RC_OK(audioMixBufInit(&child, "Child", &props, cBufSize));
-    RTTESTI_CHECK_RC_OK(audioMixBufLinkTo(&child, &parent));
+    RTTESTI_CHECK_RC_OK(AudioMixBufInit(&child, "Child", &props, cBufSize));
+    RTTESTI_CHECK_RC_OK(AudioMixBufLinkTo(&child, &parent));
 
     /* A few 16-bit signed samples. */
     int16_t     samples[16] = { INT16_MIN, INT16_MIN + 1, -128, -64, -4, -1, 0, 1,
@@ -496,20 +496,20 @@ static int tstVolume(RTTEST hTest)
 
     /* 1) Full volume/0dB attenuation (255). */
     vol.uLeft = vol.uRight = 255;
-    audioMixBufSetVolume(&child, &vol);
+    AudioMixBufSetVolume(&child, &vol);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
-    RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
+    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
 
     cSamplesRead = 0;
     for (;;)
     {
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
         if (!read)
             break;
         cSamplesRead += read;
-        audioMixBufFinish(&parent, read);
+        AudioMixBufFinish(&parent, read);
     }
     RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
 
@@ -523,24 +523,24 @@ static int tstVolume(RTTEST hTest)
         ++pSrc16;
         ++pDst16;
     }
-    audioMixBufReset(&child);
+    AudioMixBufReset(&child);
 
     /* 2) Half volume/-6dB attenuation (16 steps down). */
     vol.uLeft = vol.uRight = 255 - 16;
-    audioMixBufSetVolume(&child, &vol);
+    AudioMixBufSetVolume(&child, &vol);
 
-    RTTESTI_CHECK_RC_OK(audioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
+    RTTESTI_CHECK_RC_OK(AudioMixBufWriteAt(&child, 0, &samples, sizeof(samples), &written));
     RTTESTI_CHECK_MSG(written == cSamplesChild, ("Child: Expected %RU32 written samples, got %RU32\n", cSamplesChild, written));
-    RTTESTI_CHECK_RC_OK(audioMixBufMixToParent(&child, written, &mixed));
+    RTTESTI_CHECK_RC_OK(AudioMixBufMixToParent(&child, written, &mixed));
 
     cSamplesRead = 0;
     for (;;)
     {
-        RTTESTI_CHECK_RC_OK_BREAK(audioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
+        RTTESTI_CHECK_RC_OK_BREAK(AudioMixBufReadCirc(&parent, achBuf, cbBuf, &read));
         if (!read)
             break;
         cSamplesRead += read;
-        audioMixBufFinish(&parent, read);
+        AudioMixBufFinish(&parent, read);
     }
     RTTESTI_CHECK_MSG(cSamplesRead == cSamplesParent, ("Parent: Expected %RU32 mixed samples, got %RU32\n", cSamplesParent, cSamplesRead));
 
@@ -556,8 +556,8 @@ static int tstVolume(RTTEST hTest)
         ++pDst16;
     }
 
-    audioMixBufDestroy(&parent);
-    audioMixBufDestroy(&child);
+    AudioMixBufDestroy(&parent);
+    AudioMixBufDestroy(&child);
 
     return RTTestSubErrorCount(hTest) ? VERR_GENERAL_FAILURE : VINF_SUCCESS;
 }
diff --git a/src/VBox/Devices/Audio/winaudio.c b/src/VBox/Devices/Audio/winaudio.c
deleted file mode 100644
index 9cf226e..0000000
--- a/src/VBox/Devices/Audio/winaudio.c
+++ /dev/null
@@ -1,801 +0,0 @@
-/** @file
- *
- * VBox audio device:
- * Windows audio driver
- */
-
-/*
- * Copyright (C) 2006-2010 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#include <Windows.h>
-#include <mmsystem.h>
-
-#include <VBox/vmm/pdm.h>
-#include <VBox/err.h>
-
-#define LOG_GROUP LOG_GROUP_DEV_AC97
-#include <VBox/log.h>
-#include <iprt/assert.h>
-#include <iprt/uuid.h>
-#include <iprt/string.h>
-#include <iprt/alloc.h>
-
-#include "VBoxDD.h"
-#include "vl_vbox.h"
-
-#include "audio.h"
-#include "audio_int.h"
-
-#define WINMM_BUFFER_SIZE       4096
-#define WINMM_NUMBER_BUFFERS    32
-
-typedef struct OSSVoiceOut {
-    HWVoiceOut hw;
-    void *pcm_buf;
-    int fd;
-    int nfrags;
-    int fragsize;
-    int old_optr;
-    int default_bufsize;
-
-    int        fStart;
-    LPWAVEHDR  lpwh;
-    int        cBuffers;
-    int        idxBuffer;
-    HWAVEOUT   hStream;
-} OSSVoiceOut;
-
-typedef struct OSSVoiceIn {
-    HWVoiceIn hw;
-    void *pcm_buf;
-    int fd;
-    int nfrags;
-    int fragsize;
-    int old_optr;
-
-    WAVEHDR  wh;
-    HWAVEIN  hStream;
-} OSSVoiceIn;
-
-
-static int winmm_write (SWVoiceOut *sw, void *buf, int len)
-{
-    Log(("winmm_write: %08x %x\n", buf, len));
-    return pcm_sw_write (sw, buf, len);
-}
-
-
-static void winmm_run_out (HWVoiceOut *hw)
-{
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-    int err, rpos, live, decr;
-    int samples;
-    uint8_t *dst;
-    st_sample_t *src;
-    MMTIME mmtime;
-
-    live = pcm_hw_get_live (hw, NULL);
-    Log(("winmm_run_out live=%x\n", live));
-    if (live <= 0)
-        return;
-
-    mmtime.wType = TIME_SAMPLES;
-    err = waveOutGetPosition(oss->hStream, &mmtime, sizeof(mmtime));
-    if (err != MMSYSERR_NOERROR) {
-        Log( ("WINMMAUD: waveOutGetPosition failed with %d\n", err));
-        return;
-    }
-    if (mmtime.u.sample > 0 && mmtime.u.sample == oss->old_optr) {
-        if (abs (hw->samples - live) < 64)
-            Log( ("winmmaudio: overrun\n"));
-        return;
-    }
-
-    samples = oss->default_bufsize >> hw->info.shift;
-
-    decr = audio_MIN (samples, live);
-
-    Log(("winmm_run_out: current pos %08X room left=%08X, decr=%08x\n", mmtime.u.sample, samples, decr));
-
-    samples = decr;
-    rpos = hw->rpos;
-    while (samples)
-    {
-        int rc;
-        int left_till_end_samples = hw->samples - rpos;
-        int convert_samples = audio_MIN (samples, left_till_end_samples);
-
-        Assert(oss->lpwh[oss->idxBuffer].dwFlags & WHDR_PREPARED);
-        Assert( (oss->lpwh[oss->idxBuffer].dwFlags & WHDR_DONE)  ||
-               !(oss->lpwh[oss->idxBuffer].dwFlags & WHDR_INQUEUE));
-
-        if (!(oss->lpwh[oss->idxBuffer].dwFlags & WHDR_DONE) && (oss->lpwh[oss->idxBuffer].dwFlags & WHDR_INQUEUE))
-        {
-            Log(("winmm: buffer overrun -> current buffer=%d!!\n", oss->idxBuffer));
-            break;
-        }
-
-        src = advance (hw->mix_buf, rpos * sizeof (st_sample_t));
-        dst = oss->lpwh[oss->idxBuffer].lpData;
-
-        Log(("winmm_run_out: buffer=%d dst=%08x src=%08x convert_samples %08X\n", oss->idxBuffer, dst, src, convert_samples));
-
-        hw->clip (dst, src, convert_samples);
-        sniffer_run_out (hw, dst, convert_samples);
-
-        /* Update the size of the buffer */
-        oss->lpwh[oss->idxBuffer].dwBufferLength = convert_samples << hw->info.shift;
-        rc = waveOutWrite(oss->hStream, &oss->lpwh[oss->idxBuffer], sizeof(oss->lpwh[oss->idxBuffer]));
-        if (rc != MMSYSERR_NOERROR)
-        {
-            Log( ("WINMMAUD: waveOutWrite failed with %d\n", rc));
-            break;
-        }
-
-        memset (src, 0, convert_samples * sizeof (st_sample_t));
-
-        rpos = (rpos + convert_samples) % hw->samples;
-        samples -= convert_samples;
-
-        oss->idxBuffer++;
-        if (oss->idxBuffer >= oss->cBuffers)
-            oss->idxBuffer = 0;
-    }
-
-    pcm_hw_dec_live (hw, decr);
-    hw->rpos       = rpos;
-    oss->old_optr  = mmtime.u.sample;
-}
-
-static void winmm_fini_out (HWVoiceOut *hw)
-{
-    MMRESULT err;
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-
-    Log( ("WINMMAUD: winmm_fini_out\n"));
-    waveOutReset(oss->hStream);
-    err = waveOutClose(oss->hStream);
-    if (err != MMSYSERR_NOERROR) {
-        Log( ("WINMMAUD: Failed to close OSS descriptor %d\n", err));
-    }
-    oss->fd = -1;
-
-    if (oss->pcm_buf) {
-        RTMemFree(oss->pcm_buf);
-        oss->pcm_buf = NULL;
-    }
-}
-
-#ifdef DEBUG
-void CALLBACK winmmBufferDone(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dwInstance, DWORD dwParam1, DWORD dwParam2)
-{
-    if (uMsg == WOM_DONE)
-    {
-        LPWAVEHDR lpwh = (LPWAVEHDR)dwParam1;
-        OSSVoiceOut *oss = (OSSVoiceOut *)dwInstance;
-        int bufidx;
-
-        bufidx = (dwParam1 - (DWORD)oss->lpwh) / sizeof(WAVEHDR);
-        Log(("winmm: WOM_DONE %08X %08X index=%d\n", lpwh->lpData, lpwh->dwBufferLength, bufidx));
-    }
-    return;
-}
-
-#endif
-
-static int winmm_init_out (HWVoiceOut *hw, int freq, int nchannels, audfmt_e fmt)
-{
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-    MMRESULT rc;
-    WAVEFORMATEX waveInfo;
-    int i;
-
-    Log(("winmm_init_out %x freq=%d nchannels=%d\n", hw, freq, nchannels));
-
-    waveInfo.cbSize          = sizeof(WAVEFORMATEX);
-    waveInfo.nChannels       = nchannels;
-    waveInfo.nSamplesPerSec  = freq;
-    waveInfo.wFormatTag      = WAVE_FORMAT_PCM;
-
-    switch (fmt)
-    {
-    case AUD_FMT_U8:
-    case AUD_FMT_S8:
-        waveInfo.wBitsPerSample = 8;
-        break;
-    case AUD_FMT_U16:
-    case AUD_FMT_S16:
-        waveInfo.wBitsPerSample = 16;
-        break;
-    default:
-        AssertFailed();
-        return -1;
-    }
-    waveInfo.nBlockAlign     = waveInfo.wBitsPerSample*waveInfo.nSamplesPerSec/8;
-    waveInfo.nAvgBytesPerSec = waveInfo.wBitsPerSample*waveInfo.nSamplesPerSec;
-
-#ifdef DEBUG
-    rc = waveOutOpen(&oss->hStream, WAVE_MAPPER, &waveInfo, &winmmBufferDone, oss, CALLBACK_FUNCTION);
-#else
-    rc = waveOutOpen(&oss->hStream, WAVE_MAPPER, &waveInfo, 0, 0, CALLBACK_NULL);
-#endif
-    if (rc != MMSYSERR_NOERROR)
-    {
-        AssertMsgFailed(("waveOutOpen failed with %d\n", rc));
-        return -1;
-    }
-
-    pcm_init_info (&hw->info, freq, nchannels, fmt);
-    hw->bufsize = WINMM_NUMBER_BUFFERS * WINMM_BUFFER_SIZE;
-
-    oss->pcm_buf = RTMemAllocZ (hw->bufsize);
-    if (!oss->pcm_buf)
-    {
-        AssertFailed();
-        rc = waveOutClose (oss->hStream);
-        oss->hStream = (HWAVEOUT)-1;
-        return -1;
-    }
-
-    Log(("PCM buffer %08X size %d\n", oss->pcm_buf, hw->bufsize));
-    oss->cBuffers = hw->bufsize / WINMM_BUFFER_SIZE;
-    oss->lpwh = RTMemAllocZ (oss->cBuffers * sizeof(*oss->lpwh));
-    if (!oss->lpwh)
-    {
-        RTMemFree(oss->pcm_buf);
-        AssertFailed();
-        rc = waveOutClose (oss->hStream);
-        oss->hStream = (HWAVEOUT)-1;
-        return -1;
-    }
-
-    for (i=0;i<oss->cBuffers;i++)
-    {
-        oss->lpwh[i].lpData          = (char *)oss->pcm_buf + i*WINMM_BUFFER_SIZE;
-        oss->lpwh[i].dwBufferLength  = WINMM_BUFFER_SIZE;
-
-        rc = waveOutPrepareHeader(oss->hStream, &oss->lpwh[i], sizeof(oss->lpwh[i]));
-        if (rc != MMSYSERR_NOERROR)
-        {
-            AssertMsgFailed(("waveOutPrepareHeader failed with %d\n", rc));
-            return -1;
-        }
-    }
-
-    oss->default_bufsize = WINMM_BUFFER_SIZE;
-
-    waveOutSetVolume(oss->hStream, 0xffffffff);
-    return 0;
-}
-
-static int winmm_ctl_out (HWVoiceOut *hw, int cmd, ...)
-{
-    OSSVoiceOut *oss = (OSSVoiceOut *) hw;
-    MMRESULT rc;
-
-    switch (cmd) {
-    case VOICE_SETBUFSIZE:
-    {
-        int buflen, i;
-
-        va_list ap;
-        va_start (ap, cmd);
-        buflen = va_arg (ap, int);
-        va_end (ap);
-
-        Assert(buflen);
-
-        Log(("winmm_ctl_out: setbufsize to %x\n", buflen));
-
-        if (buflen > oss->default_bufsize)
-        {
-            oss->default_bufsize = buflen;
-            oss->cBuffers = hw->bufsize / buflen;
-
-            for (i=0;i<oss->cBuffers;i++)
-            {
-                rc = waveOutUnprepareHeader(oss->hStream, &oss->lpwh[i], sizeof(oss->lpwh[i]));
-                if (rc != MMSYSERR_NOERROR)
-                {
-                    AssertMsgFailed(("waveOutPrepareHeader failed with %d\n", rc));
-                    return -1;
-                }
-            }
-
-            for (i=0;i<oss->cBuffers;i++)
-            {
-                oss->lpwh[i].lpData          = (char *)oss->pcm_buf + i*oss->default_bufsize;
-                oss->lpwh[i].dwBufferLength  = oss->default_bufsize;
-
-                rc = waveOutPrepareHeader(oss->hStream, &oss->lpwh[i], sizeof(oss->lpwh[i]));
-                if (rc != MMSYSERR_NOERROR)
-                {
-                    AssertMsgFailed(("waveOutPrepareHeader failed with %d\n", rc));
-                    return -1;
-                }
-            }
-        }
-        break;
-    }
-
-    case VOICE_ENABLE:
-    {
-        Log( ("WINMMAUD: enabling voice\n"));
-        oss->old_optr  = 0;
-        oss->idxBuffer = 0;
-        oss->fStart    = 1;
-        pcm_info_clear (&hw->info, oss->pcm_buf, hw->samples);
-        break;
-    }
-
-    case VOICE_DISABLE:
-        Log( ("WINMMAUD: disabling voice\n"));
-        rc = waveOutReset(oss->hStream);
-        if (rc != MMSYSERR_NOERROR) {
-            Log( ("WINMMAUD: waveOutPause failed with %d\n", rc));
-            return -1;
-        }
-        break;
-    }
-    return 0;
-}
-
-static int winmm_init_in (HWVoiceIn *hw,
-                        int freq, int nchannels, audfmt_e fmt)
-{
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-    MMRESULT rc;
-    WAVEFORMATEX waveInfo;
-
-    return -1;
-
-    waveInfo.cbSize          = sizeof(WAVEFORMATEX);
-    waveInfo.nChannels       = nchannels;
-    waveInfo.nSamplesPerSec  = freq;
-    waveInfo.wFormatTag      = WAVE_FORMAT_PCM;
-
-    switch (fmt)
-    {
-    case AUD_FMT_U8:
-    case AUD_FMT_S8:
-        waveInfo.wBitsPerSample = 8;
-        break;
-    case AUD_FMT_U16:
-    case AUD_FMT_S16:
-        waveInfo.wBitsPerSample = 16;
-        break;
-    default:
-        AssertFailed();
-        return -1;
-    }
-    waveInfo.nBlockAlign     = waveInfo.wBitsPerSample*waveInfo.nSamplesPerSec/8;
-    waveInfo.nAvgBytesPerSec = waveInfo.wBitsPerSample*waveInfo.nSamplesPerSec;
-
-    rc = waveInOpen(&oss->hStream, WAVE_MAPPER, &waveInfo, 0, 0, CALLBACK_NULL);
-    if (rc != MMSYSERR_NOERROR)
-    {
-        Log(("waveInOpen failed with %d\n", rc));
-        return -1;
-    }
-
-    pcm_init_info (&hw->info, freq, nchannels, fmt);
-    hw->bufsize = waveInfo.nAvgBytesPerSec/2;
-
-    oss->pcm_buf = RTMemAllocZ (hw->bufsize);
-    if (!oss->pcm_buf) {
-        rc = waveInClose(oss->hStream);
-        oss->hStream = (HWAVEIN)-1;
-        return -1;
-    }
-
-    return 0;
-}
-
-static void winmm_fini_in (HWVoiceIn *hw)
-{
-    MMRESULT err;
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-    err = waveInClose(oss->hStream);
-    if (err) {
-        Log( ("WINMMAUD: waveInClose failed with %d\n", err));
-    }
-    oss->fd = -1;
-    if (oss->pcm_buf) {
-        RTMemFree(oss->pcm_buf);
-        oss->pcm_buf = NULL;
-    }
-}
-
-static void winmm_run_in (HWVoiceIn *hw)
-{
-#if 0
-    OSSVoiceIn *oss = (OSSVoiceIn *) hw;
-    int hwshift = hw->info.shift;
-    int i;
-    int live = hw->total_samples_acquired - pcm_hw_find_min_samples_in (hw);
-    int dead = hw->samples - live;
-    size_t read_samples = 0;
-    struct {
-        int add;
-        int len;
-    } bufs[2] = {
-        { hw->wpos },
-        { 0, 0 }
-    };
-
-    if (!dead) {
-        Log( ("WINMMAUD: empty tot=%d min=%d\n",
-                hw->total_samples_acquired, pcm_hw_find_min_samples_in (hw)));
-        return;
-    }
-
-    if (hw->wpos + dead > hw->samples) {
-        bufs[0].len = (hw->samples - hw->wpos) << hwshift;
-        bufs[1].len = (dead - (hw->samples - hw->wpos)) << hwshift;
-    }
-    else {
-        bufs[0].len = dead << hwshift;
-    }
-
-
-    for (i = 0; i < 2; ++i) {
-        ssize_t nread;
-
-        if (bufs[i].len) {
-            void *p = advance (oss->pcm_buf, bufs[i].add << hwshift);
-            nread = read (oss->fd, p, bufs[i].len);
-
-            if (nread > 0) {
-                if (nread & hw->info.align) {
-                    Log( ("WINMMAUD: Unaligned read %d\n", nread));
-                }
-                read_samples += nread >> hwshift;
-                hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
-                          &nominal_volume);
-            }
-
-            if (bufs[i].len - nread) {
-                if (nread == -1) {
-                    switch (errno) {
-                    case EINTR:
-                    case EAGAIN:
-                        break;
-                    default:
-                        Log( ("WINMMAUD: Failed to read %d bytes (to %p): %s\n",
-                               bufs[i].len, p, errstr ()));
-                    }
-                }
-                break;
-            }
-        }
-    }
-    hw->total_samples_acquired += read_samples;
-    hw->wpos = (hw->wpos + read_samples) % hw->samples;
-#endif
-}
-
-static int winmm_read (SWVoiceIn *sw, void *buf, int size)
-{
-    return pcm_sw_read (sw, buf, size);
-}
-
-static int winmm_ctl_in (HWVoiceIn *hw, int cmd, ...)
-{
-    (void) hw;
-    (void) cmd;
-    return 0;
-}
-
-#if 0
-static int winmm_read_recsrc (int fd)
-{
-    int recsrc;
-    int err = ioctl (fd, SOUND_MIXER_READ_RECSRC, &recsrc);
-    if (err) {
-        Log( ("WINMMAUD: Failed to read record source mask\nReason: %s\n",
-               errstr ()));
-        return -1;
-    }
-    return recsrc;
-}
-
-static int winmm_write_recsrc (int fd, int *recsrc)
-{
-    int err = ioctl (fd, SOUND_MIXER_READ_RECSRC, &recsrc);
-    if (err) {
-        Log( ("WINMMAUD: Failed to write record source mask\nReason: %s\n",
-               errstr ()));
-        return -1;
-    }
-    return 0;
-}
-
-static const char *winmm_mixer_names[] = SOUND_DEVICE_NAMES;
-
-static int winmm_read_volume (int fd, int ctl)
-{
-    int vol;
-    MMRESULT err;
-    DWORD dwVolume;
-
-    err = waveOutGetVolume(oss->hStream, &dwVolume);
-    if (err) {
-        Log( ("WINMMAUD: Failed to read %s volume\nReason: %s\n",
-               winmm_mixer_names[ctl], errstr ()));
-        return -1;
-    }
-    return (int) (((dwVolume & 0xFFFF) * 100) / 0xFFFF);
-}
-
-static int winmm_write_volume (int fd, int ctl, int *vol)
-{
-    DWORD dwVolume;
-
-    dwVolume = (vol * 0xFFFF / 100);
-    dwVolume = dwVolume | (dwVolume << 16);
-
-    err = waveOutSetVolume(oss->hStream, dwVolume);
-    if (err) {
-        Log( ("WINMMAUD: Failed to write %s volume\nReason: %s\n",
-               winmm_mixer_names[ctl], errstr ()));
-        return -1;
-    }
-    return 0;
-}
-#endif
-
-static void *winmm_audio_init (void)
-{
-#if 0
-    int fd, err, i;
-
-    fd = open (conf.mixer_name, O_RDWR);
-    if (fd < 0) {
-        Log( ("WINMMAUD: Failed to open mixer `%s'\nReason: %s\n",
-               conf.mixer_name, errstr ()));
-        goto ret;
-    }
-
-    conf.recsrc = winmm_read_recsrc (fd);
-
-    if (audio_state.allow_mixer_access) {
-        for (i = 0; i < sizeof (conf.vol) / sizeof (conf.vol[0]); ++i) {
-            conf.vol[0].vol = winmm_read_volume (fd, conf.vol[i].ctl);
-        }
-    }
-
-    err = close (fd);
-    if (err) {
-        Log( ("WINMMAUD: Failed to close mixer device\nReason: %s\n", errstr ()));
-    }
- ret:
-    return &conf;
-#endif
-    return (void *)1;
-}
-
-static void winmm_audio_fini (void *opaque)
-{
-#if 0
-    int fd, err, temp, i;
-
-    fd = open (conf.mixer_name, O_RDWR);
-    if (fd < 0) {
-        Log( ("WINMMAUD: Failed to open mixer `%s'\nReason: %s\n",
-               conf.mixer_name, errstr ()));
-        return;
-    }
-
-    if (conf.recsrc != -1) {
-        temp = conf.recsrc;
-        winmm_write_recsrc (fd, &temp);
-    }
-
-    for (i = 0; i < sizeof (conf.vol) / sizeof (conf.vol[0]); ++i) {
-        temp = conf.vol[i].vol;
-        if (temp != -1)
-            winmm_write_volume (fd, conf.vol[i].ctl, &temp);
-    }
-
-    err = close (fd);
-    if (err) {
-        Log( ("WINMMAUD: Failed to close mixer device\nReason: %s\n", errstr ()));
-    }
-#endif
-}
-
-#if 0
-static int aud_to_winmm_record_source (audrecsource_t s)
-{
-    switch (s) {
-    case AUD_REC_MIC: return SOUND_MASK_MIC;
-    case AUD_REC_CD: return SOUND_MASK_CD;
-    case AUD_REC_VIDEO: return SOUND_MASK_VIDEO;
-    case AUD_REC_AUX: return SOUND_MASK_LINE1; /* ??? */
-    case AUD_REC_LINE_IN: return SOUND_MASK_LINE;
-    case AUD_REC_PHONE: return SOUND_MASK_PHONEIN;
-    default:
-        Log( ("WINMMAUD: Unknown recording source %d using MIC\n", s));
-        return SOUND_MIXER_MIC;
-    }
-}
-
-static int winmm_to_aud_record_source (int s)
-{
-    switch (s) {
-    case SOUND_MASK_MIC: return AUD_REC_MIC;
-    case SOUND_MASK_CD: return AUD_REC_CD;
-    case SOUND_MASK_VIDEO: return AUD_REC_VIDEO;
-    case SOUND_MASK_LINE1: return AUD_REC_AUX;
-    case SOUND_MASK_LINE: return AUD_REC_LINE_IN;
-    case SOUND_MASK_PHONEIN: return AUD_REC_PHONE;
-    default:
-        Log( ("WINMMAUD: Unknown OSS recording source %d using MIC\n", s));
-        return AUD_REC_MIC;
-    }
-}
-#endif
-
-#if 0
-static int winmm_set_record_source (audrecsource_t *lrs, audrecsource_t *rrs)
-{
-#if 0
-    int source, fd, err;
-    int ret = -1;
-
-    source = aud_to_winmm_record_source (*lrs);
-    if (source == -1) {
-        Log( ("WINMMAUD: Unsupported recording source %s\n",
-               AUD_record_source_name (*lrs)));
-        return -1;
-    }
-
-    fd = open (conf.mixer_name, O_RDWR);
-
-    if (fd == -1) {
-        Log( ("WINMMAUD: Failed to open mixer device\nReason: %s\n", errstr ()));
-        return -1;
-    }
-
-    err = ioctl (fd, SOUND_MIXER_WRITE_RECSRC, &source);
-    if (err) {
-        Log( ("WINMMAUD: Failed to set recording source to %s\nReason: %s\n",
-               AUD_record_source_name (*lrs), errstr ()));
-        goto err;
-    }
-
-    *rrs = *lrs = winmm_to_aud_record_source (source);
-    ret = 0;
-
- err:
-    if (close (fd)) {
-        Log( ("WINMMAUD: Failed to close mixer device\nReason: %s\n",
-               errstr ())));
-    }
-    return ret;
-#else
-    return 0;
-#endif
-}
-
-static int winmm_set_volume (audmixerctl_t m, int *mute,
-                           uint8_t *lvol, uint8_t *rvol)
-{
-    int vol;
-    int winmm_mixerctl, err;
-    int fd = open (conf.mixer_name, O_RDWR);
-    int ret = -1;
-
-    if (fd == -1) {
-        Log( ("WINMMAUD: Failed to open mixer device\nReason: %s\n", errstr ()));
-        return -1;
-    }
-
-    vol = *mute ? 0 : ((*lvol * 100) / 256) | (((*rvol * 100) / 256) << 8);
-
-    switch (m) {
-    case AUD_MIXER_VOLUME:
-        winmm_mixerctl = SOUND_MIXER_VOLUME;
-        break;
-    case AUD_MIXER_PCM:
-        winmm_mixerctl = SOUND_MIXER_PCM;
-        break;
-    case AUD_MIXER_LINE_IN:
-        winmm_mixerctl = SOUND_MIXER_LINE;
-        break;
-    default:
-        Log( ("WINMMAUD: Unknown mixer control %d\n", m));
-        return -1;
-    }
-
-    err = ioctl (fd, MIXER_WRITE (winmm_mixerctl), &vol);
-    if (err) {
-        Log( ("WINMMAUD: Failed to update mixer\nReason: %s\n", errstr ()));
-        goto err;
-    }
-
-    if (!*mute) {
-        *lvol = ((vol & 0xff) * 100) / 256;
-        *rvol = ((vol >> 8) * 100) / 256;
-    }
-    ret = 0;
-
- err:
-    if (close (fd)) {
-        Log( ("WINMMAUD: Failed to close mixer device\nReason: %s\n",
-               errstr ()));
-    }
-    return ret;
-}
-#endif
-
-static int winmm_audio_ctl (void *opaque, int cmd, ...)
-{
-    int ret = 0;
-#if 0
-    switch (cmd) {
-    case SET_RECORD_SOURCE:
-        {
-            va_list ap;
-            va_start (ap, cmd);
-            audrecsource_t *lrs = va_arg (ap, audrecsource_t *);
-            audrecsource_t *rrs = va_arg (ap, audrecsource_t *);
-            va_end (ap);
-            ret = winmm_set_record_source (lrs, rrs);
-        }
-        break;
-    case SET_VOLUME:
-        {
-            va_list ap;
-            va_start (ap, cmd);
-            audmixerctl_t m = va_arg (ap, audmixerctl_t);
-            int *mute = va_arg (ap, int *);
-            uint8_t *lvol = va_arg (ap, uint8_t *);
-            uint8_t *rvol = va_arg (ap, uint8_t *);
-            va_end (ap);
-            ret = winmm_set_volume (m, mute, lvol, rvol);
-        }
-        break;
-    default:
-        ret = -1;
-        break;
-    }
-#endif
-    return ret;
-}
-
-static struct pcm_ops winmm_pcm_ops = {
-    winmm_init_out,
-    winmm_fini_out,
-    winmm_run_out,
-    winmm_write,
-    winmm_ctl_out,
-
-    winmm_init_in,
-    winmm_fini_in,
-    winmm_run_in,
-    winmm_read,
-    winmm_ctl_in,
-};
-
-struct audio_driver winmm_audio_driver = {
-    "WINMM",
-    winmm_audio_init,
-    winmm_audio_fini,
-    winmm_audio_ctl,
-    &winmm_pcm_ops,
-    1,
-    INT_MAX,
-    INT_MAX,
-    sizeof (OSSVoiceOut),
-    sizeof (OSSVoiceIn)
-};
diff --git a/src/VBox/Devices/Bus/DevPciIch9.cpp b/src/VBox/Devices/Bus/DevPciIch9.cpp
index 28dfa7d..87ebbdd 100644
--- a/src/VBox/Devices/Bus/DevPciIch9.cpp
+++ b/src/VBox/Devices/Bus/DevPciIch9.cpp
@@ -1949,8 +1949,8 @@ static DECLCALLBACK(uint32_t) ich9pciConfigReadDev(PCIDevice *aDev, uint32_t u32
 {
     if ((u32Address + len) > 256 && (u32Address + len) < 4096)
     {
-        LogRel(("PCI: Read from extended register %d fallen back to generic code\n",
-                u32Address));
+        LogRel(("PCI: %8s/%u: Read from extended register %d fallen back to generic code\n",
+                aDev->name, aDev->pDevIns->iInstance, u32Address));
         return 0;
     }
 
@@ -2047,8 +2047,8 @@ static DECLCALLBACK(void) ich9pciConfigWriteDev(PCIDevice *aDev, uint32_t u32Add
 
     if ((u32Address + len) > 256 && (u32Address + len) < 4096)
     {
-        LogRel(("PCI: Write to extended register %d fallen back to generic code\n",
-                u32Address));
+        LogRel(("PCI: %8s/%u: Write to extended register %d fallen back to generic code\n",
+                aDev->name, aDev->pDevIns->iInstance, u32Address));
         return;
     }
 
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
index ca31a7e..582755e 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.asm
@@ -1651,7 +1651,7 @@ vga_read_char_attr_:                         ; 0xc0acb LB 0xa8
     call 02f5ah                               ; e8 3a 24
     movzx bx, ch                              ; 0f b6 dd
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     jne short 00b5ah                          ; 75 2d
     mov dx, ax                                ; 89 c2
     imul dx, di                               ; 0f af d7
@@ -1667,7 +1667,7 @@ vga_read_char_attr_:                         ; 0xc0acb LB 0xa8
     add ax, ax                                ; 01 c0
     mov dx, cx                                ; 89 ca
     add dx, ax                                ; 01 c2
-    mov ax, word [bx+04638h]                  ; 8b 87 38 46
+    mov ax, word [bx+04636h]                  ; 8b 87 36 46
     call 02f5ah                               ; e8 03 24
     mov word [ss:si], ax                      ; 36 89 04
     lea sp, [bp-008h]                         ; 8d 66 f8
@@ -1733,18 +1733,18 @@ vga_get_font_info_:                          ; 0xc0b73 LB 0x82
     retn 00002h                               ; c2 02 00
     mov dx, 0010ch                            ; ba 0c 01
     jmp short 00b91h                          ; eb bf
-    mov ax, 05bf2h                            ; b8 f2 5b
+    mov ax, 05bf0h                            ; b8 f0 5b
     mov dx, 0c000h                            ; ba 00 c0
     jmp short 00b96h                          ; eb bc
-    mov ax, 053f2h                            ; b8 f2 53
+    mov ax, 053f0h                            ; b8 f0 53
     jmp short 00bd5h                          ; eb f6
-    mov ax, 057f2h                            ; b8 f2 57
+    mov ax, 057f0h                            ; b8 f0 57
     jmp short 00bd5h                          ; eb f1
-    mov ax, 079f2h                            ; b8 f2 79
+    mov ax, 079f0h                            ; b8 f0 79
     jmp short 00bd5h                          ; eb ec
-    mov ax, 069f2h                            ; b8 f2 69
+    mov ax, 069f0h                            ; b8 f0 69
     jmp short 00bd5h                          ; eb e7
-    mov ax, 07b1fh                            ; b8 1f 7b
+    mov ax, 07b1dh                            ; b8 1d 7b
     jmp short 00bd5h                          ; eb e2
     jmp short 00bc4h                          ; eb cf
 vga_read_pixel_:                             ; 0xc0bf5 LB 0x139
@@ -1766,9 +1766,9 @@ vga_read_pixel_:                             ; 0xc0bf5 LB 0x139
     je near 00d27h                            ; 0f 84 0d 01
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     je near 00d27h                            ; 0f 84 fe 00
-    mov bl, byte [bx+04636h]                  ; 8a 9f 36 46
+    mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     cmp bl, 003h                              ; 80 fb 03
     jc short 00c43h                           ; 72 11
     jbe short 00c4bh                          ; 76 17
@@ -1827,7 +1827,7 @@ vga_read_pixel_:                             ; 0xc0bf5 LB 0x139
     call 02f3eh                               ; e8 7b 22
     movzx bx, cl                              ; 0f b6 d9
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04637h], 002h                ; 80 bf 37 46 02
+    cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     jne short 00cebh                          ; 75 1b
     mov cx, si                                ; 89 f1
     xor ch, ch                                ; 30 ed
@@ -2128,7 +2128,7 @@ biosfn_set_active_page_:                     ; 0xc0f00 LB 0xdc
     movzx bx, ch                              ; 0f b6 dd
     mov si, bx                                ; 89 de
     sal si, 003h                              ; c1 e6 03
-    cmp byte [si+04635h], 000h                ; 80 bc 35 46 00
+    cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     jne short 00f83h                          ; 75 40
     mov dx, strict word 0004ah                ; ba 4a 00
     mov ax, strict word 00040h                ; b8 40 00
@@ -2155,10 +2155,10 @@ biosfn_set_active_page_:                     ; 0xc0f00 LB 0xdc
     lea bx, [si+001h]                         ; 8d 5c 01
     imul bx, di                               ; 0f af df
     jmp short 00f95h                          ; eb 12
-    movzx bx, byte [bx+046b4h]                ; 0f b6 9f b4 46
+    movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     sal bx, 006h                              ; c1 e3 06
     movzx ax, cl                              ; 0f b6 c1
-    mov bx, word [bx+046cbh]                  ; 8b 9f cb 46
+    mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     imul bx, ax                               ; 0f af d8
     mov dx, strict word 00063h                ; ba 63 00
     mov ax, strict word 00040h                ; b8 40 00
@@ -2226,15 +2226,15 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     cmp AL, strict byte 0ffh                  ; 3c ff
     je near 01363h                            ; 0f 84 43 03
     movzx si, al                              ; 0f b6 f0
-    mov al, byte [si+046b4h]                  ; 8a 84 b4 46
+    mov al, byte [si+046b2h]                  ; 8a 84 b2 46
     mov byte [bp-00eh], al                    ; 88 46 f2
     movzx bx, al                              ; 0f b6 d8
     sal bx, 006h                              ; c1 e3 06
-    movzx ax, byte [bx+046c8h]                ; 0f b6 87 c8 46
+    movzx ax, byte [bx+046c6h]                ; 0f b6 87 c6 46
     mov word [bp-018h], ax                    ; 89 46 e8
-    movzx ax, byte [bx+046c9h]                ; 0f b6 87 c9 46
+    movzx ax, byte [bx+046c7h]                ; 0f b6 87 c7 46
     mov word [bp-016h], ax                    ; 89 46 ea
-    movzx ax, byte [bx+046cah]                ; 0f b6 87 ca 46
+    movzx ax, byte [bx+046c8h]                ; 0f b6 87 c8 46
     mov word [bp-014h], ax                    ; 89 46 ec
     mov dx, 00087h                            ; ba 87 00
     mov ax, strict word 00040h                ; b8 40 00
@@ -2250,13 +2250,13 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     jne near 010f5h                           ; 0f 85 8a 00
     mov bx, si                                ; 89 f3
     sal bx, 003h                              ; c1 e3 03
-    mov al, byte [bx+0463ah]                  ; 8a 87 3a 46
+    mov al, byte [bx+04638h]                  ; 8a 87 38 46
     mov dx, 003c6h                            ; ba c6 03
     out DX, AL                                ; ee
     xor al, al                                ; 30 c0
     mov dx, 003c8h                            ; ba c8 03
     out DX, AL                                ; ee
-    mov bl, byte [bx+0463bh]                  ; 8a 9f 3b 46
+    mov bl, byte [bx+04639h]                  ; 8a 9f 39 46
     cmp bl, 001h                              ; 80 fb 01
     jc short 01095h                           ; 72 0e
     jbe short 0109eh                          ; 76 15
@@ -2267,13 +2267,13 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     jmp short 010abh                          ; eb 16
     test bl, bl                               ; 84 db
     jne short 010abh                          ; 75 12
-    mov di, 04e48h                            ; bf 48 4e
+    mov di, 04e46h                            ; bf 46 4e
     jmp short 010abh                          ; eb 0d
-    mov di, 04f08h                            ; bf 08 4f
+    mov di, 04f06h                            ; bf 06 4f
     jmp short 010abh                          ; eb 08
-    mov di, 04fc8h                            ; bf c8 4f
+    mov di, 04fc6h                            ; bf c6 4f
     jmp short 010abh                          ; eb 03
-    mov di, 05088h                            ; bf 88 50
+    mov di, 05086h                            ; bf 86 50
     xor bx, bx                                ; 31 db
     jmp short 010beh                          ; eb 0f
     xor al, al                                ; 30 c0
@@ -2286,8 +2286,8 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     jnc short 010e8h                          ; 73 2a
     movzx si, byte [bp-012h]                  ; 0f b6 76 ee
     sal si, 003h                              ; c1 e6 03
-    movzx si, byte [si+0463bh]                ; 0f b6 b4 3b 46
-    movzx dx, byte [si+046c4h]                ; 0f b6 94 c4 46
+    movzx si, byte [si+04639h]                ; 0f b6 b4 39 46
+    movzx dx, byte [si+046c2h]                ; 0f b6 94 c2 46
     cmp bx, dx                                ; 39 d3
     jnbe short 010afh                         ; 77 dc
     imul si, bx, strict byte 00003h           ; 6b f3 03
@@ -2319,7 +2319,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 006h                              ; c1 e6 06
     add si, bx                                ; 01 de
-    mov al, byte [si+046ebh]                  ; 8a 84 eb 46
+    mov al, byte [si+046e9h]                  ; 8a 84 e9 46
     out DX, AL                                ; ee
     inc bx                                    ; 43
     jmp short 010ffh                          ; eb e4
@@ -2343,7 +2343,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 006h                              ; c1 e6 06
     add si, bx                                ; 01 de
-    mov al, byte [si+046cch]                  ; 8a 84 cc 46
+    mov al, byte [si+046cah]                  ; 8a 84 ca 46
     mov dx, 003c5h                            ; ba c5 03
     out DX, AL                                ; ee
     inc bx                                    ; 43
@@ -2358,14 +2358,14 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 006h                              ; c1 e6 06
     add si, bx                                ; 01 de
-    mov al, byte [si+046ffh]                  ; 8a 84 ff 46
+    mov al, byte [si+046fdh]                  ; 8a 84 fd 46
     mov dx, 003cfh                            ; ba cf 03
     out DX, AL                                ; ee
     inc bx                                    ; 43
     jmp short 01156h                          ; eb e1
     movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04636h], 001h                ; 80 bf 36 46 01
+    cmp byte [bx+04634h], 001h                ; 80 bf 34 46 01
     jne short 01188h                          ; 75 05
     mov dx, 003b4h                            ; ba b4 03
     jmp short 0118bh                          ; eb 03
@@ -2385,12 +2385,12 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     mov di, cx                                ; 89 cf
     add di, bx                                ; 01 df
     lea dx, [si+001h]                         ; 8d 54 01
-    mov al, byte [di+046d2h]                  ; 8a 85 d2 46
+    mov al, byte [di+046d0h]                  ; 8a 85 d0 46
     out DX, AL                                ; ee
     inc bx                                    ; 43
     jmp short 01195h                          ; eb e0
     mov bx, cx                                ; 89 cb
-    mov al, byte [bx+046d1h]                  ; 8a 87 d1 46
+    mov al, byte [bx+046cfh]                  ; 8a 87 cf 46
     mov dx, 003c2h                            ; ba c2 03
     out DX, AL                                ; ee
     mov AL, strict byte 020h                  ; b0 20
@@ -2404,9 +2404,9 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     jne short 01230h                          ; 75 5f
     movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     jne short 011f2h                          ; 75 13
-    mov es, [bx+04638h]                       ; 8e 87 38 46
+    mov es, [bx+04636h]                       ; 8e 87 36 46
     mov cx, 04000h                            ; b9 00 40
     mov ax, 00720h                            ; b8 20 07
     xor di, di                                ; 31 ff
@@ -2416,7 +2416,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     jmp short 01230h                          ; eb 3e
     cmp byte [bp-00ch], 00dh                  ; 80 7e f4 0d
     jnc short 0120ah                          ; 73 12
-    mov es, [bx+04638h]                       ; 8e 87 38 46
+    mov es, [bx+04636h]                       ; 8e 87 36 46
     mov cx, 04000h                            ; b9 00 40
     xor ax, ax                                ; 31 c0
     xor di, di                                ; 31 ff
@@ -2434,7 +2434,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     mov word [bp-01ah], ax                    ; 89 46 e6
     mov AL, strict byte 00fh                  ; b0 0f
     out DX, AL                                ; ee
-    mov es, [bx+04638h]                       ; 8e 87 38 46
+    mov es, [bx+04636h]                       ; 8e 87 36 46
     mov cx, 08000h                            ; b9 00 80
     xor ax, ax                                ; 31 c0
     xor di, di                                ; 31 ff
@@ -2453,7 +2453,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     call 02f68h                               ; e8 1f 1d
     movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
     sal bx, 006h                              ; c1 e3 06
-    mov bx, word [bx+046cbh]                  ; 8b 9f cb 46
+    mov bx, word [bx+046c9h]                  ; 8b 9f c9 46
     mov dx, strict word 0004ch                ; ba 4c 00
     mov ax, strict word 00040h                ; b8 40 00
     call 02f68h                               ; e8 0b 1d
@@ -2492,7 +2492,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     mov ax, strict word 00040h                ; b8 40 00
     call 02f4ch                               ; e8 8b 1c
     mov cx, ds                                ; 8c d9
-    mov bx, 053d6h                            ; bb d6 53
+    mov bx, 053d4h                            ; bb d4 53
     mov dx, 000a8h                            ; ba a8 00
     mov ax, strict word 00040h                ; b8 40 00
     call 02f88h                               ; e8 b9 1c
@@ -2506,7 +2506,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     call 02f4ch                               ; e8 67 1c
     movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     jne short 012fch                          ; 75 09
     mov dx, strict word 00007h                ; ba 07 00
     mov ax, strict word 00006h                ; b8 06 00
@@ -2524,7 +2524,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     call 00f00h                               ; e8 eb fb
     movzx bx, byte [bp-012h]                  ; 0f b6 5e ee
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     jne short 01333h                          ; 75 10
     xor bl, bl                                ; 30 db
     mov AL, strict byte 004h                  ; b0 04
@@ -2534,7 +2534,7 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     mov AL, strict byte 003h                  ; b0 03
     mov AH, strict byte 011h                  ; b4 11
     int 010h                                  ; cd 10
-    mov dx, 057f2h                            ; ba f2 57
+    mov dx, 057f0h                            ; ba f0 57
     mov ax, strict word 0001fh                ; b8 1f 00
     call 00a00h                               ; e8 c4 f6
     mov ax, word [bp-014h]                    ; 8b 46 ec
@@ -2544,13 +2544,13 @@ biosfn_set_video_mode_:                      ; 0xc0fdc LB 0x391
     je short 01359h                           ; 74 10
     cmp ax, strict word 00008h                ; 3d 08 00
     jne short 01363h                          ; 75 15
-    mov dx, 053f2h                            ; ba f2 53
+    mov dx, 053f0h                            ; ba f0 53
     mov ax, strict word 00043h                ; b8 43 00
     call 00a00h                               ; e8 a9 f6
     jmp short 01363h                          ; eb 0a
-    mov dx, 05bf2h                            ; ba f2 5b
+    mov dx, 05bf0h                            ; ba f0 5b
     jmp short 01351h                          ; eb f3
-    mov dx, 069f2h                            ; ba f2 69
+    mov dx, 069f0h                            ; ba f0 69
     jmp short 01351h                          ; eb ee
     lea sp, [bp-00ah]                         ; 8d 66 f6
     pop di                                    ; 5f
@@ -2860,7 +2860,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     mov word [bp-01ah], ax                    ; 89 46 e6
     mov ax, word [bp-016h]                    ; 8b 46 ea
     imul ax, cx                               ; 0f af c1
-    cmp byte [di+04635h], 000h                ; 80 bd 35 46 00
+    cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     jne near 017d1h                           ; 0f 85 9f 01
     mov dx, ax                                ; 89 c2
     add dx, ax                                ; 01 c2
@@ -2883,7 +2883,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     movzx dx, byte [bp-00ch]                  ; 0f b6 56 f4
     sal dx, 008h                              ; c1 e2 08
     add dx, strict byte 00020h                ; 83 c2 20
-    mov es, [di+04638h]                       ; 8e 85 38 46
+    mov es, [di+04636h]                       ; 8e 85 36 46
     mov cx, ax                                ; 89 c1
     mov ax, dx                                ; 89 d0
     mov di, bx                                ; 89 df
@@ -2917,7 +2917,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     add di, dx                                ; 01 d7
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 003h                              ; c1 e6 03
-    mov es, [si+04638h]                       ; 8e 84 38 46
+    mov es, [si+04636h]                       ; 8e 84 36 46
     cld                                       ; fc
     jcxz 016ddh                               ; e3 02
     rep stosw                                 ; f3 ab
@@ -2931,7 +2931,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     add dx, dx                                ; 01 d2
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 003h                              ; c1 e6 03
-    mov ax, word [si+04638h]                  ; 8b 84 38 46
+    mov ax, word [si+04636h]                  ; 8b 84 36 46
     mov si, word [bp-014h]                    ; 8b 76 ec
     imul si, word [bp-016h]                   ; 0f af 76 ea
     add cx, si                                ; 01 f1
@@ -2975,7 +2975,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     add di, dx                                ; 01 d7
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 003h                              ; c1 e6 03
-    mov es, [si+04638h]                       ; 8e 84 38 46
+    mov es, [si+04636h]                       ; 8e 84 36 46
     cld                                       ; fc
     jcxz 0177eh                               ; e3 02
     rep stosw                                 ; f3 ab
@@ -2990,7 +2990,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     add dx, dx                                ; 01 d2
     movzx si, byte [bp-00eh]                  ; 0f b6 76 f2
     sal si, 003h                              ; c1 e6 03
-    mov ax, word [si+04638h]                  ; 8b 84 38 46
+    mov ax, word [si+04636h]                  ; 8b 84 36 46
     mov si, word [bp-014h]                    ; 8b 76 ec
     imul si, word [bp-016h]                   ; 0f af 76 ea
     add di, si                                ; 01 f7
@@ -3010,11 +3010,11 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     jc near 01a6fh                            ; 0f 82 a4 02
     dec word [bp-014h]                        ; ff 4e ec
     jmp near 0172dh                           ; e9 5c ff
-    movzx bx, byte [si+046b4h]                ; 0f b6 9c b4 46
+    movzx bx, byte [si+046b2h]                ; 0f b6 9c b2 46
     sal bx, 006h                              ; c1 e3 06
-    mov dl, byte [bx+046cah]                  ; 8a 97 ca 46
+    mov dl, byte [bx+046c8h]                  ; 8a 97 c8 46
     mov byte [bp-00ah], dl                    ; 88 56 f6
-    mov bl, byte [di+04636h]                  ; 8a 9d 36 46
+    mov bl, byte [di+04634h]                  ; 8a 9d 34 46
     cmp bl, 004h                              ; 80 fb 04
     je short 017f8h                           ; 74 0f
     cmp bl, 003h                              ; 80 fb 03
@@ -3047,7 +3047,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
     movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
     sal bx, 003h                              ; c1 e3 03
-    mov es, [bx+04638h]                       ; 8e 87 38 46
+    mov es, [bx+04636h]                       ; 8e 87 36 46
     xor di, di                                ; 31 ff
     cld                                       ; fc
     jcxz 01849h                               ; e3 02
@@ -3129,7 +3129,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     jc near 01a6fh                            ; 0f 82 3d 01
     dec word [bp-014h]                        ; ff 4e ec
     jmp short 018c6h                          ; eb 8f
-    mov dl, byte [di+04637h]                  ; 8a 95 37 46
+    mov dl, byte [di+04635h]                  ; 8a 95 35 46
     cmp byte [bp-010h], 000h                  ; 80 7e f0 00
     jne short 0197eh                          ; 75 3d
     cmp byte [bp-008h], 000h                  ; 80 7e f8 00
@@ -3147,7 +3147,7 @@ biosfn_scroll_:                              ; 0xc1572 LB 0x506
     movzx cx, dl                              ; 0f b6 ca
     imul cx, ax                               ; 0f af c8
     movzx ax, byte [bp-00ch]                  ; 0f b6 46 f4
-    mov es, [di+04638h]                       ; 8e 85 38 46
+    mov es, [di+04636h]                       ; 8e 85 36 46
     xor di, di                                ; 31 ff
     cld                                       ; fc
     jcxz 0197bh                               ; e3 02
@@ -3249,11 +3249,11 @@ write_gfx_char_pl4_:                         ; 0xc1a78 LB 0xeb
     je short 01a96h                           ; 74 0b
     cmp byte [bp+006h], 00eh                  ; 80 7e 06 0e
     jne short 01a9bh                          ; 75 0a
-    mov di, 05bf2h                            ; bf f2 5b
+    mov di, 05bf0h                            ; bf f0 5b
     jmp short 01a9eh                          ; eb 08
-    mov di, 069f2h                            ; bf f2 69
+    mov di, 069f0h                            ; bf f0 69
     jmp short 01a9eh                          ; eb 03
-    mov di, 053f2h                            ; bf f2 53
+    mov di, 053f0h                            ; bf f0 53
     movzx si, cl                              ; 0f b6 f1
     movzx bx, byte [bp+006h]                  ; 0f b6 5e 06
     imul si, bx                               ; 0f af f3
@@ -3340,7 +3340,7 @@ write_gfx_char_cga_:                         ; 0xc1b63 LB 0x11e
     push di                                   ; 57
     sub sp, strict byte 00008h                ; 83 ec 08
     mov byte [bp-008h], dl                    ; 88 56 f8
-    mov si, 053f2h                            ; be f2 53
+    mov si, 053f0h                            ; be f0 53
     xor bh, bh                                ; 30 ff
     movzx di, byte [bp+006h]                  ; 0f b6 7e 06
     imul di, bx                               ; 0f af fb
@@ -3454,7 +3454,7 @@ write_gfx_char_lin_:                         ; 0xc1c81 LB 0x91
     push di                                   ; 57
     sub sp, strict byte 00008h                ; 83 ec 08
     mov byte [bp-006h], dl                    ; 88 56 fa
-    mov di, 053f2h                            ; bf f2 53
+    mov di, 053f0h                            ; bf f0 53
     movzx dx, cl                              ; 0f b6 d1
     movzx cx, byte [bp+004h]                  ; 0f b6 4e 04
     imul cx, dx                               ; 0f af ca
@@ -3549,7 +3549,7 @@ biosfn_write_char_attr_:                     ; 0xc1d12 LB 0x168
     movzx bx, cl                              ; 0f b6 d9
     mov di, bx                                ; 89 df
     sal di, 003h                              ; c1 e7 03
-    cmp byte [di+04635h], 000h                ; 80 bd 35 46 00
+    cmp byte [di+04633h], 000h                ; 80 bd 33 46 00
     jne short 01dcdh                          ; 75 47
     mov bx, word [bp-018h]                    ; 8b 5e e8
     imul bx, ax                               ; 0f af d8
@@ -3570,18 +3570,18 @@ biosfn_write_char_attr_:                     ; 0xc1d12 LB 0x168
     add ax, bx                                ; 01 d8
     mov word [bp-01ah], ax                    ; 89 46 e6
     mov ax, word [bp-01ah]                    ; 8b 46 e6
-    mov es, [di+04638h]                       ; 8e 85 38 46
+    mov es, [di+04636h]                       ; 8e 85 36 46
     mov cx, si                                ; 89 f1
     mov di, dx                                ; 89 d7
     cld                                       ; fc
     jcxz 01dcah                               ; e3 02
     rep stosw                                 ; f3 ab
     jmp near 01e73h                           ; e9 a6 00
-    movzx bx, byte [bx+046b4h]                ; 0f b6 9f b4 46
+    movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     sal bx, 006h                              ; c1 e3 06
-    mov al, byte [bx+046cah]                  ; 8a 87 ca 46
+    mov al, byte [bx+046c8h]                  ; 8a 87 c8 46
     mov byte [bp-008h], al                    ; 88 46 f8
-    mov al, byte [di+04637h]                  ; 8a 85 37 46
+    mov al, byte [di+04635h]                  ; 8a 85 35 46
     mov byte [bp-014h], al                    ; 88 46 ec
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
@@ -3591,7 +3591,7 @@ biosfn_write_char_attr_:                     ; 0xc1d12 LB 0x168
     jnc near 01e73h                           ; 0f 83 7d 00
     movzx bx, byte [bp-006h]                  ; 0f b6 5e fa
     sal bx, 003h                              ; c1 e3 03
-    mov al, byte [bx+04636h]                  ; 8a 87 36 46
+    mov al, byte [bx+04634h]                  ; 8a 87 34 46
     cmp AL, strict byte 003h                  ; 3c 03
     jc short 01e11h                           ; 72 0c
     jbe short 01e17h                          ; 76 10
@@ -3679,7 +3679,7 @@ biosfn_write_char_only_:                     ; 0xc1e7a LB 0x16f
     movzx di, cl                              ; 0f b6 f9
     mov bx, di                                ; 89 fb
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     jne short 01f38h                          ; 75 4a
     mov dx, word [bp-018h]                    ; 8b 56 e8
     imul dx, ax                               ; 0f af d0
@@ -3701,7 +3701,7 @@ biosfn_write_char_only_:                     ; 0xc1e7a LB 0x16f
     movzx ax, byte [bp-012h]                  ; 0f b6 46 ee
     movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
     sal bx, 003h                              ; c1 e3 03
-    mov di, word [bx+04638h]                  ; 8b bf 38 46
+    mov di, word [bx+04636h]                  ; 8b bf 36 46
     mov bx, ax                                ; 89 c3
     mov dx, cx                                ; 89 ca
     mov ax, di                                ; 89 f8
@@ -3709,11 +3709,11 @@ biosfn_write_char_only_:                     ; 0xc1e7a LB 0x16f
     inc cx                                    ; 41
     inc cx                                    ; 41
     jmp short 01f14h                          ; eb dc
-    movzx di, byte [di+046b4h]                ; 0f b6 bd b4 46
+    movzx di, byte [di+046b2h]                ; 0f b6 bd b2 46
     sal di, 006h                              ; c1 e7 06
-    mov al, byte [di+046cah]                  ; 8a 85 ca 46
+    mov al, byte [di+046c8h]                  ; 8a 85 c8 46
     mov byte [bp-00ah], al                    ; 88 46 f6
-    mov al, byte [bx+04637h]                  ; 8a 87 37 46
+    mov al, byte [bx+04635h]                  ; 8a 87 35 46
     mov byte [bp-008h], al                    ; 88 46 f8
     dec si                                    ; 4e
     cmp si, strict byte 0ffffh                ; 83 fe ff
@@ -3723,7 +3723,7 @@ biosfn_write_char_only_:                     ; 0xc1e7a LB 0x16f
     jnc near 01fe2h                           ; 0f 83 81 00
     movzx bx, byte [bp-00eh]                  ; 0f b6 5e f2
     sal bx, 003h                              ; c1 e3 03
-    mov bl, byte [bx+04636h]                  ; 8a 9f 36 46
+    mov bl, byte [bx+04634h]                  ; 8a 9f 34 46
     cmp bl, 003h                              ; 80 fb 03
     jc short 01f7fh                           ; 72 0e
     jbe short 01f86h                          ; 76 13
@@ -3786,9 +3786,9 @@ biosfn_write_pixel_:                         ; 0xc1fe9 LB 0x16a
     je near 0212bh                            ; 0f 84 1e 01
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
-    cmp byte [bx+04635h], 000h                ; 80 bf 35 46 00
+    cmp byte [bx+04633h], 000h                ; 80 bf 33 46 00
     je near 0212bh                            ; 0f 84 0f 01
-    mov al, byte [bx+04636h]                  ; 8a 87 36 46
+    mov al, byte [bx+04634h]                  ; 8a 87 34 46
     cmp AL, strict byte 003h                  ; 3c 03
     jc short 02033h                           ; 72 0f
     jbe short 0203ah                          ; 76 14
@@ -3842,7 +3842,7 @@ biosfn_write_pixel_:                         ; 0xc1fe9 LB 0x16a
     mov ax, cx                                ; 89 c8
     shr ax, 1                                 ; d1 e8
     imul ax, ax, strict byte 00050h           ; 6b c0 50
-    cmp byte [bx+04637h], 002h                ; 80 bf 37 46 02
+    cmp byte [bx+04635h], 002h                ; 80 bf 35 46 02
     jne short 020b5h                          ; 75 08
     mov bx, word [bp-00ah]                    ; 8b 5e f6
     shr bx, 002h                              ; c1 eb 02
@@ -3860,7 +3860,7 @@ biosfn_write_pixel_:                         ; 0xc1fe9 LB 0x16a
     mov bl, al                                ; 88 c3
     movzx si, byte [bp-004h]                  ; 0f b6 76 fc
     sal si, 003h                              ; c1 e6 03
-    cmp byte [si+04637h], 002h                ; 80 bc 37 46 02
+    cmp byte [si+04635h], 002h                ; 80 bc 35 46 02
     jne short 020fbh                          ; 75 19
     mov al, byte [bp-00ah]                    ; 8a 46 f6
     and AL, strict byte 003h                  ; 24 03
@@ -3973,7 +3973,7 @@ biosfn_write_teletype_:                      ; 0xc2153 LB 0x241
     movzx bx, byte [bp-010h]                  ; 0f b6 5e f0
     mov si, bx                                ; 89 de
     sal si, 003h                              ; c1 e6 03
-    cmp byte [si+04635h], 000h                ; 80 bc 35 46 00
+    cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     jne short 02256h                          ; 75 4d
     mov ax, word [bp-012h]                    ; 8b 46 ee
     imul ax, word [bp-014h]                   ; 0f af 46 ec
@@ -3990,7 +3990,7 @@ biosfn_write_teletype_:                      ; 0xc2153 LB 0x241
     add ax, ax                                ; 01 c0
     add cx, ax                                ; 01 c1
     movzx bx, byte [bp-00ch]                  ; 0f b6 5e f4
-    mov ax, word [si+04638h]                  ; 8b 84 38 46
+    mov ax, word [si+04636h]                  ; 8b 84 36 46
     mov dx, cx                                ; 89 ca
     call 02f4ch                               ; e8 0f 0d
     cmp byte [bp-00eh], 003h                  ; 80 7e f2 03
@@ -3998,14 +3998,14 @@ biosfn_write_teletype_:                      ; 0xc2153 LB 0x241
     movzx bx, byte [bp-004h]                  ; 0f b6 5e fc
     mov dx, cx                                ; 89 ca
     inc dx                                    ; 42
-    mov ax, word [si+04638h]                  ; 8b 84 38 46
+    mov ax, word [si+04636h]                  ; 8b 84 36 46
     call 02f4ch                               ; e8 f9 0c
     jmp near 022d4h                           ; e9 7e 00
-    movzx bx, byte [bx+046b4h]                ; 0f b6 9f b4 46
+    movzx bx, byte [bx+046b2h]                ; 0f b6 9f b2 46
     sal bx, 006h                              ; c1 e3 06
-    mov ah, byte [bx+046cah]                  ; 8a a7 ca 46
-    mov dl, byte [si+04637h]                  ; 8a 94 37 46
-    mov al, byte [si+04636h]                  ; 8a 84 36 46
+    mov ah, byte [bx+046c8h]                  ; 8a a7 c8 46
+    mov dl, byte [si+04635h]                  ; 8a 94 35 46
+    mov al, byte [si+04634h]                  ; 8a 84 34 46
     cmp AL, strict byte 003h                  ; 3c 03
     jc short 0227ah                           ; 72 0c
     jbe short 02280h                          ; 76 10
@@ -4061,7 +4061,7 @@ biosfn_write_teletype_:                      ; 0xc2153 LB 0x241
     mov bl, byte [bp-012h]                    ; 8a 5e ee
     db  0feh, 0cbh
     ; dec bl                                    ; fe cb
-    cmp byte [si+04635h], 000h                ; 80 bc 35 46 00
+    cmp byte [si+04633h], 000h                ; 80 bc 33 46 00
     jne short 02354h                          ; 75 4a
     mov ax, word [bp-012h]                    ; 8b 46 ee
     imul ax, word [bp-014h]                   ; 0f af 46 ec
@@ -4080,7 +4080,7 @@ biosfn_write_teletype_:                      ; 0xc2153 LB 0x241
     mov dx, cx                                ; 89 ca
     add dx, ax                                ; 01 c2
     inc dx                                    ; 42
-    mov ax, word [si+04638h]                  ; 8b 84 38 46
+    mov ax, word [si+04636h]                  ; 8b 84 36 46
     call 02f3eh                               ; e8 02 0c
     push strict byte 00001h                   ; 6a 01
     movzx dx, byte [bp-006h]                  ; 0f b6 56 fa
@@ -4355,7 +4355,7 @@ biosfn_load_text_8_14_pat_:                  ; 0xc2538 LB 0x70
     mov di, bx                                ; 89 df
     sal di, 005h                              ; c1 e7 05
     add di, word [bp-00ch]                    ; 03 7e f4
-    add si, 05bf2h                            ; 81 c6 f2 5b
+    add si, 05bf0h                            ; 81 c6 f0 5b
     mov cx, strict word 0000eh                ; b9 0e 00
     mov dx, 0c000h                            ; ba 00 c0
     mov ax, 0a000h                            ; b8 00 a0
@@ -4411,7 +4411,7 @@ biosfn_load_text_8_8_pat_:                   ; 0xc25a8 LB 0x72
     mov di, bx                                ; 89 df
     sal di, 005h                              ; c1 e7 05
     add di, word [bp-00ch]                    ; 03 7e f4
-    add si, 053f2h                            ; 81 c6 f2 53
+    add si, 053f0h                            ; 81 c6 f0 53
     mov cx, strict word 00008h                ; b9 08 00
     mov dx, 0c000h                            ; ba 00 c0
     mov ax, 0a000h                            ; b8 00 a0
@@ -4467,7 +4467,7 @@ biosfn_load_text_8_16_pat_:                  ; 0xc261a LB 0x72
     mov di, bx                                ; 89 df
     sal di, 005h                              ; c1 e7 05
     add di, word [bp-00ch]                    ; 03 7e f4
-    add si, 069f2h                            ; 81 c6 f2 69
+    add si, 069f0h                            ; 81 c6 f0 69
     mov cx, strict word 00010h                ; b9 10 00
     mov dx, 0c000h                            ; ba 00 c0
     mov ax, 0a000h                            ; b8 00 a0
@@ -4601,7 +4601,7 @@ biosfn_read_state_info_:                     ; 0xc2752 LB 0x101
     push dx                                   ; 52
     push bx                                   ; 53
     mov cx, ds                                ; 8c d9
-    mov bx, 05388h                            ; bb 88 53
+    mov bx, 05386h                            ; bb 86 53
     mov dx, word [bp-00ah]                    ; 8b 56 f6
     mov ax, word [bp-008h]                    ; 8b 46 f8
     call 02f88h                               ; e8 20 08
@@ -5501,7 +5501,7 @@ find_vga_entry_:                             ; 0xc2f17 LB 0x27
     jnbe short 02f38h                         ; 77 0e
     movzx bx, al                              ; 0f b6 d8
     sal bx, 003h                              ; c1 e3 03
-    cmp dl, byte [bx+04634h]                  ; 3a 97 34 46
+    cmp dl, byte [bx+04632h]                  ; 3a 97 32 46
     jne short 02f24h                          ; 75 ee
     mov ah, al                                ; 88 c4
     mov al, ah                                ; 88 e0
@@ -6202,7 +6202,7 @@ vbe_biosfn_return_controller_information_: ; 0xc3503 LB 0x129
     db  066h, 026h, 0c7h, 007h, 056h, 045h, 053h, 041h
     ; mov dword [es:bx], strict dword 041534556h ; 66 26 c7 07 56 45 53 41
     mov word [es:bx+004h], 00200h             ; 26 c7 47 04 00 02
-    mov word [es:bx+006h], 07c64h             ; 26 c7 47 06 64 7c
+    mov word [es:bx+006h], 07c62h             ; 26 c7 47 06 62 7c
     mov [es:bx+008h], ds                      ; 26 8c 5f 08
     db  066h, 026h, 0c7h, 047h, 00ah, 001h, 000h, 000h, 000h
     ; mov dword [es:bx+00ah], strict dword 000000001h ; 66 26 c7 47 0a 01 00 00 00
@@ -6218,11 +6218,11 @@ vbe_biosfn_return_controller_information_: ; 0xc3503 LB 0x129
     cmp word [bp-00eh], strict byte 00000h    ; 83 7e f2 00
     je short 035d5h                           ; 74 24
     mov word [es:bx+014h], strict word 00003h ; 26 c7 47 14 03 00
-    mov word [es:bx+016h], 07c79h             ; 26 c7 47 16 79 7c
+    mov word [es:bx+016h], 07c77h             ; 26 c7 47 16 77 7c
     mov [es:bx+018h], ds                      ; 26 8c 5f 18
-    mov word [es:bx+01ah], 07c8ch             ; 26 c7 47 1a 8c 7c
+    mov word [es:bx+01ah], 07c8ah             ; 26 c7 47 1a 8a 7c
     mov [es:bx+01ch], ds                      ; 26 8c 5f 1c
-    mov word [es:bx+01eh], 07cadh             ; 26 c7 47 1e ad 7c
+    mov word [es:bx+01eh], 07cabh             ; 26 c7 47 1e ab 7c
     mov [es:bx+020h], ds                      ; 26 8c 5f 20
     mov dx, cx                                ; 89 ca
     add dx, strict byte 0001bh                ; 83 c2 1b
@@ -6767,10 +6767,10 @@ vesa_pm_end:                                 ; 0xc4514 LB 0x1
   ; Padding 0xeb bytes at 0xc4515
   times 235 db 0
 
-section _DATA progbits vstart=0x4600 align=1 ; size=0x372a class=DATA group=DGROUP
-_msg_vga_init:                               ; 0xc4600 LB 0x34
-    db  'Oracle VM VirtualBox Version 5.0.0_BETA4 VGA BIOS', 00dh, 00ah, 000h
-_vga_modes:                                  ; 0xc4634 LB 0x80
+section _DATA progbits vstart=0x4600 align=1 ; size=0x3726 class=DATA group=DGROUP
+_msg_vga_init:                               ; 0xc4600 LB 0x32
+    db  'Oracle VM VirtualBox Version 5.0.0_RC1 VGA BIOS', 00dh, 00ah, 000h
+_vga_modes:                                  ; 0xc4632 LB 0x80
     db  000h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 001h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     db  002h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h, 003h, 000h, 000h, 004h, 000h, 0b8h, 0ffh, 002h
     db  004h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h, 005h, 001h, 002h, 002h, 000h, 0b8h, 0ffh, 001h
@@ -6779,11 +6779,11 @@ _vga_modes:                                  ; 0xc4634 LB 0x80
     db  00fh, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 000h, 010h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
     db  011h, 001h, 003h, 001h, 000h, 0a0h, 0ffh, 002h, 012h, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
     db  013h, 001h, 005h, 008h, 000h, 0a0h, 0ffh, 003h, 06ah, 001h, 004h, 004h, 000h, 0a0h, 0ffh, 002h
-_line_to_vpti:                               ; 0xc46b4 LB 0x10
+_line_to_vpti:                               ; 0xc46b2 LB 0x10
     db  017h, 017h, 018h, 018h, 004h, 005h, 006h, 007h, 00dh, 00eh, 011h, 012h, 01ah, 01bh, 01ch, 01dh
-_dac_regs:                                   ; 0xc46c4 LB 0x4
+_dac_regs:                                   ; 0xc46c2 LB 0x4
     dd  0ff3f3f3fh
-_video_param_table:                          ; 0xc46c8 LB 0x780
+_video_param_table:                          ; 0xc46c6 LB 0x780
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
@@ -6904,7 +6904,7 @@ _video_param_table:                          ; 0xc46c8 LB 0x780
     db  072h, 0f0h, 000h, 060h, 000h, 000h, 000h, 000h, 000h, 000h, 059h, 08dh, 057h, 032h, 000h, 057h
     db  073h, 0e3h, 0ffh, 000h, 001h, 002h, 003h, 004h, 005h, 014h, 007h, 038h, 039h, 03ah, 03bh, 03ch
     db  03dh, 03eh, 03fh, 001h, 000h, 00fh, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 005h, 00fh, 0ffh
-_palette0:                                   ; 0xc4e48 LB 0xc0
+_palette0:                                   ; 0xc4e46 LB 0xc0
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
     db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
@@ -6917,7 +6917,7 @@ _palette0:                                   ; 0xc4e48 LB 0xc0
     db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah
     db  02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 02ah, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
     db  03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh, 03fh
-_palette1:                                   ; 0xc4f08 LB 0xc0
+_palette1:                                   ; 0xc4f06 LB 0xc0
     db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
     db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah
     db  000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah, 000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah
@@ -6930,7 +6930,7 @@ _palette1:                                   ; 0xc4f08 LB 0xc0
     db  015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh, 015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh
     db  015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
-_palette2:                                   ; 0xc4fc8 LB 0xc0
+_palette2:                                   ; 0xc4fc6 LB 0xc0
     db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
     db  000h, 02ah, 02ah, 02ah, 000h, 02ah, 02ah, 02ah, 000h, 000h, 015h, 000h, 000h, 03fh, 000h, 02ah
     db  015h, 000h, 02ah, 03fh, 02ah, 000h, 015h, 02ah, 000h, 03fh, 02ah, 02ah, 015h, 02ah, 02ah, 03fh
@@ -6943,7 +6943,7 @@ _palette2:                                   ; 0xc4fc8 LB 0xc0
     db  015h, 015h, 000h, 015h, 015h, 02ah, 015h, 03fh, 000h, 015h, 03fh, 02ah, 03fh, 015h, 000h, 03fh
     db  015h, 02ah, 03fh, 03fh, 000h, 03fh, 03fh, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
-_palette3:                                   ; 0xc5088 LB 0x300
+_palette3:                                   ; 0xc5086 LB 0x300
     db  000h, 000h, 000h, 000h, 000h, 02ah, 000h, 02ah, 000h, 000h, 02ah, 02ah, 02ah, 000h, 000h, 02ah
     db  000h, 02ah, 02ah, 015h, 000h, 02ah, 02ah, 02ah, 015h, 015h, 015h, 015h, 015h, 03fh, 015h, 03fh
     db  015h, 015h, 03fh, 03fh, 03fh, 015h, 015h, 03fh, 015h, 03fh, 03fh, 03fh, 015h, 03fh, 03fh, 03fh
@@ -6992,19 +6992,19 @@ _palette3:                                   ; 0xc5088 LB 0x300
     db  00bh, 010h, 00bh, 00bh, 010h, 00ch, 00bh, 010h, 00dh, 00bh, 010h, 00fh, 00bh, 010h, 010h, 00bh
     db  00fh, 010h, 00bh, 00dh, 010h, 00bh, 00ch, 010h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_static_functionality:                       ; 0xc5388 LB 0x10
+_static_functionality:                       ; 0xc5386 LB 0x10
     db  0ffh, 0e0h, 00fh, 000h, 000h, 000h, 000h, 007h, 002h, 008h, 0e7h, 00ch, 000h, 000h, 000h, 000h
-_dcc_table:                                  ; 0xc5398 LB 0x24
+_dcc_table:                                  ; 0xc5396 LB 0x24
     db  010h, 001h, 007h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h
-_secondary_save_area:                        ; 0xc53bc LB 0x1a
-    db  01ah, 000h, 098h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+_secondary_save_area:                        ; 0xc53ba LB 0x1a
+    db  01ah, 000h, 096h, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_video_save_pointer_table:                   ; 0xc53d6 LB 0x1c
-    db  0c8h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  0bch, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_vgafont8:                                   ; 0xc53f2 LB 0x800
+_video_save_pointer_table:                   ; 0xc53d4 LB 0x1c
+    db  0c6h, 046h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+    db  0bah, 053h, 000h, 0c0h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
+_vgafont8:                                   ; 0xc53f0 LB 0x800
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07eh, 081h, 0a5h, 081h, 0bdh, 099h, 081h, 07eh
     db  07eh, 0ffh, 0dbh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 06ch, 0feh, 0feh, 0feh, 07ch, 038h, 010h, 000h
     db  010h, 038h, 07ch, 0feh, 07ch, 038h, 010h, 000h, 038h, 07ch, 038h, 0feh, 0feh, 07ch, 038h, 07ch
@@ -7133,7 +7133,7 @@ _vgafont8:                                   ; 0xc53f2 LB 0x800
     db  000h, 000h, 000h, 000h, 018h, 000h, 000h, 000h, 00fh, 00ch, 00ch, 00ch, 0ech, 06ch, 03ch, 01ch
     db  078h, 06ch, 06ch, 06ch, 06ch, 000h, 000h, 000h, 070h, 018h, 030h, 060h, 078h, 000h, 000h, 000h
     db  000h, 000h, 03ch, 03ch, 03ch, 03ch, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_vgafont14:                                  ; 0xc5bf2 LB 0xe00
+_vgafont14:                                  ; 0xc5bf0 LB 0xe00
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 07eh, 000h, 000h, 000h, 000h, 000h, 07eh, 0ffh
     db  0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 07eh, 000h, 000h, 000h, 000h, 000h, 000h, 06ch, 0feh, 0feh
@@ -7358,7 +7358,7 @@ _vgafont14:                                  ; 0xc5bf2 LB 0xe00
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_vgafont16:                                  ; 0xc69f2 LB 0x1000
+_vgafont16:                                  ; 0xc69f0 LB 0x1000
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 07eh, 081h, 0a5h, 081h, 081h, 0bdh, 099h, 081h, 081h, 07eh, 000h, 000h, 000h, 000h
     db  000h, 000h, 07eh, 0ffh, 0dbh, 0ffh, 0ffh, 0c3h, 0e7h, 0ffh, 0ffh, 07eh, 000h, 000h, 000h, 000h
@@ -7615,7 +7615,7 @@ _vgafont16:                                  ; 0xc69f2 LB 0x1000
     db  000h, 070h, 0d8h, 030h, 060h, 0c8h, 0f8h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 07ch, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_vgafont14alt:                               ; 0xc79f2 LB 0x12d
+_vgafont14alt:                               ; 0xc79f0 LB 0x12d
     db  01dh, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h, 022h
     db  000h, 063h, 063h, 063h, 022h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 02bh, 000h
     db  000h, 000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 000h, 000h, 000h, 02dh, 000h, 000h
@@ -7635,7 +7635,7 @@ _vgafont14alt:                               ; 0xc79f2 LB 0x12d
     db  000h, 0fch, 066h, 066h, 07ch, 062h, 066h, 06fh, 066h, 066h, 0f3h, 000h, 000h, 000h, 0f1h, 000h
     db  000h, 018h, 018h, 018h, 0ffh, 018h, 018h, 018h, 000h, 0ffh, 000h, 000h, 000h, 0f6h, 000h, 000h
     db  018h, 018h, 000h, 000h, 0ffh, 000h, 000h, 018h, 018h, 000h, 000h, 000h, 000h
-_vgafont16alt:                               ; 0xc7b1f LB 0x145
+_vgafont16alt:                               ; 0xc7b1d LB 0x145
     db  01dh, 000h, 000h, 000h, 000h, 000h, 024h, 066h, 0ffh, 066h, 024h, 000h, 000h, 000h, 000h, 000h
     db  000h, 030h, 000h, 000h, 03ch, 066h, 0c3h, 0c3h, 0dbh, 0dbh, 0c3h, 0c3h, 066h, 03ch, 000h, 000h
     db  000h, 000h, 04dh, 000h, 000h, 0c3h, 0e7h, 0ffh, 0ffh, 0dbh, 0c3h, 0c3h, 0c3h, 0c3h, 0c3h, 000h
@@ -7657,24 +7657,24 @@ _vgafont16alt:                               ; 0xc7b1f LB 0x145
     db  000h, 0abh, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 060h, 0ceh, 09bh, 006h, 00ch, 01fh
     db  000h, 000h, 0ach, 000h, 0c0h, 0c0h, 0c2h, 0c6h, 0cch, 018h, 030h, 066h, 0ceh, 096h, 03eh, 006h
     db  006h, 000h, 000h, 000h, 000h
-_vbebios_copyright:                          ; 0xc7c64 LB 0x15
+_vbebios_copyright:                          ; 0xc7c62 LB 0x15
     db  'VirtualBox VESA BIOS', 000h
-_vbebios_vendor_name:                        ; 0xc7c79 LB 0x13
+_vbebios_vendor_name:                        ; 0xc7c77 LB 0x13
     db  'Oracle Corporation', 000h
-_vbebios_product_name:                       ; 0xc7c8c LB 0x21
+_vbebios_product_name:                       ; 0xc7c8a LB 0x21
     db  'Oracle VM VirtualBox VBE Adapter', 000h
-_vbebios_product_revision:                   ; 0xc7cad LB 0x29
-    db  'Oracle VM VirtualBox Version 5.0.0_BETA4', 000h
-_vbebios_info_string:                        ; 0xc7cd6 LB 0x2b
+_vbebios_product_revision:                   ; 0xc7cab LB 0x27
+    db  'Oracle VM VirtualBox Version 5.0.0_RC1', 000h
+_vbebios_info_string:                        ; 0xc7cd2 LB 0x2b
     db  'VirtualBox VBE Display Adapter enabled', 00dh, 00ah, 00dh, 00ah, 000h
-_no_vbebios_info_string:                     ; 0xc7d01 LB 0x29
+_no_vbebios_info_string:                     ; 0xc7cfd LB 0x29
     db  'No VirtualBox VBE support available!', 00dh, 00ah, 00dh, 00ah, 000h
 
-section CONST progbits vstart=0x7d2a align=1 ; size=0x0 class=DATA group=DGROUP
+section CONST progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
 
-section CONST2 progbits vstart=0x7d2a align=1 ; size=0x0 class=DATA group=DGROUP
+section CONST2 progbits vstart=0x7d26 align=1 ; size=0x0 class=DATA group=DGROUP
 
-  ; Padding 0x2d6 bytes at 0xc7d2a
+  ; Padding 0x2da bytes at 0xc7d26
     db  001h, 000h, 000h, 000h, 000h, 001h, 000h, 000h, 000h, 000h, 000h, 000h, 02fh, 068h, 06fh, 06dh
     db  065h, 02fh, 066h, 06dh, 033h, 02fh, 073h, 072h, 063h, 02fh, 076h, 062h, 06fh, 078h, 02fh, 06fh
     db  075h, 074h, 02fh, 06ch, 069h, 06eh, 075h, 078h, 02eh, 061h, 06dh, 064h, 036h, 034h, 02fh, 072h
@@ -7720,4 +7720,4 @@ section CONST2 progbits vstart=0x7d2a align=1 ; size=0x0 class=DATA group=DGROUP
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-    db  000h, 000h, 000h, 000h, 000h, 0d8h
+    db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 0b0h
diff --git a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
index b91e293..65f24c4 100644
--- a/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
+++ b/src/VBox/Devices/Graphics/BIOS/VBoxVgaBiosAlternative.md5sum
@@ -1 +1 @@
-f4e86759b71bab93b5eb55c13a752604 *VBoxVgaBios.rom
+79aa7f26cbeefa911963f24f19c1d0f9 *VBoxVgaBios.rom
diff --git a/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp b/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
index cab295d..517b145 100644
--- a/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+++ b/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
@@ -1883,8 +1883,9 @@ static int vmsvgaFIFOAccess(PVM pVM, PVGASTATE pThis, RTGCPHYS GCPhys, bool fWri
  * @param   enmOrigin       Who is making the access.
  * @param   pvUser          User argument.
  */
-static DECLCALLBACK(int) vmsvgaR3FIFOAccessHandler(PVM pVM, PVMCPU pVCpu RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                                   PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+static DECLCALLBACK(VBOXSTRICTRC)
+vmsvgaR3FIFOAccessHandler(PVM pVM, PVMCPU pVCpu RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                          PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PVGASTATE   pThis = (PVGASTATE)pvUser;
     int         rc;
@@ -1918,8 +1919,9 @@ static DECLCALLBACK(int) vmsvgaR3FIFOAccessHandler(PVM pVM, PVMCPU pVCpu RTGCPHY
  * @param   enmOrigin       Who is making the access.
  * @param   pvUser          User argument.
  */
-static DECLCALLBACK(int) vmsvgaR3GMRAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                                  PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+static DECLCALLBACK(VBOXSTRICTRC)
+vmsvgaR3GMRAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PVGASTATE   pThis = (PVGASTATE)pvUser;
     Assert(pThis);
@@ -3975,14 +3977,18 @@ int vmsvgaInit(PPDMDEVINS pDevIns)
 # ifdef DEBUG_GMR_ACCESS
     /* Register the GMR access handler type. */
     rc = PGMR3HandlerPhysicalTypeRegister(PDMDevHlpGetVM(pThis->pDevInsR3), PGMPHYSHANDLERKIND_WRITE,
-                                          vmsvgaR3GMRAccessHandler, NULL, NULL, NULL, NULL, "VMSVGA GMR",
-                                          &pThis->svga.hGmrAccessHandlerType);
+                                          vmsvgaR3GMRAccessHandler,
+                                          NULL, NULL, NULL,
+                                          NULL, NULL, NULL,
+                                          "VMSVGA GMR", &pThis->svga.hGmrAccessHandlerType);
     AssertRCReturn(rc, rc);
 # endif
 # ifdef DEBUG_FIFO_ACCESS
     rc = PGMR3HandlerPhysicalTypeRegister(PDMDevHlpGetVM(pThis->pDevInsR3), PGMPHYSHANDLERKIND_ALL,
-                                          vmsvgaR3FIFOAccessHandler, NULL, NULL, NULL, NULL, "VMSVGA FIFO",
-                                          &pThis->svga.hFifoAccessHandlerType);
+                                          vmsvgaR3FIFOAccessHandler,
+                                          NULL, NULL, NULL,
+                                          NULL, NULL, NULL,
+                                          "VMSVGA FIFO", &pThis->svga.hFifoAccessHandlerType);
     AssertRCReturn(rc, rc);
 #endif
 
diff --git a/src/VBox/Devices/Graphics/DevVGA.cpp b/src/VBox/Devices/Graphics/DevVGA.cpp
index 00c4f6e..198ee4b 100644
--- a/src/VBox/Devices/Graphics/DevVGA.cpp
+++ b/src/VBox/Devices/Graphics/DevVGA.cpp
@@ -3537,8 +3537,8 @@ static int vgaLFBAccess(PVM pVM, PVGASTATE pThis, RTGCPHYS GCPhys, RTGCPTR GCPtr
 /**
  * @callback_method_impl{FNPGMRCPHYSHANDLER, \#PF Handler for VBE LFB access.}
  */
-PDMBOTHCBDECL(int) vgaLbfAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                         RTGCPHYS GCPhysFault, void *pvUser)
+PDMBOTHCBDECL(VBOXSTRICTRC) vgaLbfAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                  RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
 {
     PVGASTATE   pThis = (PVGASTATE)pvUser;
     AssertPtr(pThis);
@@ -3552,10 +3552,11 @@ PDMBOTHCBDECL(int) vgaLbfAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorC
 
 
 /**
- * @callback_method_impl{FNPGMPHYSHANDLER, HC access handler for the LFB.}
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      VBE LFB write access handler for the dirty tracking.}
  */
-PGM_ALL_CB_DECL(int) vgaLFBAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+PGM_ALL_CB_DECL(VBOXSTRICTRC) vgaLFBAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                                                  PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PVGASTATE   pThis = (PVGASTATE)pvUser;
     int         rc;
@@ -6215,8 +6216,8 @@ static DECLCALLBACK(int)   vgaR3Construct(PPDMDEVINS pDevIns, int iInstance, PCF
      */
     rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_WRITE,
                                           vgaLFBAccessHandler,
-                                          g_DeviceVga.szR0Mod, "vgaLbfAccessPfHandler",
-                                          g_DeviceVga.szRCMod, "vgaLbfAccessPfHandler",
+                                          g_DeviceVga.szR0Mod, NULL, "vgaLbfAccessPfHandler",
+                                          g_DeviceVga.szRCMod, NULL, "vgaLbfAccessPfHandler",
                                           "VGA LFB", &pThis->hLfbAccessHandlerType);
     AssertRCReturn(rc, rc);
 
diff --git a/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp b/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
index dc2e5e7..53492f4 100644
--- a/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
+++ b/src/VBox/Devices/Graphics/DevVGA_VBVA.cpp
@@ -52,13 +52,28 @@ typedef struct VBVAPARTIALRECORD
     uint32_t cb;
 } VBVAPARTIALRECORD;
 
+typedef struct VBVADATA
+{
+    struct
+    {
+        VBVABUFFER *pVBVA;           /* Pointer to the guest memory with the VBVABUFFER. */
+        uint8_t *pu8Data;            /* For convenience, pointer to the guest ring buffer (VBVABUFFER::au8Data). */
+    } guest;
+    uint32_t u32VBVAOffset;          /* VBVABUFFER offset in the guest VRAM. */
+    VBVAPARTIALRECORD partialRecord; /* Partial record temporary storage. */
+    uint32_t off32Data;              /* The offset where the data starts in the VBVABUFFER.
+                                      * The host code uses it instead of VBVABUFFER::off32Data.
+                                      */
+    uint32_t indexRecordFirst;       /* Index of the first filled record in VBVABUFFER::aRecords. */
+    uint32_t cbPartialWriteThreshold; /* Copy of VBVABUFFER::cbPartialWriteThreshold used by host code. */
+    uint32_t cbData;                 /* Copy of VBVABUFFER::cbData used by host code. */
+} VBVADATA;
+
 typedef struct VBVAVIEW
 {
     VBVAINFOVIEW    view;
     VBVAINFOSCREEN  screen;
-    VBVABUFFER     *pVBVA;
-    uint32_t        u32VBVAOffset;
-    VBVAPARTIALRECORD partialRecord;
+    VBVADATA        vbva;
 } VBVAVIEW;
 
 typedef struct VBVAMOUSESHAPEINFO
@@ -79,7 +94,7 @@ typedef struct VBVAMOUSESHAPEINFO
 typedef struct VBVACONTEXT
 {
     uint32_t cViews;
-    VBVAVIEW aViews[64 /* @todo SchemaDefs::MaxGuestMonitors*/];
+    VBVAVIEW aViews[VBOX_VIDEO_MAX_SCREENS];
     VBVAMOUSESHAPEINFO mouseShapeInfo;
     bool fPaused;
     uint32_t xCursor;
@@ -88,58 +103,78 @@ typedef struct VBVACONTEXT
 } VBVACONTEXT;
 
 
+static void vbvaDataCleanup(VBVADATA *pVBVAData)
+{
+    if (pVBVAData->guest.pVBVA)
+    {
+        RT_ZERO(pVBVAData->guest.pVBVA->hostFlags);
+    }
+    
+    RTMemFree(pVBVAData->partialRecord.pu8);
+
+    RT_ZERO(*pVBVAData);
+    pVBVAData->u32VBVAOffset = HGSMIOFFSET_VOID;
+}
 
 /** Copies @a cb bytes from the VBVA ring buffer to the @a pu8Dst.
  * Used for partial records or for records which cross the ring boundary.
  */
-static void vbvaFetchBytes (VBVABUFFER *pVBVA, uint8_t *pu8Dst, uint32_t cb)
+static bool vbvaFetchBytes(VBVADATA *pVBVAData, uint8_t *pu8Dst, uint32_t cb)
 {
-    /** @todo replace the 'if' with an assert. The caller must ensure this condition. */
-    if (cb >= pVBVA->cbData)
+    if (cb >= pVBVAData->cbData)
     {
-        AssertMsgFailed (("cb = 0x%08X, ring buffer size 0x%08X", cb, pVBVA->cbData));
-        return;
+        AssertMsgFailed(("cb = 0x%08X, ring buffer size 0x%08X", cb, pVBVAData->cbData));
+        return false;
     }
 
-    const uint32_t u32BytesTillBoundary = pVBVA->cbData - pVBVA->off32Data;
-    const uint8_t  *src                 = &pVBVA->au8Data[pVBVA->off32Data];
+    const uint32_t u32BytesTillBoundary = pVBVAData->cbData - pVBVAData->off32Data;
+    const uint8_t  *pu8Src              = &pVBVAData->guest.pu8Data[pVBVAData->off32Data];
     const int32_t i32Diff               = cb - u32BytesTillBoundary;
 
     if (i32Diff <= 0)
     {
         /* Chunk will not cross buffer boundary. */
-        memcpy (pu8Dst, src, cb);
+        memcpy(pu8Dst, pu8Src, cb);
     }
     else
     {
         /* Chunk crosses buffer boundary. */
-        memcpy (pu8Dst, src, u32BytesTillBoundary);
-        memcpy (pu8Dst + u32BytesTillBoundary, &pVBVA->au8Data[0], i32Diff);
+        memcpy(pu8Dst, pu8Src, u32BytesTillBoundary);
+        memcpy(pu8Dst + u32BytesTillBoundary, &pVBVAData->guest.pu8Data[0], i32Diff);
     }
 
-    /* Advance data offset. */
-    pVBVA->off32Data = (pVBVA->off32Data + cb) % pVBVA->cbData;
-
-    return;
+    /* Advance data offset and sync with guest. */
+    pVBVAData->off32Data = (pVBVAData->off32Data + cb) % pVBVAData->cbData;
+    pVBVAData->guest.pVBVA->off32Data = pVBVAData->off32Data;
+    return true;
 }
 
 
-static bool vbvaPartialRead (VBVAPARTIALRECORD *pPartialRecord, uint32_t cbRecord, VBVABUFFER *pVBVA)
+static bool vbvaPartialRead(uint32_t cbRecord, VBVADATA *pVBVAData)
 {
+    VBVAPARTIALRECORD *pPartialRecord = &pVBVAData->partialRecord;
     uint8_t *pu8New;
 
     LOGVBVABUFFER(("vbvaPartialRead: p = %p, cb = %d, cbRecord 0x%08X\n",
                    pPartialRecord->pu8, pPartialRecord->cb, cbRecord));
 
+    Assert(cbRecord > pPartialRecord->cb); /* Caller ensures this. */
+
+    const uint32_t cbChunk = cbRecord - pPartialRecord->cb;
+    if (cbChunk >= pVBVAData->cbData)
+    {
+        return false;
+    }
+
     if (pPartialRecord->pu8)
     {
-        Assert (pPartialRecord->cb);
-        pu8New = (uint8_t *)RTMemRealloc (pPartialRecord->pu8, cbRecord);
+        Assert(pPartialRecord->cb);
+        pu8New = (uint8_t *)RTMemRealloc(pPartialRecord->pu8, cbRecord);
     }
     else
     {
-        Assert (!pPartialRecord->cb);
-        pu8New = (uint8_t *)RTMemAlloc (cbRecord);
+        Assert(!pPartialRecord->cb);
+        pu8New = (uint8_t *)RTMemAlloc(cbRecord);
     }
 
     if (!pu8New)
@@ -148,19 +183,14 @@ static bool vbvaPartialRead (VBVAPARTIALRECORD *pPartialRecord, uint32_t cbRecor
         Log(("vbvaPartialRead: failed to (re)alocate memory for partial record!!! cbRecord 0x%08X\n",
              cbRecord));
 
-        if (pPartialRecord->pu8)
-        {
-            RTMemFree (pPartialRecord->pu8);
-        }
-
-        pPartialRecord->pu8 = NULL;
-        pPartialRecord->cb = 0;
-
         return false;
     }
 
     /* Fetch data from the ring buffer. */
-    vbvaFetchBytes (pVBVA, pu8New + pPartialRecord->cb, cbRecord - pPartialRecord->cb);
+    if (!vbvaFetchBytes(pVBVAData, pu8New + pPartialRecord->cb, cbChunk))
+    {
+        return false;
+    }
 
     pPartialRecord->pu8 = pu8New;
     pPartialRecord->cb = cbRecord;
@@ -171,26 +201,37 @@ static bool vbvaPartialRead (VBVAPARTIALRECORD *pPartialRecord, uint32_t cbRecor
 /* For contiguous chunks just return the address in the buffer.
  * For crossing boundary - allocate a buffer from heap.
  */
-static bool vbvaFetchCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA, VBVACMDHDR **ppHdr, uint32_t *pcbCmd)
+static bool vbvaFetchCmd(VBVADATA *pVBVAData, VBVACMDHDR **ppHdr, uint32_t *pcbCmd)
 {
-    uint32_t indexRecordFirst = pVBVA->indexRecordFirst;
-    uint32_t indexRecordFree = pVBVA->indexRecordFree;
+    VBVAPARTIALRECORD *pPartialRecord = &pVBVAData->partialRecord;
+    uint32_t indexRecordFirst = pVBVAData->indexRecordFirst;
+    const uint32_t indexRecordFree = ASMAtomicReadU32(&pVBVAData->guest.pVBVA->indexRecordFree);
 
     LOGVBVABUFFER(("first = %d, free = %d\n",
                    indexRecordFirst, indexRecordFree));
 
+    if (indexRecordFree >= RT_ELEMENTS(pVBVAData->guest.pVBVA->aRecords))
+    {
+        return false;
+    }
+
     if (indexRecordFirst == indexRecordFree)
     {
         /* No records to process. Return without assigning output variables. */
         return true;
     }
 
-    uint32_t cbRecordCurrent = ASMAtomicReadU32(&pVBVA->aRecords[indexRecordFirst].cbRecord);
+    uint32_t cbRecordCurrent = ASMAtomicReadU32(&pVBVAData->guest.pVBVA->aRecords[indexRecordFirst].cbRecord);
 
     LOGVBVABUFFER(("cbRecord = 0x%08X, pPartialRecord->cb = 0x%08X\n", cbRecordCurrent, pPartialRecord->cb));
 
     uint32_t cbRecord = cbRecordCurrent & ~VBVA_F_RECORD_PARTIAL;
 
+    if (cbRecord > VBVA_MAX_RECORD_SIZE)
+    {
+        return false;
+    }
+
     if (pPartialRecord->cb)
     {
         /* There is a partial read in process. Continue with it. */
@@ -202,7 +243,7 @@ static bool vbvaFetchCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA,
         if (cbRecord > pPartialRecord->cb)
         {
             /* New data has been added to the record. */
-            if (!vbvaPartialRead (pPartialRecord, cbRecord, pVBVA))
+            if (!vbvaPartialRead(cbRecord, pVBVAData))
             {
                 return false;
             }
@@ -217,11 +258,12 @@ static bool vbvaFetchCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA,
             pPartialRecord->pu8 = NULL;
             pPartialRecord->cb = 0;
 
-            /* Advance the record index. */
-            pVBVA->indexRecordFirst = (indexRecordFirst + 1) % RT_ELEMENTS(pVBVA->aRecords);
+            /* Advance the record index and sync with guest. */
+            pVBVAData->indexRecordFirst = (indexRecordFirst + 1) % RT_ELEMENTS(pVBVAData->guest.pVBVA->aRecords);
+            pVBVAData->guest.pVBVA->indexRecordFirst = pVBVAData->indexRecordFirst;
 
             LOGVBVABUFFER(("partial done ok, data = %d, free = %d\n",
-                          pVBVA->off32Data, pVBVA->off32Free));
+                          pVBVAData->off32Data, pVBVAData->guest.pVBVA->off32Free));
         }
 
         return true;
@@ -235,10 +277,10 @@ static bool vbvaFetchCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA,
          * This partial record is too large for the ring buffer and must
          * be accumulated in an allocated buffer.
          */
-        if (cbRecord >= pVBVA->cbData - pVBVA->cbPartialWriteThreshold)
+        if (cbRecord >= pVBVAData->cbData - pVBVAData->cbPartialWriteThreshold)
         {
             /* Partial read must be started. */
-            if (!vbvaPartialRead (pPartialRecord, cbRecord, pVBVA))
+            if (!vbvaPartialRead(cbRecord, pVBVAData))
             {
                 return false;
             }
@@ -251,63 +293,70 @@ static bool vbvaFetchCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA,
     }
 
     /* Current record is complete. If it is not empty, process it. */
+    if (cbRecord >= pVBVAData->cbData)
+    {
+        return false;
+    }
+
     if (cbRecord)
     {
-        /* The size of largest contiguous chunk in the ring biffer. */
-        uint32_t u32BytesTillBoundary = pVBVA->cbData - pVBVA->off32Data;
+        /* The size of largest contiguous chunk in the ring buffer. */
+        uint32_t u32BytesTillBoundary = pVBVAData->cbData - pVBVAData->off32Data;
 
         /* The pointer to data in the ring buffer. */
-        uint8_t *src = &pVBVA->au8Data[pVBVA->off32Data];
+        uint8_t *pu8Src = &pVBVAData->guest.pu8Data[pVBVAData->off32Data];
 
         /* Fetch or point the data. */
         if (u32BytesTillBoundary >= cbRecord)
         {
             /* The command does not cross buffer boundary. Return address in the buffer. */
-            *ppHdr = (VBVACMDHDR *)src;
+            *ppHdr = (VBVACMDHDR *)pu8Src;
 
-            /* Advance data offset. */
-            pVBVA->off32Data = (pVBVA->off32Data + cbRecord) % pVBVA->cbData;
+            /* Advance data offset and sync with guest. */
+            pVBVAData->off32Data = (pVBVAData->off32Data + cbRecord) % pVBVAData->cbData;
+            pVBVAData->guest.pVBVA->off32Data = pVBVAData->off32Data;
         }
         else
         {
             /* The command crosses buffer boundary. Rare case, so not optimized. */
-            uint8_t *dst = (uint8_t *)RTMemAlloc (cbRecord);
+            uint8_t *pu8Dst = (uint8_t *)RTMemAlloc(cbRecord);
 
-            if (!dst)
+            if (!pu8Dst)
             {
                 LogFlowFunc (("could not allocate %d bytes from heap!!!\n", cbRecord));
-                pVBVA->off32Data = (pVBVA->off32Data + cbRecord) % pVBVA->cbData;
                 return false;
             }
 
-            vbvaFetchBytes (pVBVA, dst, cbRecord);
+            vbvaFetchBytes(pVBVAData, pu8Dst, cbRecord);
 
-            *ppHdr = (VBVACMDHDR *)dst;
+            *ppHdr = (VBVACMDHDR *)pu8Dst;
 
-            LOGVBVABUFFER(("Allocated from heap %p\n", dst));
+            LOGVBVABUFFER(("Allocated from heap %p\n", pu8Dst));
         }
     }
 
     *pcbCmd = cbRecord;
 
-    /* Advance the record index. */
-    pVBVA->indexRecordFirst = (indexRecordFirst + 1) % RT_ELEMENTS(pVBVA->aRecords);
+    /* Advance the record index and sync with guest. */
+    pVBVAData->indexRecordFirst = (indexRecordFirst + 1) % RT_ELEMENTS(pVBVAData->guest.pVBVA->aRecords);
+    pVBVAData->guest.pVBVA->indexRecordFirst = pVBVAData->indexRecordFirst;
 
     LOGVBVABUFFER(("done ok, data = %d, free = %d\n",
-                  pVBVA->off32Data, pVBVA->off32Free));
+                  pVBVAData->off32Data, pVBVAData->guest.pVBVA->off32Free));
 
     return true;
 }
 
-static void vbvaReleaseCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA, VBVACMDHDR *pHdr, uint32_t cbCmd)
+static void vbvaReleaseCmd(VBVADATA *pVBVAData, VBVACMDHDR *pHdr, uint32_t cbCmd)
 {
-    uint8_t *au8RingBuffer = &pVBVA->au8Data[0];
+    VBVAPARTIALRECORD *pPartialRecord = &pVBVAData->partialRecord;
+    uint8_t *au8RingBuffer = pVBVAData->guest.pu8Data;
 
     if (   (uint8_t *)pHdr >= au8RingBuffer
-        && (uint8_t *)pHdr < &au8RingBuffer[pVBVA->cbData])
+        && (uint8_t *)pHdr < &au8RingBuffer[pVBVAData->cbData])
     {
         /* The pointer is inside ring buffer. Must be continuous chunk. */
-        Assert (pVBVA->cbData - ((uint8_t *)pHdr - au8RingBuffer) >= cbCmd);
+        Assert(pVBVAData->cbData - ((uint8_t *)pHdr - au8RingBuffer) >= cbCmd);
 
         /* Do nothing. */
 
@@ -325,19 +374,18 @@ static void vbvaReleaseCmd (VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA
         }
         else
         {
-            Assert (!pPartialRecord->pu8 && pPartialRecord->cb == 0);
+            Assert(!pPartialRecord->pu8 && pPartialRecord->cb == 0);
         }
 
-        RTMemFree (pHdr);
+        RTMemFree(pHdr);
     }
-
-    return;
 }
 
-static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIALRECORD *pPartialRecord, VBVABUFFER *pVBVA)
+static int vbvaFlushProcess(unsigned uScreenId, PVGASTATE pVGAState, VBVADATA *pVBVAData)
 {
     LOGVBVABUFFER(("uScreenId %d, indexRecordFirst = %d, indexRecordFree = %d, off32Data = %d, off32Free = %d\n",
-                  uScreenId, pVBVA->indexRecordFirst, pVBVA->indexRecordFree, pVBVA->off32Data, pVBVA->off32Free));
+                  uScreenId, pVBVAData->indexRecordFirst, pVBVAData->guest.pVBVA->indexRecordFree,
+                  pVBVAData->off32Data, pVBVAData->guest.pVBVA->off32Free));
     struct {
         /* The rectangle that includes all dirty rectangles. */
         int32_t xLeft;
@@ -356,12 +404,11 @@ static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIA
         uint32_t cbCmd = ~0;
 
         /* Fetch the command data. */
-        if (!vbvaFetchCmd (pPartialRecord, pVBVA, &phdr, &cbCmd))
+        if (!vbvaFetchCmd(pVBVAData, &phdr, &cbCmd))
         {
             LogFunc(("unable to fetch command. off32Data = %d, off32Free = %d!!!\n",
-                  pVBVA->off32Data, pVBVA->off32Free));
+                  pVBVAData->off32Data, pVBVAData->guest.pVBVA->off32Free));
 
-            /* @todo old code disabled VBVA processing here. */
             return VERR_NOT_SUPPORTED;
         }
 
@@ -371,16 +418,24 @@ static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIA
             break;
         }
 
+        if (cbCmd < sizeof(VBVACMDHDR))
+        {
+            LogFunc(("short command. off32Data = %d, off32Free = %d, cbCmd %d!!!\n",
+                  pVBVAData->off32Data, pVBVAData->guest.pVBVA->off32Free, cbCmd));
+
+            return VERR_NOT_SUPPORTED;
+        }
+
         if (cbCmd != 0)
         {
             if (!fUpdate)
             {
-                pVGAState->pDrv->pfnVBVAUpdateBegin (pVGAState->pDrv, uScreenId);
+                pVGAState->pDrv->pfnVBVAUpdateBegin(pVGAState->pDrv, uScreenId);
                 fUpdate = true;
             }
 
             /* Updates the rectangle and sends the command to the VRDP server. */
-            pVGAState->pDrv->pfnVBVAUpdateProcess (pVGAState->pDrv, uScreenId, phdr, cbCmd);
+            pVGAState->pDrv->pfnVBVAUpdateProcess(pVGAState->pDrv, uScreenId, phdr, cbCmd);
 
             int32_t xRight  = phdr->x + phdr->w;
             int32_t yBottom = phdr->y + phdr->h;
@@ -390,8 +445,7 @@ static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIA
             LOGVBVABUFFER(("cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n",
                            cbCmd, phdr->x, phdr->y, phdr->w, phdr->h));
             LogRel3(("%s: update command cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n",
-                     __PRETTY_FUNCTION__, cbCmd, phdr->x, phdr->y, phdr->w,
-                     phdr->h));
+                     __FUNCTION__, cbCmd, phdr->x, phdr->y, phdr->w, phdr->h));
 
             /* Collect all rects into one. */
             if (fDirtyEmpty)
@@ -428,7 +482,7 @@ static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIA
             }
         }
 
-        vbvaReleaseCmd (pPartialRecord, pVBVA, phdr, cbCmd);
+        vbvaReleaseCmd(pVBVAData, phdr, cbCmd);
     }
 
     if (fUpdate)
@@ -436,81 +490,119 @@ static int vbvaFlushProcess (unsigned uScreenId, PVGASTATE pVGAState, VBVAPARTIA
         if (dirtyRect.xRight - dirtyRect.xLeft)
         {
             LogRel3(("%s: sending update screen=%d, x=%d, y=%d, w=%d, h=%d\n",
-                     __PRETTY_FUNCTION__, uScreenId, dirtyRect.xLeft,
+                     __FUNCTION__, uScreenId, dirtyRect.xLeft,
                      dirtyRect.yTop, dirtyRect.xRight - dirtyRect.xLeft,
                      dirtyRect.yBottom - dirtyRect.yTop));
-            pVGAState->pDrv->pfnVBVAUpdateEnd (pVGAState->pDrv, uScreenId, dirtyRect.xLeft, dirtyRect.yTop,
-                                               dirtyRect.xRight - dirtyRect.xLeft, dirtyRect.yBottom - dirtyRect.yTop);
+            pVGAState->pDrv->pfnVBVAUpdateEnd(pVGAState->pDrv, uScreenId, dirtyRect.xLeft, dirtyRect.yTop,
+                                              dirtyRect.xRight - dirtyRect.xLeft, dirtyRect.yBottom - dirtyRect.yTop);
         }
         else
         {
-            pVGAState->pDrv->pfnVBVAUpdateEnd (pVGAState->pDrv, uScreenId, 0, 0, 0, 0);
+            pVGAState->pDrv->pfnVBVAUpdateEnd(pVGAState->pDrv, uScreenId, 0, 0, 0, 0);
         }
     }
 
     return VINF_SUCCESS;
 }
 
-static int vbvaFlush (PVGASTATE pVGAState, VBVACONTEXT *pCtx)
+static int vbvaFlush(PVGASTATE pVGAState, VBVACONTEXT *pCtx)
 {
-    unsigned uScreenId;
+    int rc = VINF_SUCCESS;
 
+    unsigned uScreenId;
     for (uScreenId = 0; uScreenId < pCtx->cViews; uScreenId++)
     {
-        VBVAPARTIALRECORD *pPartialRecord = &pCtx->aViews[uScreenId].partialRecord;
-        VBVABUFFER *pVBVA = pCtx->aViews[uScreenId].pVBVA;
+        VBVADATA *pVBVAData = &pCtx->aViews[uScreenId].vbva;
 
-        if (pVBVA)
+        if (pVBVAData->guest.pVBVA)
         {
-            vbvaFlushProcess (uScreenId, pVGAState, pPartialRecord, pVBVA);
+            rc = vbvaFlushProcess(uScreenId, pVGAState, pVBVAData);
+            if (RT_FAILURE(rc))
+            {
+                break;
+            }
         }
     }
 
-    /* @todo rc */
-    return VINF_SUCCESS;
+    if (RT_FAILURE(rc))
+    {
+        /* Turn off VBVA processing. */
+        LogRel(("VBVA: disabling\n", rc));
+        for (uScreenId = 0; uScreenId < pCtx->cViews; uScreenId++)
+        {
+            VBVADATA *pVBVAData = &pCtx->aViews[uScreenId].vbva;
+            if (pVBVAData->guest.pVBVA)
+            {
+                vbvaDataCleanup(pVBVAData);
+                pVGAState->pDrv->pfnVBVADisable(pVGAState->pDrv, uScreenId);
+            }
+        }
+    }
+
+    return rc;
 }
 
-static int vbvaResize (PVGASTATE pVGAState, VBVAVIEW *pView, const VBVAINFOSCREEN *pNewScreen)
+static int vbvaResize(PVGASTATE pVGAState, VBVAVIEW *pView, const VBVAINFOSCREEN *pNewScreen)
 {
-    /* Verify pNewScreen. */
-    /* @todo */
+    /* Callers ensure that pNewScreen contains valid data. */
 
     /* Apply these changes. */
     pView->screen = *pNewScreen;
 
     uint8_t *pu8VRAM = pVGAState->vram_ptrR3 + pView->view.u32ViewOffset;
-
-    int rc = pVGAState->pDrv->pfnVBVAResize (pVGAState->pDrv, &pView->view, &pView->screen, pu8VRAM);
-
-    /* @todo process VINF_VGA_RESIZE_IN_PROGRESS? */
-
-    return rc;
+    return pVGAState->pDrv->pfnVBVAResize (pVGAState->pDrv, &pView->view, &pView->screen, pu8VRAM);
 }
 
-static int vbvaEnable (unsigned uScreenId, PVGASTATE pVGAState, VBVACONTEXT *pCtx, VBVABUFFER *pVBVA, uint32_t u32Offset, bool fRestored)
+static int vbvaEnable(unsigned uScreenId, PVGASTATE pVGAState, VBVACONTEXT *pCtx, VBVABUFFER *pVBVA, uint32_t u32Offset, bool fRestored)
 {
-    /* @todo old code did a UpdateDisplayAll at this place. */
-
     int rc;
 
-    if (pVGAState->pDrv->pfnVBVAEnable)
+    /* Check if VBVABUFFER content makes sense. */
+    const VBVABUFFER parms = *pVBVA;
+
+    uint32_t cbVBVABuffer = RT_UOFFSETOF(VBVABUFFER, au8Data) + parms.cbData;
+    if (   parms.cbData > UINT32_MAX - RT_UOFFSETOF(VBVABUFFER, au8Data)
+        || cbVBVABuffer > pVGAState->vram_size
+        || u32Offset > pVGAState->vram_size - cbVBVABuffer)
+    {
+        return VERR_INVALID_PARAMETER;
+    }
+
+    if (   parms.off32Data != 0
+        || parms.off32Free != 0
+        || parms.indexRecordFirst != 0
+        || parms.indexRecordFree != 0
+        || parms.cbPartialWriteThreshold >= parms.cbData
+        || parms.cbPartialWriteThreshold == 0)
     {
-        pVBVA->hostFlags.u32HostEvents = 0;
-        pVBVA->hostFlags.u32SupportedOrders = 0;
+        return VERR_INVALID_PARAMETER;
+    }
 
-        rc = pVGAState->pDrv->pfnVBVAEnable (pVGAState->pDrv, uScreenId, &pVBVA->hostFlags, false);
+    if (pVGAState->pDrv->pfnVBVAEnable)
+    {
+        RT_ZERO(pVBVA->hostFlags);
+        rc = pVGAState->pDrv->pfnVBVAEnable(pVGAState->pDrv, uScreenId, &pVBVA->hostFlags, false);
     }
     else
     {
         rc = VERR_NOT_SUPPORTED;
     }
 
-    if (RT_SUCCESS (rc))
+    if (RT_SUCCESS(rc))
     {
         /* pVBVA->hostFlags has been set up by pfnVBVAEnable. */
         LogFlowFunc(("u32HostEvents 0x%08X, u32SupportedOrders 0x%08X\n",
                      pVBVA->hostFlags.u32HostEvents, pVBVA->hostFlags.u32SupportedOrders));
 
+        VBVADATA *pVBVAData = &pCtx->aViews[uScreenId].vbva;
+        pVBVAData->guest.pVBVA             = pVBVA;
+        pVBVAData->guest.pu8Data           = &pVBVA->au8Data[0];
+        pVBVAData->u32VBVAOffset           = u32Offset;
+        pVBVAData->off32Data               = 0;
+        pVBVAData->indexRecordFirst        = 0;
+        pVBVAData->cbPartialWriteThreshold = parms.cbPartialWriteThreshold;
+        pVBVAData->cbData                  = parms.cbData;
+
         if (!fRestored)
         {
             /* @todo Actually this function must not touch the partialRecord structure at all,
@@ -519,13 +611,10 @@ static int vbvaEnable (unsigned uScreenId, PVGASTATE pVGAState, VBVACONTEXT *pCt
              * So for now (a quick fix for 4.1) just do not do this if the VM was restored,
              * when partialRecord might be loaded already from the saved state.
              */
-            pCtx->aViews[uScreenId].partialRecord.pu8 = NULL;
-            pCtx->aViews[uScreenId].partialRecord.cb = 0;
+            pVBVAData->partialRecord.pu8 = NULL;
+            pVBVAData->partialRecord.cb = 0;
         }
 
-        pCtx->aViews[uScreenId].pVBVA = pVBVA;
-        pCtx->aViews[uScreenId].u32VBVAOffset = u32Offset;
-
         /* VBVA is working so disable the pause. */
         pCtx->fPaused = false;
     }
@@ -538,21 +627,10 @@ static int vbvaDisable (unsigned uScreenId, PVGASTATE pVGAState, VBVACONTEXT *pC
     /* Process any pending orders and empty the VBVA ring buffer. */
     vbvaFlush (pVGAState, pCtx);
 
-    VBVAVIEW *pView = &pCtx->aViews[uScreenId];
-
-    if (pView->pVBVA)
-    {
-        pView->pVBVA->hostFlags.u32HostEvents = 0;
-        pView->pVBVA->hostFlags.u32SupportedOrders = 0;
-
-        pView->partialRecord.pu8 = NULL;
-        pView->partialRecord.cb = 0;
-
-        pView->pVBVA = NULL;
-        pView->u32VBVAOffset = HGSMIOFFSET_VOID;
-    }
+    VBVADATA *pVBVAData = &pCtx->aViews[uScreenId].vbva;
+    vbvaDataCleanup(pVBVAData);
 
-    pVGAState->pDrv->pfnVBVADisable (pVGAState->pDrv, uScreenId);
+    pVGAState->pDrv->pfnVBVADisable(pVGAState->pDrv, uScreenId);
     return VINF_SUCCESS;
 }
 
@@ -567,7 +645,7 @@ bool VBVAIsEnabled(PVGASTATE pVGAState)
             if (pCtx->cViews)
             {
                 VBVAVIEW * pView = &pCtx->aViews[0];
-                if (pView->pVBVA)
+                if (pView->vbva.guest.pVBVA)
                     return true;
             }
         }
@@ -593,16 +671,21 @@ void dumpMouseShapeInfo(const VBVAMOUSESHAPEINFO *pMouseShapeInfo)
 }
 #endif
 
-static int vbvaUpdateMousePointerShape(PVGASTATE pVGAState, VBVAMOUSESHAPEINFO *pMouseShapeInfo, bool fShape, const uint8_t *pu8Shape)
+static int vbvaUpdateMousePointerShape(PVGASTATE pVGAState, VBVAMOUSESHAPEINFO *pMouseShapeInfo, bool fShape)
 {
-    int rc;
-    LogFlowFunc(("pVGAState %p, pMouseShapeInfo %p, fShape %d, pu8Shape %p\n",
-                  pVGAState, pMouseShapeInfo, fShape, pu8Shape));
+    LogFlowFunc(("pVGAState %p, pMouseShapeInfo %p, fShape %d\n",
+                  pVGAState, pMouseShapeInfo, fShape));
 #ifdef DEBUG_sunlover
     dumpMouseShapeInfo(pMouseShapeInfo);
 #endif
 
-    if (fShape && pu8Shape != NULL)
+    if (pVGAState->pDrv->pfnVBVAMousePointerShape == NULL)
+    {
+        return VERR_NOT_SUPPORTED;
+    }
+
+    int rc;
+    if (fShape && pMouseShapeInfo->pu8Shape != NULL)
     {
         rc = pVGAState->pDrv->pfnVBVAMousePointerShape (pVGAState->pDrv,
                                                         pMouseShapeInfo->fVisible,
@@ -611,7 +694,7 @@ static int vbvaUpdateMousePointerShape(PVGASTATE pVGAState, VBVAMOUSESHAPEINFO *
                                                         pMouseShapeInfo->u32HotY,
                                                         pMouseShapeInfo->u32Width,
                                                         pMouseShapeInfo->u32Height,
-                                                        pu8Shape);
+                                                        pMouseShapeInfo->pu8Shape);
     }
     else
     {
@@ -626,31 +709,41 @@ static int vbvaUpdateMousePointerShape(PVGASTATE pVGAState, VBVAMOUSESHAPEINFO *
     return rc;
 }
 
-static int vbvaMousePointerShape (PVGASTATE pVGAState, VBVACONTEXT *pCtx, const VBVAMOUSEPOINTERSHAPE *pShape, HGSMISIZE cbShape)
+static int vbvaMousePointerShape(PVGASTATE pVGAState, VBVACONTEXT *pCtx, const VBVAMOUSEPOINTERSHAPE *pShape, HGSMISIZE cbShape)
 {
-    bool fVisible = (pShape->fu32Flags & VBOX_MOUSE_POINTER_VISIBLE) != 0;
-    bool fAlpha =   (pShape->fu32Flags & VBOX_MOUSE_POINTER_ALPHA) != 0;
-    bool fShape =   (pShape->fu32Flags & VBOX_MOUSE_POINTER_SHAPE) != 0;
+    const VBVAMOUSEPOINTERSHAPE parms = *pShape;
+
+    LogFlowFunc(("VBVA_MOUSE_POINTER_SHAPE: i32Result 0x%x, fu32Flags 0x%x, hot spot %d,%d, size %dx%d\n",
+                 parms.i32Result,
+                 parms.fu32Flags,
+                 parms.u32HotX,
+                 parms.u32HotY,
+                 parms.u32Width,
+                 parms.u32Height));
+
+    const bool fVisible = RT_BOOL(parms.fu32Flags & VBOX_MOUSE_POINTER_VISIBLE);
+    const bool fAlpha =   RT_BOOL(parms.fu32Flags & VBOX_MOUSE_POINTER_ALPHA);
+    const bool fShape =   RT_BOOL(parms.fu32Flags & VBOX_MOUSE_POINTER_SHAPE);
 
     HGSMISIZE cbPointerData = 0;
 
     if (fShape)
     {
-         if (pShape->u32Width > 8192 || pShape->u32Height > 8192)
+         if (parms.u32Width > 8192 || parms.u32Height > 8192)
          {
              Log(("vbvaMousePointerShape: unsupported size %ux%u\n",
-                   pShape->u32Width, pShape->u32Height));
+                   parms.u32Width, parms.u32Height));
              return VERR_INVALID_PARAMETER;
          }
 
-         cbPointerData = ((((pShape->u32Width + 7) / 8) * pShape->u32Height + 3) & ~3)
-                         + pShape->u32Width * 4 * pShape->u32Height;
+         cbPointerData = ((((parms.u32Width + 7) / 8) * parms.u32Height + 3) & ~3)
+                         + parms.u32Width * 4 * parms.u32Height;
     }
 
-    if (cbPointerData > cbShape - RT_OFFSETOF(VBVAMOUSEPOINTERSHAPE, au8Data))
+    if (cbPointerData > cbShape - RT_UOFFSETOF(VBVAMOUSEPOINTERSHAPE, au8Data))
     {
         Log(("vbvaMousePointerShape: calculated pointer data size is too big (%d bytes, limit %d)\n",
-              cbPointerData, cbShape - RT_OFFSETOF(VBVAMOUSEPOINTERSHAPE, au8Data)));
+              cbPointerData, cbShape - RT_UOFFSETOF(VBVAMOUSEPOINTERSHAPE, au8Data)));
         return VERR_INVALID_PARAMETER;
     }
 
@@ -661,10 +754,10 @@ static int vbvaMousePointerShape (PVGASTATE pVGAState, VBVACONTEXT *pCtx, const
     if (fShape)
     {
         /* Data related to shape. */
-        pCtx->mouseShapeInfo.u32HotX = pShape->u32HotX;
-        pCtx->mouseShapeInfo.u32HotY = pShape->u32HotY;
-        pCtx->mouseShapeInfo.u32Width = pShape->u32Width;
-        pCtx->mouseShapeInfo.u32Height = pShape->u32Height;
+        pCtx->mouseShapeInfo.u32HotX = parms.u32HotX;
+        pCtx->mouseShapeInfo.u32HotY = parms.u32HotY;
+        pCtx->mouseShapeInfo.u32Width = parms.u32Width;
+        pCtx->mouseShapeInfo.u32Height = parms.u32Height;
 
         /* Reallocate memory buffer if necessary. */
         if (cbPointerData > pCtx->mouseShapeInfo.cbAllocated)
@@ -684,33 +777,27 @@ static int vbvaMousePointerShape (PVGASTATE pVGAState, VBVACONTEXT *pCtx, const
         /* Copy shape bitmaps. */
         if (pCtx->mouseShapeInfo.pu8Shape)
         {
-            memcpy (pCtx->mouseShapeInfo.pu8Shape, &pShape->au8Data[0], cbPointerData);
+            memcpy(pCtx->mouseShapeInfo.pu8Shape, &pShape->au8Data[0], cbPointerData);
             pCtx->mouseShapeInfo.cbShape = cbPointerData;
         }
     }
 
-    if (pVGAState->pDrv->pfnVBVAMousePointerShape == NULL)
-    {
-        return VERR_NOT_SUPPORTED;
-    }
-
-    int rc = vbvaUpdateMousePointerShape(pVGAState, &pCtx->mouseShapeInfo, fShape, &pShape->au8Data[0]);
+    int rc = vbvaUpdateMousePointerShape(pVGAState, &pCtx->mouseShapeInfo, fShape);
 
     return rc;
 }
 
-static unsigned vbvaViewFromOffset (PHGSMIINSTANCE pIns, VBVACONTEXT *pCtx, const void *pvBuffer)
+static uint32_t vbvaViewFromBufferPtr(PHGSMIINSTANCE pIns, const VBVACONTEXT *pCtx, const void *pvBuffer)
 {
     /* Check which view contains the buffer. */
-    HGSMIOFFSET offBuffer = HGSMIPointerToOffsetHost (pIns, pvBuffer);
+    HGSMIOFFSET offBuffer = HGSMIPointerToOffsetHost(pIns, pvBuffer);
 
     if (offBuffer != HGSMIOFFSET_VOID)
     {
         unsigned uScreenId;
-
         for (uScreenId = 0; uScreenId < pCtx->cViews; uScreenId++)
         {
-            VBVAINFOVIEW *pView = &pCtx->aViews[uScreenId].view;
+            const VBVAINFOVIEW *pView = &pCtx->aViews[uScreenId].view;
 
             if (   pView->u32ViewSize > 0
                 && pView->u32ViewOffset <= offBuffer
@@ -721,7 +808,7 @@ static unsigned vbvaViewFromOffset (PHGSMIINSTANCE pIns, VBVACONTEXT *pCtx, cons
         }
     }
 
-    return ~0U;
+    return UINT32_C(~0);
 }
 
 #ifdef DEBUG_sunlover
@@ -753,7 +840,7 @@ static void dumpctx(const VBVACONTEXT *pCtx)
 
         Log(("                  VBVA o 0x%x p %p\n",
               pView->u32VBVAOffset,
-              pView->pVBVA));
+              pView->vbva.guest.pVBVA));
 
         Log(("                  PR cb 0x%x p %p\n",
               pView->partialRecord.cb,
@@ -879,14 +966,14 @@ static void vbvaVHWACommandPend(PVGASTATE pVGAState, PVBOXVHWACMD pCommand)
                 return;
             }
             PDMCritSectLeave(&pVGAState->CritSect);
-            LogRel(("Pending command count has reached its threshold.. completing them all.."));
+            LogRel(("VBVA: Pending command count has reached its threshold.. completing them all.."));
             RTMemFree(pPend);
         }
         else
             rc = VERR_NO_MEMORY;
     }
     else
-        LogRel(("Pending command count has reached its threshold, completing them all.."));
+        LogRel(("VBVA: Pending command count has reached its threshold, completing them all.."));
 
     vbvaVHWACommandCompleteAllPending(pVGAState, rc);
 
@@ -1554,15 +1641,15 @@ int vboxVBVASaveDevStateExec (PVGASTATE pVGAState, PSSMHANDLE pSSM)
                 rc = SSMR3PutU16 (pSSM, pView->screen.u16Flags);
                 AssertRCReturn(rc, rc);
 
-                rc = SSMR3PutU32 (pSSM, pView->pVBVA? pView->u32VBVAOffset: HGSMIOFFSET_VOID);
+                rc = SSMR3PutU32 (pSSM, pView->vbva.guest.pVBVA? pView->vbva.u32VBVAOffset: HGSMIOFFSET_VOID);
                 AssertRCReturn(rc, rc);
 
-                rc = SSMR3PutU32 (pSSM, pView->partialRecord.cb);
+                rc = SSMR3PutU32 (pSSM, pView->vbva.partialRecord.cb);
                 AssertRCReturn(rc, rc);
 
-                if (pView->partialRecord.cb > 0)
+                if (pView->vbva.partialRecord.cb > 0)
                 {
-                    rc = SSMR3PutMem (pSSM, pView->partialRecord.pu8, pView->partialRecord.cb);
+                    rc = SSMR3PutMem (pSSM, pView->vbva.partialRecord.pu8, pView->vbva.partialRecord.cb);
                     AssertRCReturn(rc, rc);
                 }
             }
@@ -1740,40 +1827,40 @@ int vboxVBVALoadStateExec (PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32_t u32Vers
                 rc = SSMR3GetU16 (pSSM, &pView->screen.u16Flags);
                 AssertRCReturn(rc, rc);
 
-                rc = SSMR3GetU32 (pSSM, &pView->u32VBVAOffset);
+                rc = SSMR3GetU32 (pSSM, &pView->vbva.u32VBVAOffset);
                 AssertRCReturn(rc, rc);
 
-                rc = SSMR3GetU32 (pSSM, &pView->partialRecord.cb);
+                rc = SSMR3GetU32 (pSSM, &pView->vbva.partialRecord.cb);
                 AssertRCReturn(rc, rc);
 
-                if (pView->partialRecord.cb == 0)
+                if (pView->vbva.partialRecord.cb == 0)
                 {
-                    pView->partialRecord.pu8 = NULL;
+                    pView->vbva.partialRecord.pu8 = NULL;
                 }
                 else
                 {
-                    Assert(pView->partialRecord.pu8 == NULL); /* Should be it. */
+                    Assert(pView->vbva.partialRecord.pu8 == NULL); /* Should be it. */
 
-                    uint8_t *pu8 = (uint8_t *)RTMemAlloc (pView->partialRecord.cb);
+                    uint8_t *pu8 = (uint8_t *)RTMemAlloc(pView->vbva.partialRecord.cb);
 
                     if (!pu8)
                     {
                         return VERR_NO_MEMORY;
                     }
 
-                    pView->partialRecord.pu8 = pu8;
+                    pView->vbva.partialRecord.pu8 = pu8;
 
-                    rc = SSMR3GetMem (pSSM, pView->partialRecord.pu8, pView->partialRecord.cb);
+                    rc = SSMR3GetMem (pSSM, pView->vbva.partialRecord.pu8, pView->vbva.partialRecord.cb);
                     AssertRCReturn(rc, rc);
                 }
 
-                if (pView->u32VBVAOffset == HGSMIOFFSET_VOID)
+                if (pView->vbva.u32VBVAOffset == HGSMIOFFSET_VOID)
                 {
-                    pView->pVBVA = NULL;
+                    pView->vbva.guest.pVBVA = NULL;
                 }
                 else
                 {
-                    pView->pVBVA = (VBVABUFFER *)HGSMIOffsetToPointerHost (pIns, pView->u32VBVAOffset);
+                    pView->vbva.guest.pVBVA = (VBVABUFFER *)HGSMIOffsetToPointerHost(pIns, pView->vbva.u32VBVAOffset);
                 }
             }
 
@@ -1904,7 +1991,7 @@ int vboxVBVALoadStateExec (PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32_t u32Vers
 
                     if (u32 != VBOXVBVASAVEDSTATE_VHWAUNAVAILABLE_MAGIC)
                     {
-                        LogRel(("2D data while 2D is not supported\n"));
+                        LogRel(("VBVA: 2D data while 2D is not supported\n"));
                         return VERR_NOT_SUPPORTED;
                     }
                 }
@@ -1916,7 +2003,7 @@ int vboxVBVALoadStateExec (PPDMDEVINS pDevIns, PSSMHANDLE pSSM, uint32_t u32Vers
 
                     if (u32)
                     {
-                        LogRel(("2D pending command while 2D is not supported\n"));
+                        LogRel(("VBVA: 2D pending command while 2D is not supported\n"));
                         return VERR_NOT_SUPPORTED;
                     }
                 }
@@ -1944,19 +2031,19 @@ int vboxVBVALoadStateDone (PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
         {
             VBVAVIEW *pView = &pCtx->aViews[iView];
 
-            if (pView->pVBVA)
+            if (pView->vbva.guest.pVBVA)
             {
 #ifdef VBOX_WITH_CRHGSMI
                 Assert(!vboxCmdVBVAIsEnabled(pVGAState));
 #endif
-                vbvaEnable (iView, pVGAState, pCtx, pView->pVBVA, pView->u32VBVAOffset, true /* fRestored */);
+                vbvaEnable (iView, pVGAState, pCtx, pView->vbva.guest.pVBVA, pView->vbva.u32VBVAOffset, true /* fRestored */);
                 vbvaResize (pVGAState, pView, &pView->screen);
             }
         }
 
         if (pCtx->mouseShapeInfo.fSet)
         {
-            vbvaUpdateMousePointerShape(pVGAState, &pCtx->mouseShapeInfo, true, pCtx->mouseShapeInfo.pu8Shape);
+            vbvaUpdateMousePointerShape(pVGAState, &pCtx->mouseShapeInfo, true);
         }
     }
 
@@ -1966,12 +2053,12 @@ int vboxVBVALoadStateDone (PPDMDEVINS pDevIns, PSSMHANDLE pSSM)
 void VBVARaiseIrq (PVGASTATE pVGAState, uint32_t fFlags)
 {
     PPDMDEVINS pDevIns = pVGAState->pDevInsR3;
-    PDMCritSectEnter(&pVGAState->CritSect, VERR_SEM_BUSY);
 
+    PDMCritSectEnter(&pVGAState->CritSect, VERR_SEM_BUSY);
     HGSMISetHostGuestFlags(pVGAState->pHGSMI, HGSMIHOSTFLAGS_IRQ | fFlags);
-    PDMDevHlpPCISetIrq(pDevIns, 0, PDM_IRQ_LEVEL_HIGH);
-
     PDMCritSectLeave(&pVGAState->CritSect);
+
+    PDMDevHlpPCISetIrq(pDevIns, 0, PDM_IRQ_LEVEL_HIGH);
 }
 
 static DECLCALLBACK(int) vbvaRaiseIrqEMT(PVGASTATE pVGAState, uint32_t fFlags)
@@ -1990,68 +2077,159 @@ void VBVARaiseIrqNoWait(PVGASTATE pVGAState, uint32_t fFlags)
     VMR3ReqCallNoWait(PDMDevHlpGetVM(pVGAState->pDevInsR3), VMCPUID_ANY, (PFNRT)vbvaRaiseIrqEMT, 2, pVGAState, fFlags);
 }
 
+static int vbvaHandleQueryConf32(PVGASTATE pVGAState, VBVACONF32 *pConf32)
+{
+    int rc = VINF_SUCCESS;
+    PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
+    VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
+
+    const uint32_t u32Index = pConf32->u32Index;
+
+    LogFlowFunc(("VBVA_QUERY_CONF32: u32Index %d, u32Value 0x%x\n",
+                 u32Index, pConf32->u32Value));
+
+    if (u32Index == VBOX_VBVA_CONF32_MONITOR_COUNT)
+    {
+        pConf32->u32Value = pCtx->cViews;
+    }
+    else if (u32Index == VBOX_VBVA_CONF32_HOST_HEAP_SIZE)
+    {
+        /* @todo a value calculated from the vram size */
+        pConf32->u32Value = 64*_1K;
+    }
+    else if (   u32Index == VBOX_VBVA_CONF32_MODE_HINT_REPORTING
+             || u32Index == VBOX_VBVA_CONF32_GUEST_CURSOR_REPORTING)
+    {
+        pConf32->u32Value = VINF_SUCCESS;
+    }
+    else if (u32Index == VBOX_VBVA_CONF32_CURSOR_CAPABILITIES)
+    {
+        pConf32->u32Value = pVGAState->fHostCursorCapabilities;
+    }
+    else if (u32Index == VBOX_VBVA_CONF32_SCREEN_FLAGS)
+    {
+        pConf32->u32Value = VBVA_SCREEN_F_ACTIVE | VBVA_SCREEN_F_DISABLED | VBVA_SCREEN_F_BLANK;
+    }
+    else if (u32Index == VBOX_VBVA_CONF32_MAX_RECORD_SIZE)
+    {
+        pConf32->u32Value = VBVA_MAX_RECORD_SIZE;
+    }
+    else
+    {
+        Log(("Unsupported VBVA_QUERY_CONF32 index %d!!!\n",
+             u32Index));
+        rc = VERR_INVALID_PARAMETER;
+    }
+
+    return rc;
+}
+
+static int vbvaHandleSetConf32(PVGASTATE pVGAState, VBVACONF32 *pConf32)
+{
+    NOREF(pVGAState);
+
+    int rc = VINF_SUCCESS;
+    const VBVACONF32 parms = *pConf32;
+
+    LogFlowFunc(("VBVA_SET_CONF32: u32Index %d, u32Value 0x%x\n",
+                 parms.u32Index, parms.u32Value));
+
+    if (parms.u32Index == VBOX_VBVA_CONF32_MONITOR_COUNT)
+    {
+        /* do nothing. this is a const. */
+    }
+    else if (parms.u32Index == VBOX_VBVA_CONF32_HOST_HEAP_SIZE)
+    {
+        /* do nothing. this is a const. */
+    }
+    else
+    {
+        Log(("Unsupported VBVA_SET_CONF32 index %d!!!\n",
+             parms.u32Index));
+        rc = VERR_INVALID_PARAMETER;
+    }
+
+    return rc;
+}
+
+static int vbvaHandleInfoHeap(PVGASTATE pVGAState, const VBVAINFOHEAP *pInfoHeap)
+{
+    PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
+
+    const VBVAINFOHEAP parms = *pInfoHeap;
+    LogFlowFunc(("VBVA_INFO_HEAP: offset 0x%x, size 0x%x\n",
+                 parms.u32HeapOffset, parms.u32HeapSize));
+
+    return HGSMIHostHeapSetup(pIns, parms.u32HeapOffset, parms.u32HeapSize);
+}
+
 int VBVAInfoView(PVGASTATE pVGAState, const VBVAINFOVIEW *pView)
 {
+    const VBVAINFOVIEW view = *pView;
+
     LogFlowFunc(("VBVA_INFO_VIEW: u32ViewIndex %d, u32ViewOffset 0x%x, u32ViewSize 0x%x, u32MaxScreenSize 0x%x\n",
-                 pView->u32ViewIndex, pView->u32ViewOffset, pView->u32ViewSize, pView->u32MaxScreenSize));
+                 view.u32ViewIndex, view.u32ViewOffset, view.u32ViewSize, view.u32MaxScreenSize));
 
     PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
     VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
 
-    if (   pView->u32ViewIndex < pCtx->cViews
-        && pView->u32ViewOffset <= pVGAState->vram_size
-        && pView->u32ViewSize <= pVGAState->vram_size
-        && pView->u32ViewOffset <= pVGAState->vram_size - pView->u32ViewSize
-        && pView->u32MaxScreenSize <= pView->u32ViewSize)
+    if (   view.u32ViewIndex < pCtx->cViews
+        && view.u32ViewOffset <= pVGAState->vram_size
+        && view.u32ViewSize <= pVGAState->vram_size
+        && view.u32ViewOffset <= pVGAState->vram_size - view.u32ViewSize
+        && view.u32MaxScreenSize <= view.u32ViewSize)
     {
-        pCtx->aViews[pView->u32ViewIndex].view = *pView;
+        pCtx->aViews[view.u32ViewIndex].view = view;
         return VINF_SUCCESS;
     }
 
-    LogRelFlow(("VBVA_INFO_VIEW: invalid data: index %d(%d), offset 0x%x, size 0x%x, max 0x%x, vram size 0x%x\n",
-                pView->u32ViewIndex, pCtx->cViews, pView->u32ViewOffset, pView->u32ViewSize,
-                pView->u32MaxScreenSize, pVGAState->vram_size));
+    LogRelFlow(("VBVA: InfoView: invalid data! index %d(%d), offset 0x%x, size 0x%x, max 0x%x, vram size 0x%x\n",
+                view.u32ViewIndex, pCtx->cViews, view.u32ViewOffset, view.u32ViewSize,
+                view.u32MaxScreenSize, pVGAState->vram_size));
     return VERR_INVALID_PARAMETER;
 }
 
 int VBVAInfoScreen(PVGASTATE pVGAState, const VBVAINFOSCREEN *pScreen)
 {
-    LogRel(("VBVA_INFO_SCREEN: [%d] @%d,%d %dx%d, line 0x%x, BPP %d, flags 0x%x\n",
-            pScreen->u32ViewIndex, pScreen->i32OriginX, pScreen->i32OriginY,
-            pScreen->u32Width, pScreen->u32Height,
-            pScreen->u32LineSize, pScreen->u16BitsPerPixel, pScreen->u16Flags));
+    const VBVAINFOSCREEN screen = *pScreen;
+
+    LogRel(("VBVA: InfoScreen: [%d] @%d,%d %dx%d, line 0x%x, BPP %d, flags 0x%x\n",
+            screen.u32ViewIndex, screen.i32OriginX, screen.i32OriginY,
+            screen.u32Width, screen.u32Height,
+            screen.u32LineSize, screen.u16BitsPerPixel, screen.u16Flags));
 
     PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
     VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
 
-    /* Allow pScreen->u16BitsPerPixel == 0 because legacy guest code used it for screen blanking. */
-    if (   pScreen->u32ViewIndex < pCtx->cViews
-        && pScreen->u16BitsPerPixel <= 32
-        && pScreen->u32Width <= UINT16_MAX
-        && pScreen->u32Height <= UINT16_MAX
-        && pScreen->u32LineSize <= UINT16_MAX * 4)
+    /* Allow screen.u16BitsPerPixel == 0 because legacy guest code used it for screen blanking. */
+    if (   screen.u32ViewIndex < pCtx->cViews
+        && screen.u16BitsPerPixel <= 32
+        && screen.u32Width <= UINT16_MAX
+        && screen.u32Height <= UINT16_MAX
+        && screen.u32LineSize <= UINT16_MAX * 4)
     {
-        const VBVAINFOVIEW *pView = &pCtx->aViews[pScreen->u32ViewIndex].view;
-        const uint32_t u32BytesPerPixel = (pScreen->u16BitsPerPixel + 7) / 8;
-        if (pScreen->u32Width <= pScreen->u32LineSize / (u32BytesPerPixel? u32BytesPerPixel: 1))
+        const VBVAINFOVIEW *pView = &pCtx->aViews[screen.u32ViewIndex].view;
+        const uint32_t u32BytesPerPixel = (screen.u16BitsPerPixel + 7) / 8;
+        if (screen.u32Width <= screen.u32LineSize / (u32BytesPerPixel? u32BytesPerPixel: 1))
         {
-            const uint64_t u64ScreenSize = (uint64_t)pScreen->u32LineSize * pScreen->u32Height;
-            if (   pScreen->u32StartOffset <= pView->u32ViewSize
+            const uint64_t u64ScreenSize = (uint64_t)screen.u32LineSize * screen.u32Height;
+            if (   screen.u32StartOffset <= pView->u32ViewSize
                 && u64ScreenSize <= pView->u32MaxScreenSize
-                && pScreen->u32StartOffset <= pView->u32ViewSize - (uint32_t)u64ScreenSize)
+                && screen.u32StartOffset <= pView->u32ViewSize - (uint32_t)u64ScreenSize)
             {
-                vbvaResize(pVGAState, &pCtx->aViews[pScreen->u32ViewIndex], pScreen);
+                vbvaResize(pVGAState, &pCtx->aViews[screen.u32ViewIndex], &screen);
                 return VINF_SUCCESS;
             }
 
-            LogRelFlow(("VBVA_INFO_SCREEN: invalid data: size 0x%RX64, max 0x%RX32\n",
+            /** @todo why not use "%#RX" instead of "0x%RX"? */
+            LogRelFlow(("VBVA: InfoScreen: invalid data! size 0x%RX64, max 0x%RX32\n",
                         u64ScreenSize, pView->u32MaxScreenSize));
         }
     }
     else
     {
-        LogRelFlow(("VBVA_INFO_SCREEN: invalid data: index %RU32(%RU32)\n",
-                     pScreen->u32ViewIndex, pCtx->cViews));
+        LogRelFlow(("VBVA: InfoScreen: invalid data! index %RU32(%RU32)\n", screen.u32ViewIndex,
+                    pCtx->cViews));
     }
 
     return VERR_INVALID_PARAMETER;
@@ -2074,6 +2252,121 @@ int VBVAGetInfoViewAndScreen(PVGASTATE pVGAState, uint32_t u32ViewIndex, VBVAINF
     return VINF_SUCCESS;
 }
 
+static int vbvaHandleEnable(PVGASTATE pVGAState, const VBVAENABLE *pVbvaEnable, uint32_t u32ScreenId)
+{
+    int rc = VINF_SUCCESS;
+    PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
+    VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
+
+    if (u32ScreenId > pCtx->cViews)
+    {
+        return VERR_INVALID_PARAMETER;
+    }
+
+    const VBVAENABLE parms = *pVbvaEnable;
+
+    LogFlowFunc(("VBVA_ENABLE[%d]: u32Flags 0x%x u32Offset 0x%x\n",
+                 u32ScreenId, parms.u32Flags, parms.u32Offset));
+
+    if ((parms.u32Flags & (VBVA_F_ENABLE | VBVA_F_DISABLE)) == VBVA_F_ENABLE)
+    {
+        uint32_t u32Offset = parms.u32Offset;
+        if (u32Offset < pVGAState->vram_size)
+        {
+            /* Guest reported offset either absolute or relative to view. */
+            if (parms.u32Flags & VBVA_F_ABSOFFSET)
+            {
+                /* Offset from VRAM start. */
+                if (   pVGAState->vram_size < RT_UOFFSETOF(VBVABUFFER, au8Data)
+                    || u32Offset > pVGAState->vram_size - RT_UOFFSETOF(VBVABUFFER, au8Data))
+                {
+                    rc = VERR_INVALID_PARAMETER;
+                }
+            }
+            else
+            {
+                /* Offset from the view start. */
+                const VBVAINFOVIEW *pView = &pCtx->aViews[u32ScreenId].view;
+                if (   pVGAState->vram_size - u32Offset < pView->u32ViewOffset
+                    || pView->u32ViewSize < RT_UOFFSETOF(VBVABUFFER, au8Data)
+                    || u32Offset > pView->u32ViewSize - RT_UOFFSETOF(VBVABUFFER, au8Data))
+                {
+                    rc = VERR_INVALID_PARAMETER;
+                }
+                else
+                {
+                    u32Offset += pView->u32ViewOffset;
+                }
+            }
+        }
+        else
+        {
+            rc = VERR_INVALID_PARAMETER;
+        }
+
+        if (RT_SUCCESS(rc))
+        {
+            VBVABUFFER *pVBVA = (VBVABUFFER *)HGSMIOffsetToPointerHost(pIns, u32Offset);
+            if (pVBVA)
+            {
+                /* Process any pending orders and empty the VBVA ring buffer. */
+                vbvaFlush(pVGAState, pCtx);
+
+                rc = vbvaEnable(u32ScreenId, pVGAState, pCtx, pVBVA, u32Offset, false /* fRestored */);
+            }
+            else
+            {
+                Log(("Invalid VBVABUFFER offset 0x%x!!!\n",
+                     parms.u32Offset));
+                rc = VERR_INVALID_PARAMETER;
+            }
+        }
+    }
+    else if ((parms.u32Flags & (VBVA_F_ENABLE | VBVA_F_DISABLE)) == VBVA_F_DISABLE)
+    {
+        rc = vbvaDisable(u32ScreenId, pVGAState, pCtx);
+    }
+    else
+    {
+        Log(("Invalid VBVA_ENABLE flags 0x%x!!!\n",
+             parms.u32Flags));
+        rc = VERR_INVALID_PARAMETER;
+    }
+
+    return rc;
+}
+
+static int vbvaHandleQueryModeHints(PVGASTATE pVGAState, const VBVAQUERYMODEHINTS *pQueryModeHints, HGSMISIZE cbBuffer)
+{
+    PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
+    VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
+
+    const VBVAQUERYMODEHINTS parms = *pQueryModeHints;
+
+    LogRelFlowFunc(("VBVA: HandleQueryModeHints: cHintsQueried=%RU16, cbHintStructureGuest=%RU16\n",
+                    parms.cHintsQueried, parms.cbHintStructureGuest));
+
+    if (cbBuffer <   sizeof(VBVAQUERYMODEHINTS)
+                   + (uint64_t)parms.cHintsQueried * parms.cbHintStructureGuest)
+    {
+        return VERR_INVALID_PARAMETER;
+    }
+
+    uint8_t *pbHint = (uint8_t *)pQueryModeHints + sizeof(VBVAQUERYMODEHINTS);
+    memset(pbHint, ~0, cbBuffer - sizeof(VBVAQUERYMODEHINTS));
+
+    unsigned iHint;
+    for (iHint = 0;    iHint < parms.cHintsQueried
+                    && iHint < VBOX_VIDEO_MAX_SCREENS; ++iHint)
+    {
+        memcpy(pbHint, &pCtx->aModeHints[iHint],
+               RT_MIN(parms.cbHintStructureGuest, sizeof(VBVAMODEHINT)));
+        pbHint += parms.cbHintStructureGuest;
+        Assert(pbHint - (uint8_t *)pQueryModeHints <= cbBuffer);
+    }
+
+    return VINF_SUCCESS;
+}
 
 /*
  *
@@ -2097,145 +2390,99 @@ static DECLCALLBACK(void) vbvaNotifyGuest (void *pvCallback)
 #endif
 }
 
-/* The guest submitted a buffer. @todo Verify all guest data. */
-static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16ChannelInfo, void *pvBuffer, HGSMISIZE cbBuffer)
+/** The guest submitted a command buffer. Verify the buffer size and invoke corresponding handler.
+ *
+ * @return VBox status.
+ * @param pvHandler      The VBVA channel context.
+ * @param u16ChannelInfo Command code.
+ * @param pvBuffer       HGSMI buffer with command data.
+ * @param cbBuffer       Size of command data.
+ */
+static DECLCALLBACK(int) vbvaChannelHandler(void *pvHandler, uint16_t u16ChannelInfo, void *pvBuffer, HGSMISIZE cbBuffer)
 {
     int rc = VINF_SUCCESS;
 
     LogFlowFunc(("pvHandler %p, u16ChannelInfo %d, pvBuffer %p, cbBuffer %u\n",
-            pvHandler, u16ChannelInfo, pvBuffer, cbBuffer));
+                 pvHandler, u16ChannelInfo, pvBuffer, cbBuffer));
 
     PVGASTATE pVGAState = (PVGASTATE)pvHandler;
     PHGSMIINSTANCE pIns = pVGAState->pHGSMI;
-    VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext (pIns);
+    VBVACONTEXT *pCtx = (VBVACONTEXT *)HGSMIContext(pIns);
 
     switch (u16ChannelInfo)
     {
+#ifdef VBOX_WITH_CRHGSMI
         case VBVA_CMDVBVA_SUBMIT:
         {
-# ifdef VBOX_WITH_CRHGSMI
             rc = vboxCmdVBVACmdSubmit(pVGAState);
-#endif
-            break;
-        }
+        } break;
+
         case VBVA_CMDVBVA_FLUSH:
         {
-# ifdef VBOX_WITH_CRHGSMI
-            rc =vboxCmdVBVACmdFlush(pVGAState);
-#endif
-            break;
-        }
+            rc = vboxCmdVBVACmdFlush(pVGAState);
+        } break;
+
         case VBVA_CMDVBVA_CTL:
         {
-#ifdef VBOX_WITH_CRHGSMI
-            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof (VBOXCMDVBVA_CTL))
+            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof(VBOXCMDVBVA_CTL))
             {
-                Log(("buffer too small\n"));
-#ifdef DEBUG_misha
-                AssertMsgFailed(("buffer too small\n"));
-#endif
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
+
             VBOXCMDVBVA_CTL *pCtl = (VBOXCMDVBVA_CTL*)VBoxSHGSMIBufferData((PVBOXSHGSMIHEADER)pvBuffer);
             rc = vboxCmdVBVACmdCtl(pVGAState, pCtl, cbBuffer - VBoxSHGSMIBufferHeaderSize());
-#endif
-            break;
-        }
+        } break;
+#endif /* VBOX_WITH_CRHGSMI */
+
 #ifdef VBOX_WITH_VDMA
         case VBVA_VDMA_CMD:
         {
-            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof (VBOXVDMACBUF_DR))
+            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof(VBOXVDMACBUF_DR))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-            PVBOXVDMACBUF_DR pCmd = (PVBOXVDMACBUF_DR)VBoxSHGSMIBufferData ((PVBOXSHGSMIHEADER)pvBuffer);
+
+            PVBOXVDMACBUF_DR pCmd = (PVBOXVDMACBUF_DR)VBoxSHGSMIBufferData((PVBOXSHGSMIHEADER)pvBuffer);
             vboxVDMACommand(pVGAState->pVdma, pCmd, cbBuffer - VBoxSHGSMIBufferHeaderSize());
-            rc = VINF_SUCCESS;
-            break;
-        }
+        } break;
+
         case VBVA_VDMA_CTL:
         {
-            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof (VBOXVDMA_CTL))
+            if (cbBuffer < VBoxSHGSMIBufferHeaderSize() + sizeof(VBOXVDMA_CTL))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-            PVBOXVDMA_CTL pCmd = (PVBOXVDMA_CTL)VBoxSHGSMIBufferData ((PVBOXSHGSMIHEADER)pvBuffer);
+
+            PVBOXVDMA_CTL pCmd = (PVBOXVDMA_CTL)VBoxSHGSMIBufferData((PVBOXSHGSMIHEADER)pvBuffer);
             vboxVDMAControl(pVGAState->pVdma, pCmd, cbBuffer - VBoxSHGSMIBufferHeaderSize());
-            rc = VINF_SUCCESS;
-            break;
-        }
-#endif
+        } break;
+#endif /* VBOX_WITH_VDMA */
+
         case VBVA_QUERY_CONF32:
         {
-            if (cbBuffer < sizeof (VBVACONF32))
+            if (cbBuffer < sizeof(VBVACONF32))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
             VBVACONF32 *pConf32 = (VBVACONF32 *)pvBuffer;
-            LogFlowFunc(("VBVA_QUERY_CONF32: u32Index %d, u32Value 0x%x\n",
-                         pConf32->u32Index, pConf32->u32Value));
-
-            if (pConf32->u32Index == VBOX_VBVA_CONF32_MONITOR_COUNT)
-            {
-                pConf32->u32Value = pCtx->cViews;
-            }
-            else if (pConf32->u32Index == VBOX_VBVA_CONF32_HOST_HEAP_SIZE)
-            {
-                /* @todo a value calculated from the vram size */
-                pConf32->u32Value = 64*_1K;
-            }
-            else if (   pConf32->u32Index == VBOX_VBVA_CONF32_MODE_HINT_REPORTING
-                     || pConf32->u32Index == VBOX_VBVA_CONF32_GUEST_CURSOR_REPORTING)
-            {
-                pConf32->u32Value = VINF_SUCCESS;
-            }
-            else if (pConf32->u32Index == VBOX_VBVA_CONF32_CURSOR_CAPABILITIES)
-            {
-                pConf32->u32Value = pVGAState->fHostCursorCapabilities;
-            }
-            else if (pConf32->u32Index == VBOX_VBVA_CONF32_SCREEN_FLAGS)
-            {
-                pConf32->u32Value = VBVA_SCREEN_F_ACTIVE | VBVA_SCREEN_F_DISABLED | VBVA_SCREEN_F_BLANK;
-            }
-            else
-            {
-                Log(("Unsupported VBVA_QUERY_CONF32 index %d!!!\n",
-                     pConf32->u32Index));
-                rc = VERR_INVALID_PARAMETER;
-            }
+            rc = vbvaHandleQueryConf32(pVGAState, pConf32);
         } break;
 
         case VBVA_SET_CONF32:
         {
-            if (cbBuffer < sizeof (VBVACONF32))
+            if (cbBuffer < sizeof(VBVACONF32))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
             VBVACONF32 *pConf32 = (VBVACONF32 *)pvBuffer;
-            LogFlowFunc(("VBVA_SET_CONF32: u32Index %d, u32Value 0x%x\n",
-                         pConf32->u32Index, pConf32->u32Value));
-
-            if (pConf32->u32Index == VBOX_VBVA_CONF32_MONITOR_COUNT)
-            {
-                /* do nothing. this is a const. */
-            }
-            else if (pConf32->u32Index == VBOX_VBVA_CONF32_HOST_HEAP_SIZE)
-            {
-                /* do nothing. this is a const. */
-            }
-            else
-            {
-                Log(("Unsupported VBVA_SET_CONF32 index %d!!!\n",
-                     pConf32->u32Index));
-                rc = VERR_INVALID_PARAMETER;
-            }
+            rc = vbvaHandleSetConf32(pVGAState, pConf32);
         } break;
 
         case VBVA_INFO_VIEW:
@@ -2247,7 +2494,7 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-#endif
+#endif /* VBOX_WITH_CRHGSMI */
 
             /* Expect at least one VBVAINFOVIEW structure. */
             if (cbBuffer < sizeof(VBVAINFOVIEW))
@@ -2262,8 +2509,7 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                  cbBuffer >= sizeof(VBVAINFOVIEW);
                  ++pView, cbBuffer -= sizeof(VBVAINFOVIEW))
             {
-                VBVAINFOVIEW view = *pView;
-                rc = VBVAInfoView(pVGAState, &view);
+                rc = VBVAInfoView(pVGAState, pView);
                 if (RT_FAILURE(rc))
                     break;
             }
@@ -2271,32 +2517,26 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
 
         case VBVA_INFO_HEAP:
         {
-            if (cbBuffer < sizeof (VBVAINFOHEAP))
+            if (cbBuffer < sizeof(VBVAINFOHEAP))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
-            VBVAINFOHEAP *pHeap = (VBVAINFOHEAP *)pvBuffer;
-            LogFlowFunc(("VBVA_INFO_HEAP: offset 0x%x, size 0x%x\n",
-                         pHeap->u32HeapOffset, pHeap->u32HeapSize));
-
-            rc = HGSMIHostHeapSetup(pIns, pHeap->u32HeapOffset, pHeap->u32HeapSize);
+            const VBVAINFOHEAP *pInfoHeap = (VBVAINFOHEAP *)pvBuffer;
+            rc = vbvaHandleInfoHeap(pVGAState, pInfoHeap);
         } break;
 
         case VBVA_FLUSH:
         {
-            if (cbBuffer < sizeof (VBVAFLUSH))
+            if (cbBuffer < sizeof(VBVAFLUSH))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
-            VBVAFLUSH *pFlush = (VBVAFLUSH *)pvBuffer;
-            LogFlowFunc(("VBVA_FLUSH: u32Reserved 0x%x\n",
-                         pFlush->u32Reserved));
-
-            rc = vbvaFlush (pVGAState, pCtx);
+            // const VBVAFLUSH *pVbvaFlush = (VBVAFLUSH *)pvBuffer;
+            rc = vbvaFlush(pVGAState, pCtx);
         } break;
 
         case VBVA_INFO_SCREEN:
@@ -2308,7 +2548,7 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-#endif
+#endif /* VBOX_WITH_CRHGSMI */
 
             if (cbBuffer < sizeof(VBVAINFOSCREEN))
             {
@@ -2316,8 +2556,8 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                 break;
             }
 
-            VBVAINFOSCREEN Screen = *(VBVAINFOSCREEN *)pvBuffer;
-            rc = VBVAInfoScreen(pVGAState, &Screen);
+            const VBVAINFOSCREEN *pInfoScreen = (VBVAINFOSCREEN *)pvBuffer;
+            rc = VBVAInfoScreen(pVGAState, pInfoScreen);
         } break;
 
         case VBVA_ENABLE:
@@ -2329,99 +2569,49 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-#endif
+#endif /* VBOX_WITH_CRHGSMI */
 
-            if (cbBuffer < sizeof (VBVAENABLE))
+            if (cbBuffer < sizeof(VBVAENABLE))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
-            VBVAENABLE *pEnable = (VBVAENABLE *)pvBuffer;
-            unsigned uScreenId;
-            if (pEnable->u32Flags & VBVA_F_EXTENDED)
+            VBVAENABLE *pVbvaEnable = (VBVAENABLE *)pvBuffer;
+
+            uint32_t u32ScreenId;
+            const uint32_t u32Flags = pVbvaEnable->u32Flags;
+            if (u32Flags & VBVA_F_EXTENDED)
             {
-                if (cbBuffer < sizeof (VBVAENABLE_EX))
+                if (cbBuffer < sizeof(VBVAENABLE_EX))
                 {
                     rc = VERR_INVALID_PARAMETER;
                     break;
                 }
 
-                VBVAENABLE_EX *pEnableEx = (VBVAENABLE_EX *)pvBuffer;
-                uScreenId = pEnableEx->u32ScreenId;
+                const VBVAENABLE_EX *pEnableEx = (VBVAENABLE_EX *)pvBuffer;
+                u32ScreenId = pEnableEx->u32ScreenId;
             }
             else
             {
-                uScreenId = vbvaViewFromOffset (pIns, pCtx, pvBuffer);
+                u32ScreenId = vbvaViewFromBufferPtr(pIns, pCtx, pvBuffer);
             }
 
-            if (uScreenId == ~0U)
-            {
-                rc = VERR_INVALID_PARAMETER;
-                break;
-            }
-
-            LogFlowFunc(("VBVA_ENABLE[%d]: u32Flags 0x%x u32Offset 0x%x\n",
-                         uScreenId, pEnable->u32Flags, pEnable->u32Offset));
-
-            if ((pEnable->u32Flags & (VBVA_F_ENABLE | VBVA_F_DISABLE)) == VBVA_F_ENABLE)
-            {
-                /* Guest reported offset relative to view. */
-                uint32_t u32Offset = pEnable->u32Offset;
-                if (!(pEnable->u32Flags & VBVA_F_ABSOFFSET))
-                {
-                    u32Offset += pCtx->aViews[uScreenId].view.u32ViewOffset;
-                }
-
-                VBVABUFFER *pVBVA = (VBVABUFFER *)HGSMIOffsetToPointerHost (pIns, u32Offset);
-
-                if (pVBVA)
-                {
-                    /* Process any pending orders and empty the VBVA ring buffer. */
-                    vbvaFlush (pVGAState, pCtx);
-
-                    rc = vbvaEnable (uScreenId, pVGAState, pCtx, pVBVA, u32Offset, false /* fRestored */);
-                }
-                else
-                {
-                    Log(("Invalid VBVABUFFER offset 0x%x!!!\n",
-                         pEnable->u32Offset));
-                    rc = VERR_INVALID_PARAMETER;
-                }
-            }
-            else if ((pEnable->u32Flags & (VBVA_F_ENABLE | VBVA_F_DISABLE)) == VBVA_F_DISABLE)
-            {
-                rc = vbvaDisable (uScreenId, pVGAState, pCtx);
-            }
-            else
-            {
-                Log(("Invalid VBVA_ENABLE flags 0x%x!!!\n",
-                     pEnable->u32Flags));
-                rc = VERR_INVALID_PARAMETER;
-            }
+            rc = vbvaHandleEnable(pVGAState, pVbvaEnable, u32ScreenId);
 
-            pEnable->i32Result = rc;
+            pVbvaEnable->i32Result = rc;
         } break;
 
         case VBVA_MOUSE_POINTER_SHAPE:
         {
-            if (cbBuffer < sizeof (VBVAMOUSEPOINTERSHAPE))
+            if (cbBuffer < sizeof(VBVAMOUSEPOINTERSHAPE))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
 
             VBVAMOUSEPOINTERSHAPE *pShape = (VBVAMOUSEPOINTERSHAPE *)pvBuffer;
-
-            LogFlowFunc(("VBVA_MOUSE_POINTER_SHAPE: i32Result 0x%x, fu32Flags 0x%x, hot spot %d,%d, size %dx%d\n",
-                         pShape->i32Result,
-                         pShape->fu32Flags,
-                         pShape->u32HotX,
-                         pShape->u32HotY,
-                         pShape->u32Width,
-                         pShape->u32Height));
-
-            rc = vbvaMousePointerShape (pVGAState, pCtx, pShape, cbBuffer);
+            rc = vbvaMousePointerShape(pVGAState, pCtx, pShape, cbBuffer);
 
             pShape->i32Result = rc;
         } break;
@@ -2430,21 +2620,19 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
 #ifdef VBOX_WITH_VIDEOHWACCEL
         case VBVA_VHWA_CMD:
         {
-            if (cbBuffer < sizeof (VBOXVHWACMD))
+            if (cbBuffer < sizeof(VBOXVHWACMD))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
             vbvaVHWAHandleCommand(pVGAState, (PVBOXVHWACMD)pvBuffer);
-            rc = VINF_SUCCESS;
-            break;
         } break;
-#endif
+#endif /* VBOX_WITH_VIDEOHWACCEL */
 
 #ifdef VBOX_WITH_WDDM
         case VBVA_INFO_CAPS:
         {
-            if (cbBuffer < sizeof (VBVACAPS))
+            if (cbBuffer < sizeof(VBVACAPS))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
@@ -2453,13 +2641,14 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
             VBVACAPS *pCaps = (VBVACAPS*)pvBuffer;
             pVGAState->fGuestCaps = pCaps->fCaps;
             pVGAState->pDrv->pfnVBVAGuestCapabilityUpdate(pVGAState->pDrv,
-                                                          pCaps->fCaps);
+                                                          pVGAState->fGuestCaps);
             pCaps->rc = VINF_SUCCESS;
         } break;
-#endif
+#endif /* VBOX_WITH_WDDM */
+
         case VBVA_SCANLINE_CFG:
         {
-            if (cbBuffer < sizeof (VBVASCANLINECFG))
+            if (cbBuffer < sizeof(VBVASCANLINECFG))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
@@ -2477,61 +2666,41 @@ static DECLCALLBACK(int) vbvaChannelHandler (void *pvHandler, uint16_t u16Channe
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-            VBVAQUERYMODEHINTS *pModeHintQuery = (VBVAQUERYMODEHINTS*)pvBuffer;
-            LogRelFlowFunc(("VBVA_QUERY_MODE_HINTS: cHintsQueried=%u, cbHintStructureGuest=%u\n",
-                            (unsigned)pModeHintQuery->cHintsQueried,
-                            (unsigned)pModeHintQuery->cbHintStructureGuest));
-            if (cbBuffer <   sizeof (VBVAQUERYMODEHINTS)
-                           +   (uint64_t)pModeHintQuery->cHintsQueried
-                             * pModeHintQuery->cbHintStructureGuest)
-            {
-                pModeHintQuery->rc = VERR_INVALID_PARAMETER;
-                break;
-            }
-            pModeHintQuery->rc = VINF_SUCCESS;
-            uint8_t *pbHint = (uint8_t *)pvBuffer + sizeof(VBVAQUERYMODEHINTS);
-            memset(pbHint, ~0, cbBuffer - sizeof(VBVAQUERYMODEHINTS));
-            unsigned iHint;
-            for (iHint = 0;    iHint < pModeHintQuery->cHintsQueried
-                            && iHint < VBOX_VIDEO_MAX_SCREENS; ++iHint)
-            {
-                memcpy(pbHint, &pCtx->aModeHints[iHint],
-                       RT_MIN(pModeHintQuery->cbHintStructureGuest,
-                              sizeof(VBVAMODEHINT)));
-                pbHint += pModeHintQuery->cbHintStructureGuest;
-                Assert(pbHint - (uint8_t *)pvBuffer <= cbBuffer);
-            }
+
+            VBVAQUERYMODEHINTS *pQueryModeHints = (VBVAQUERYMODEHINTS*)pvBuffer;
+            rc = vbvaHandleQueryModeHints(pVGAState, pQueryModeHints, cbBuffer);
+            pQueryModeHints->rc = rc;
         } break;
 
         case VBVA_REPORT_INPUT_MAPPING:
         {
-            if (cbBuffer != sizeof(VBVAREPORTINPUTMAPPING))
+            if (cbBuffer < sizeof(VBVAREPORTINPUTMAPPING))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-            VBVAREPORTINPUTMAPPING *pReport = (VBVAREPORTINPUTMAPPING *)pvBuffer;
-            LogRelFlowFunc(("VBVA_REPORT_INPUT_MAPPING: x=%u, y=%u, cx=%u, cy=%u\n", (unsigned)pReport->x, (unsigned)pReport->y,
-                            (unsigned)pReport->cx, (unsigned)pReport->cy));
-            pVGAState->pDrv->pfnVBVAInputMappingUpdate(pVGAState->pDrv, pReport->x, pReport->y, pReport->cx, pReport->cy);
+
+            const VBVAREPORTINPUTMAPPING inputMapping = *(VBVAREPORTINPUTMAPPING *)pvBuffer;
+            LogRelFlowFunc(("VBVA: ChannelHandler: VBVA_REPORT_INPUT_MAPPING: x=%RI32, y=%RI32, cx=%RU32, cy=%RU32\n",
+                            inputMapping.x, inputMapping.y, inputMapping.cx, inputMapping.cy));
+            pVGAState->pDrv->pfnVBVAInputMappingUpdate(pVGAState->pDrv,
+                                                       inputMapping.x, inputMapping.y,
+                                                       inputMapping.cx, inputMapping.cy);
         } break;
 
         case VBVA_CURSOR_POSITION:
         {
-            if (cbBuffer != sizeof(VBVACURSORPOSITION))
+            if (cbBuffer < sizeof(VBVACURSORPOSITION))
             {
                 rc = VERR_INVALID_PARAMETER;
                 break;
             }
-            VBVACURSORPOSITION *pReport
-                = (VBVACURSORPOSITION *)pvBuffer;
-            LogRelFlowFunc(("VBVA_CURSOR_POSITION: fReportPosition=%RTbool",
-                            RT_BOOL(pReport->fReportPosition)));
-            if (RT_BOOL(pReport->fReportPosition))
-                LogRelFlowFunc(("VBVA_CURSOR_POSITION: fReportPosition=true, x=%u, y=%u\n",
-                               (unsigned)pReport->x, (unsigned)pReport->y));
-            else
-                LogRelFlowFunc(("VBVA_CURSOR_POSITION: fReportPosition=false\n"));
+
+            VBVACURSORPOSITION *pReport = (VBVACURSORPOSITION *)pvBuffer;
+
+            LogRelFlowFunc(("VBVA: ChannelHandler: VBVA_CURSOR_POSITION: fReportPosition=%RTbool, x=%RU32, y=%RU32\n",
+                            RT_BOOL(pReport->fReportPosition), pReport->x, pReport->y));
+
             pReport->x = pCtx->xCursor;
             pReport->y = pCtx->yCursor;
         } break;
@@ -2617,7 +2786,7 @@ int VBVAUpdateDisplay (PVGASTATE pVGAState)
 
             if (RT_SUCCESS (rc))
             {
-                if (!pCtx->aViews[0].pVBVA)
+                if (!pCtx->aViews[0].vbva.guest.pVBVA)
                 {
                     /* VBVA is not enabled for the first view, so VGA device must do updates. */
                     rc = VERR_NOT_SUPPORTED;
diff --git a/src/VBox/Devices/Makefile.kmk b/src/VBox/Devices/Makefile.kmk
index f635b04..c809d3c 100644
--- a/src/VBox/Devices/Makefile.kmk
+++ b/src/VBox/Devices/Makefile.kmk
@@ -25,9 +25,7 @@ endif
 
 # Include sub-makefiles.
 include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
-ifdef VBOX_WITH_PDM_AUDIO_DRIVER
- include $(PATH_SUB_CURRENT)/Audio/testcase/Makefile.kmk
-endif
+include $(PATH_SUB_CURRENT)/Audio/testcase/Makefile.kmk
 include $(PATH_SUB_CURRENT)/Input/testcase/Makefile.kmk
 if defined(VBOX_WITH_INTEL_PXE) || defined(VBOX_ONLY_EXTPACKS)
  include $(PATH_SUB_CURRENT)/PC/PXE/Makefile.kmk
@@ -521,120 +519,61 @@ if !defined(VBOX_ONLY_EXTPACKS)         # Goes on almost to the end of the file.
 
  # --- Audio bits. ---
 
- ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-  VBoxDD_DEFS            += VBOX_WITH_PDM_AUDIO_DRIVER
-  VBoxDD_SOURCES         += \
-	Audio/AudioMixBuffer.cpp \
-	Audio/AudioMixer.cpp \
-	Audio/DrvAudio.cpp \
-	Audio/DrvAudioCommon.cpp \
-	Audio/DrvHostNullAudio.cpp
-
-  ifeq ($(KBUILD_TARGET),darwin)
-   VBoxDD_SOURCES += \
-	Audio/DrvHostCoreAudio.cpp
-  endif
-
-  ifeq ($(KBUILD_TARGET),win)
-   VBoxDD_SOURCES += \
-	Audio/DrvHostDSound.cpp
-   VBoxDD_LIBS    += \
-	$(PATH_SDK_$(VBOX_WINDDK)_LIB)/dsound.lib
-  endif
-
-  ifeq ($(KBUILD_TARGET),linux)
-   VBoxDD_SOURCES += \
-		Audio/DrvHostOSSAudio.cpp
-
-   ifdef VBOX_WITH_PULSE
-    VBoxDD_DEFS    += VBOX_WITH_PULSE
-    VBoxDD_SOURCES += \
-	Audio/DrvHostPulseAudio.cpp \
-	Audio/pulse_stubs.c
-   endif
-
-   ifdef VBOX_WITH_ALSA
-    VBoxDD_DEFS    += VBOX_WITH_ALSA
-    VBoxDD_SOURCES += \
-		Audio/DrvHostALSAAudio.cpp \
-		Audio/alsa_stubs.c
-   endif
-  endif
-
-  ifeq ($(KBUILD_TARGET),freebsd)
-   VBoxDD_SOURCES  += \
-		Audio/DrvHostOSSAudio.cpp
-   ifdef VBOX_WITH_PULSE
-    VBoxDD_DEFS    += VBOX_WITH_PULSE
-    VBoxDD_SOURCES += \
-	Audio/DrvHostPulseAudio.cpp \
-	Audio/pulse_stubs.c
-   endif
-  endif
+ VBoxDD_SOURCES         += \
+   Audio/AudioMixBuffer.cpp \
+   Audio/AudioMixer.cpp \
+   Audio/DrvAudio.cpp \
+   Audio/DrvAudioCommon.cpp \
+   Audio/DrvHostNullAudio.cpp
 
-  ifeq ($(KBUILD_TARGET),solaris)
-   ifdef VBOX_WITH_SOLARIS_OSS
-    VBoxDD_SOURCES += Audio/DrvHostOSSAudio.cpp
-    VBoxDD_DEFS    += VBOX_WITH_SOLARIS_OSS
-   endif
-  endif
+ ifeq ($(KBUILD_TARGET),darwin)
+  VBoxDD_SOURCES += \
+   Audio/DrvHostCoreAudio.cpp
+ endif
 
- else # !VBOX_WITH_PDM_AUDIO_DRIVER
+ ifeq ($(KBUILD_TARGET),win)
+  VBoxDD_SOURCES += \
+   Audio/DrvHostDSound.cpp
+  VBoxDD_LIBS    += \
+   $(PATH_SDK_$(VBOX_WINDDK)_LIB)/dsound.lib
+ endif
 
+ ifeq ($(KBUILD_TARGET),linux)
   VBoxDD_SOURCES += \
- 	 Audio/audio.c \
- 	 Audio/audiosniffer.c \
- 	 Audio/noaudio.c \
- 	 Audio/filteraudio.c \
-	 Audio/mixeng.c
+   	Audio/DrvHostOSSAudio.cpp
 
-  ifeq ($(KBUILD_TARGET),win)
+  ifdef VBOX_WITH_PULSE
+   VBoxDD_DEFS    += VBOX_WITH_PULSE
    VBoxDD_SOURCES += \
-	Audio/dsoundaudio.c
+   Audio/DrvHostPulseAudio.cpp \
+   Audio/pulse_stubs.c
   endif
 
-  VBoxDD_SOURCES.darwin  += \
-  	Audio/coreaudio.c
-
-  ifeq ($(KBUILD_TARGET),solaris)
+  ifdef VBOX_WITH_ALSA
+   VBoxDD_DEFS    += VBOX_WITH_ALSA
    VBoxDD_SOURCES += \
- 	Audio/solaudio.c
-   ifdef VBOX_WITH_SOLARIS_OSS
-    VBoxDD_DEFS    += VBOX_WITH_SOLARIS_OSS
-    VBoxDD_SOURCES += \
-	Audio/ossaudio.c
-   endif
+   	Audio/DrvHostALSAAudio.cpp \
+   	Audio/alsa_stubs.c
   endif
+ endif
 
-  ifeq ($(KBUILD_TARGET),linux)
+ ifeq ($(KBUILD_TARGET),freebsd)
+  VBoxDD_SOURCES  += \
+   	Audio/DrvHostOSSAudio.cpp
+  ifdef VBOX_WITH_PULSE
+   VBoxDD_DEFS    += VBOX_WITH_PULSE
    VBoxDD_SOURCES += \
- 	  Audio/ossaudio.c
-   ifdef VBOX_WITH_PULSE
-    VBoxDD_DEFS    += VBOX_WITH_PULSE
-    VBoxDD_SOURCES += \
- 	  Audio/pulseaudio.c \
- 	  Audio/pulse_stubs.c
-   endif
-   ifdef VBOX_WITH_ALSA
-    VBoxDD_DEFS    += VBOX_WITH_ALSA
-    VBoxDD_SOURCES += \
- 	  Audio/alsaaudio.c \
- 	  Audio/alsa_stubs.c
-   endif
+   Audio/DrvHostPulseAudio.cpp \
+   Audio/pulse_stubs.c
   endif
+ endif
 
-  ifeq ($(KBUILD_TARGET),freebsd)
-   VBoxDD_SOURCES += \
- 	  Audio/ossaudio.c
-   ifdef VBOX_WITH_PULSE
-    VBoxDD_DEFS    += VBOX_WITH_PULSE
-    VBoxDD_SOURCES += \
- 	  Audio/pulseaudio.c \
- 	  Audio/pulse_stubs.c
-   endif
+ ifeq ($(KBUILD_TARGET),solaris)
+  ifdef VBOX_WITH_SOLARIS_OSS
+   VBoxDD_SOURCES += Audio/DrvHostOSSAudio.cpp
+   VBoxDD_DEFS    += VBOX_WITH_SOLARIS_OSS
   endif
-
- endif # !VBOX_WITH_PDM_AUDIO_DRIVER
+ endif
 
  # --- WARNING! SLIRP MESS AHEAD! ;-) ---
  VBOX_SLIRP_SOURCES = \
diff --git a/src/VBox/Devices/Network/DevE1000.cpp b/src/VBox/Devices/Network/DevE1000.cpp
index a877b5c..d9fb47b 100644
--- a/src/VBox/Devices/Network/DevE1000.cpp
+++ b/src/VBox/Devices/Network/DevE1000.cpp
@@ -172,7 +172,7 @@
 #  define E1kLog(a)               Log(a)
 #  define E1kLog2(a)              Log2(a)
 #  define E1kLog3(a)              Log3(a)
-#  define E1kLogX(x, a)           LogIt(LOG_INSTANCE, x, LOG_GROUP, a)
+#  define E1kLogX(x, a)           LogIt(x, LOG_GROUP, a)
 //#  define E1kLog(a)               do {} while (0)
 //#  define E1kLog2(a)              do {} while (0)
 //#  define E1kLog3(a)              do {} while (0)
diff --git a/src/VBox/Devices/Network/DevPCNet.cpp b/src/VBox/Devices/Network/DevPCNet.cpp
index 24613f6..96503d3 100644
--- a/src/VBox/Devices/Network/DevPCNet.cpp
+++ b/src/VBox/Devices/Network/DevPCNet.cpp
@@ -384,6 +384,7 @@ typedef struct PCNETSTATE
     uint8_t                             Alignment4[HC_ARCH_BITS == 64 ? 2 : 6];
 
 #ifdef PCNET_NO_POLLING
+    PGMPHYSHANDLERTYPE                  hNoPollingHandlerType;
     RTGCPHYS32                          TDRAPhysOld;
     uint32_t                            cbTDRAOld;
 
@@ -630,13 +631,15 @@ AssertCompileSize(RMD, 16);
         (R)->rmd2.rcc, (R)->rmd2.rpc, (R)->rmd2.mcnt,   \
         (R)->rmd2.zeros))
 
+#ifndef PCNET_NO_POLLING
 static void pcnetPollTimerStart(PPCNETSTATE pThis);
+#endif
 static int  pcnetXmitPending(PPCNETSTATE pThis, bool fOnWorkerThread);
 #ifdef PCNET_NO_POLLING
-PGM_ALL_CB_DECL(FNPGMPHYSHANDLER)           pcnetHandleRingWrite;
+PGM_ALL_CB_DECL(FNPGMPHYSHANDLER)   pcnetHandleRingWrite;
 # ifndef IN_RING3
 RT_C_DECLS_BEGIN
-DECLEXPORT(CTX_SUFF(FNPGM,PHYSPFHANDLER))   pcnetHandleRingWritePf;
+DECLEXPORT(FNPGMRZPHYSPFHANDLER)    pcnetHandleRingWritePf;
 RT_C_DECLS_END
 # endif
 #endif
@@ -1099,16 +1102,10 @@ static int      pcnetBCRWriteU16(PPCNETSTATE pThis, uint32_t u32RAP, uint32_t va
 
 # ifndef IN_RING3
 /**
- * #PF Virtual Handler callback for Guest write access to the ring descriptor page(pThis)
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      \#PF write access handler for a PCNET ring.}
  *
- * @return  VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         VM Handle.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   GCPhysFault The GC physical address corresponding to pvFault.
- * @param   pvUser      User argument.
+ * @remarks The @a pvUser argument points to the PCNETSTATE.
  */
 DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
                                        RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
@@ -1118,13 +1115,13 @@ DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCod
     Log(("#%d pcnetHandleRingWritePf: write to %#010x\n", PCNET_INST_NR, GCPhysFault));
 
     uint32_t cb;
-    int rc = CTXALLSUFF(pThis->pfnEMInterpretInstruction)(pVM, pRegFrame, pvFault, &cb);
+    int rc = pThis->CTX_SUFF(pfnEMInterpretInstruction)(pVM, pRegFrame, pvFault, &cb);
     if (RT_SUCCESS(rc) && cb)
     {
         if (    (GCPhysFault >= pThis->GCTDRA && GCPhysFault + cb < pcnetTdraAddr(pThis, 0))
-#ifdef PCNET_MONITOR_RECEIVE_RING
+#  ifdef PCNET_MONITOR_RECEIVE_RING
             ||  (GCPhysFault >= pThis->GCRDRA && GCPhysFault + cb < pcnetRdraAddr(pThis, 0))
-#endif
+#  endif
            )
         {
             uint32_t offsetTDRA = (GCPhysFault - pThis->GCTDRA);
@@ -1132,7 +1129,7 @@ DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCod
             int rc = PDMCritSectEnter(&pThis->CritSect, VERR_SEM_BUSY);
             if (RT_SUCCESS(rc))
             {
-                STAM_COUNTER_INC(&CTXALLSUFF(pThis->StatRingWrite)); ;
+                STAM_COUNTER_INC(&pThis->CTX_SUFF(StatRingWrite));
 
                 /* Check if we can do something now */
                 pcnetPollRxTx(pThis);
@@ -1144,48 +1141,34 @@ DECLEXPORT(int) pcnetHandleRingWritePf(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCod
         }
         else
         {
-            STAM_COUNTER_INC(&CTXALLSUFF(pThis->StatRingWriteOutside)); ;
+            STAM_COUNTER_INC(&pThis->CTX_SUFF(StatRingWriteOutside));
             return VINF_SUCCESS;    /* outside of the ring range */
         }
     }
-    STAM_COUNTER_INC(&CTXALLSUFF(pThis->StatRingWriteFailed)); ;
+    STAM_COUNTER_INC(&pThis->CTX_SUFF(StatRingWriteFailed)); ;
     return VINF_IOM_R3_MMIO_WRITE; /* handle in ring3 */
 }
-#endif /* !IN_RING3 */
-
+# endif /* !IN_RING3 */
 
 /**
- * #PF Handler callback for physical access handler ranges (MMIO among others).
- *
- * The handler can not raise any faults, it's mainly for monitoring write access
- * to certain pages.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             VM Handle.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   GCPhys          The physical address the guest is writing to.
- * @param   pvPhys          The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making the access.
- * @param   pvUser          User argument.
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      Write access handler for a PCNET ring.}
  */
-PGM_ALL_CB_DECL(int) pcnetHandleRingWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                          PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+PGM_ALL_CB_DECL(VBOXSTRICTRC)
+pcnetHandleRingWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                     PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PPDMDEVINS  pDevIns = (PPDMDEVINS)pvUser;
     PPCNETSTATE pThis   = PDMINS_2_DATA(pDevIns, PPCNETSTATE);
 
     Log(("#%d pcnetHandleRingWrite: write to %#010x\n", PCNET_INST_NR, GCPhys));
-#ifdef VBOX_WITH_STATISTICS
-    STAM_COUNTER_INC(&CTXSUFF(pThis->StatRingWrite));
+# ifdef VBOX_WITH_STATISTICS
+    STAM_COUNTER_INC(&pThis->CTX_SUFF(StatRingWrite));
     if (GCPhys >= pThis->GCRDRA && GCPhys < pcnetRdraAddr(pThis, 0))
         STAM_COUNTER_INC(&pThis->StatRCVRingWrite);
     else if (GCPhys >= pThis->GCTDRA && GCPhys < pcnetTdraAddr(pThis, 0))
         STAM_COUNTER_INC(&pThis->StatTXRingWrite);
-#endif
+# endif
     /* Perform the actual write */
     memcpy((char *)pvPhys, pvBuf, cbBuf);
 
@@ -1193,9 +1176,9 @@ PGM_ALL_CB_DECL(int) pcnetHandleRingWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys
     if (PDMCritSectIsOwner(&pThis->CritSect) == false)
     {
         if (    (GCPhys >= pThis->GCTDRA && GCPhys + cbBuf < pcnetTdraAddr(pThis, 0))
-#ifdef PCNET_MONITOR_RECEIVE_RING
+# ifdef PCNET_MONITOR_RECEIVE_RING
             ||  (GCPhys >= pThis->GCRDRA && GCPhys + cbBuf < pcnetRdraAddr(pThis, 0))
-#endif
+# endif
            )
         {
             int rc = PDMCritSectEnter(&pThis->CritSect, VERR_SEM_BUSY);
@@ -1208,6 +1191,7 @@ PGM_ALL_CB_DECL(int) pcnetHandleRingWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys
     }
     return VINF_SUCCESS;
 }
+
 #endif /* PCNET_NO_POLLING */
 
 static void pcnetSoftReset(PPCNETSTATE pThis)
@@ -1400,9 +1384,9 @@ static void pcnetUpdateRingHandlers(PPCNETSTATE pThis)
                                             pThis->GCTDRA & ~PAGE_OFFSET_MASK,
                                             RT_ALIGN(pcnetTdraAddr(pThis, 0), PAGE_SIZE) - 1,
                                             pThis->hNoPollingHandlerType,
-                                            pDevIns,
-                                            pThis->pDevInsHC->pvInstanceDataHC,
-                                            pThis->pDevInsHC->pvInstanceDataRC,
+                                            pThis->CTX_SUFF(pDevIns)->pvInstanceDataR3,
+                                            pThis->CTX_SUFF(pDevIns)->pvInstanceDataR0,
+                                            pThis->CTX_SUFF(pDevIns)->pvInstanceDataRC,
                                             "PCNet transmit ring write access handler");
             AssertRC(rc);
 
@@ -1538,7 +1522,9 @@ static void pcnetStart(PPCNETSTATE pThis)
         pThis->aCSR[0] |= 0x0020;    /* set RXON */
     pThis->aCSR[0] &= ~0x0004;       /* clear STOP bit */
     pThis->aCSR[0] |=  0x0002;       /* STRT */
+#ifndef PCNET_NO_POLLING
     pcnetPollTimerStart(pThis);      /* start timer if it was stopped */
+#endif
 }
 
 /**
@@ -1838,28 +1824,51 @@ static void pcnetReceiveNoSync(PPCNETSTATE pThis, const uint8_t *buf, size_t cbT
         }
         else
         {
+            PCRTNETETHERHDR pEth = (PCRTNETETHERHDR)buf;
+            bool fStrip = false;
+            size_t len_802_3;
             uint8_t   *src = &pThis->abRecvBuf[8];
             RTGCPHYS32 crda = CSR_CRDA(pThis);
             RTGCPHYS32 next_crda;
             RMD        rmd, next_rmd;
 
-            memcpy(src, buf, cbToRecv);
-            if (!CSR_ASTRP_RCV(pThis))
+            /*
+             * Ethernet framing considers these two octets to be
+             * payload type; 802.3 framing considers them to be
+             * payload length.  IEEE 802.3x-1997 restricts Ethernet
+             * type to be greater than or equal to 1536 (0x0600), so
+             * that both framings can coexist on the wire.
+             *
+             * NB: CSR_ASTRP_RCV bit affects only 802.3 frames!
+             */
+            len_802_3 = RT_BE2H_U16(pEth->EtherType);
+            if (len_802_3 < 46 && CSR_ASTRP_RCV(pThis))
             {
-                uint32_t fcs = ~0;
-                uint8_t *p = src;
+                cbToRecv = RT_MIN(sizeof(RTNETETHERHDR) + len_802_3, cbToRecv);
+                fStrip = true;
+                fAddFCS = false;
+            }
+
+            memcpy(src, buf, cbToRecv);
 
+            if (!fStrip) {
                 while (cbToRecv < 60)
                     src[cbToRecv++] = 0;
+
                 if (fAddFCS)
                 {
+                    uint32_t fcs = ~0;
+                    uint8_t *p = src;
+
                     while (p != &src[cbToRecv])
                         CRC(fcs, *p++);
+
+                    /* FCS at the end of the packet */
                     ((uint32_t *)&src[cbToRecv])[0] = htonl(fcs);
-                    /* FCS at end of packet */
                     cbToRecv += 4;
                 }
             }
+
             cbPacket = (int)cbToRecv;                           Assert((size_t)cbPacket == cbToRecv);
 
 #ifdef PCNET_DEBUG_MATCH
@@ -2667,6 +2676,7 @@ static void pcnetPollRxTx(PPCNETSTATE pThis)
 }
 
 
+#ifndef PCNET_NO_POLLING
 /**
  * Start the poller timer.
  * Poll timer interval is fixed to 500Hz. Don't stop it.
@@ -2676,6 +2686,7 @@ static void pcnetPollTimerStart(PPCNETSTATE pThis)
 {
     TMTimerSetMillies(pThis->CTX_SUFF(pTimerPoll), 2);
 }
+#endif
 
 
 /**
@@ -4460,7 +4471,9 @@ static DECLCALLBACK(int) pcnetNetworkDown_WaitReceiveAvail(PPDMINETWORKDOWN pInt
          * is true -- even if (transmit) polling is disabled (CSR_DPOLL). */
         rc2 = PDMCritSectEnter(&pThis->CritSect, VERR_SEM_BUSY);
         AssertReleaseRC(rc2);
+#ifndef PCNET_NO_POLLING
         pcnetPollTimerStart(pThis);
+#endif
         PDMCritSectLeave(&pThis->CritSect);
         RTSemEventWait(pThis->hEventOutOfRxSpace, cMillies);
     }
@@ -4975,13 +4988,13 @@ static DECLCALLBACK(int) pcnetConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGM
      */
     rc = PDMR3LdrGetSymbolR0Lazy(PDMDevHlpGetVM(pDevIns), NULL, NULL, "EMInterpretInstruction", &pThis->pfnEMInterpretInstructionR0);
     if (RT_SUCCESS(rc))
-        rc = PDMR3LdrGetSymbolRCLazy(PDMDevHlpGetVM(pDevIns), NULL, NULL, "EMInterpretInstruction", (RTGCPTR *)&pThis->pfnEMInterpretInstructionRC);
+        rc = PDMR3LdrGetSymbolRCLazy(PDMDevHlpGetVM(pDevIns), NULL, NULL, "EMInterpretInstruction", &pThis->pfnEMInterpretInstructionRC);
     AssertLogRelMsgRCReturn(rc, ("PDMR3LdrGetSymbolRCLazy(EMInterpretInstruction) -> %Rrc\n", rc), rc);
 
     rc = PGMR3HandlerPhysicalTypeRegister(PDMDevHlpGetVM(pDevIns), PGMPHYSHANDLERKIND_WRITE,
                                           pcnetHandleRingWrite,
-                                          g_DevicePCNet.szR0Mod, "pcnetHandleRingWritePf",
-                                          g_DevicePCNet.szRCMod, "pcnetHandleRingWritePf",
+                                          g_DevicePCNet.szR0Mod, NULL, "pcnetHandleRingWritePf",
+                                          g_DevicePCNet.szRCMod, NULL, "pcnetHandleRingWritePf",
                                           "PCNet ring write access handler",
                                           &pThis->hNoPollingHandlerType);
     AssertRCReturn(rc, rc);
diff --git a/src/VBox/Devices/Network/SrvIntNetR0.cpp b/src/VBox/Devices/Network/SrvIntNetR0.cpp
index 7367ee0..e8968d3 100644
--- a/src/VBox/Devices/Network/SrvIntNetR0.cpp
+++ b/src/VBox/Devices/Network/SrvIntNetR0.cpp
@@ -1150,10 +1150,10 @@ DECLINLINE(void) intnetR0IfAddrCacheDelete(PINTNETIF pIf, PINTNETADDRCACHE pCach
  * @param   cbAddr          The address size (optimization).
  * @param   pszMsg          Log message.
  */
-DECLINLINE(void) intnetR0NetworkAddrCacheDeleteUnlocked(PINTNETNETWORK pNetwork,
-                                                        PCRTNETADDRU pAddr, INTNETADDRTYPE enmType,
-                                                        uint8_t const cbAddr,
-                                                        const char *pszMsg)
+DECLINLINE(void) intnetR0NetworkAddrCacheDeleteLocked(PINTNETNETWORK pNetwork,
+                                                      PCRTNETADDRU pAddr, INTNETADDRTYPE enmType,
+                                                      uint8_t const cbAddr,
+                                                      const char *pszMsg)
 {
     uint32_t iIf = pNetwork->MacTab.cEntries;
     while (iIf--)
@@ -1184,7 +1184,7 @@ DECLINLINE(void) intnetR0NetworkAddrCacheDelete(PINTNETNETWORK pNetwork, PCRTNET
 {
     RTSpinlockAcquire(pNetwork->hAddrSpinlock);
 
-    intnetR0NetworkAddrCacheDeleteUnlocked(pNetwork, pAddr, enmType, cbAddr, pszMsg);
+    intnetR0NetworkAddrCacheDeleteLocked(pNetwork, pAddr, enmType, cbAddr, pszMsg);
 
     RTSpinlockRelease(pNetwork->hAddrSpinlock);
 }
@@ -5550,7 +5550,7 @@ static DECLCALLBACK(void) intnetR0NetworkNotifyHostAddress(PINTNETTRUNKSWPORT pS
         intnetR0NetworkBlacklistAdd(pNetwork, pAddr, enmType);
 
         /* kick out any guest that uses it */
-        intnetR0NetworkAddrCacheDeleteUnlocked(pNetwork, pAddr, enmType, cbAddr, "tif/host");
+        intnetR0NetworkAddrCacheDeleteLocked(pNetwork, pAddr, enmType, cbAddr, "tif/host");
     }
     else                /* address deleted from one of host interfaces */
     {
diff --git a/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip4.c b/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip4.c
index ab051d4..19942b0 100644
--- a/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip4.c
+++ b/src/VBox/Devices/Network/lwip-new/src/core/ipv4/ip4.c
@@ -878,7 +878,7 @@ err_t ip_output_if_opt(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,
 #if ENABLE_LOOPBACK
   if (ip_addr_cmp(dest, &netif->ip_addr)) {
     /* Packet to self, enqueue it for loopback */
-    LWIP_DEBUGF(IP_DEBUG, ("netif_loop_output()"));
+    LWIP_DEBUGF(IP_DEBUG, ("netif_loop_output()\n"));
     return netif_loop_output(netif, p);
   }
 #if LWIP_IGMP
@@ -894,7 +894,7 @@ err_t ip_output_if_opt(struct pbuf *p, ip_addr_t *src, ip_addr_t *dest,
   }
 #endif /* IP_FRAG */
 
-  LWIP_DEBUGF(IP_DEBUG, ("netif->output()"));
+  LWIP_DEBUGF(IP_DEBUG, ("netif->output()\n"));
   return netif->output(netif, p, dest);
 }
 
diff --git a/src/VBox/Devices/Network/lwip-new/vbox/include/lwip-log.h b/src/VBox/Devices/Network/lwip-new/vbox/include/lwip-log.h
index f66ca8d..fa0a5fa 100644
--- a/src/VBox/Devices/Network/lwip-new/vbox/include/lwip-log.h
+++ b/src/VBox/Devices/Network/lwip-new/vbox/include/lwip-log.h
@@ -72,20 +72,19 @@
 
 #ifdef LOG_ENABLED
 
-#define LWIP_DEBUGF(_when, _args)                                       \
-    do {                                                                \
+# define LWIP_DEBUGF(_when, _args) \
+    do { \
         const VBOX_LOGGROUP _group = (_when) >> LWIP_DEBUGF_LOG_GROUP_SHIFT; \
-        if (_group >= LOG_GROUP_DEFAULT) {                              \
+        if (_group >= LOG_GROUP_DEFAULT) { \
             /* severe => l1; serious => l2; warning => l3; default => l4 */ \
-            const unsigned int _level =                                 \
-                1 << (LWIP_DBG_MASK_LEVEL+1 - ((_when) & LWIP_DBG_MASK_LEVEL)); \
-            LogIt(LOG_INSTANCE, _level, _group, _args);                 \
-        }                                                               \
+            const unsigned int _level = 1U << (LWIP_DBG_MASK_LEVEL + 1 - ((_when) & LWIP_DBG_MASK_LEVEL)); \
+            LogIt(_level, _group, _args);  \
+        } \
     } while (0)
 
 #else  /* !LOG_ENABLED */
 
-#define LWIP_DEBUGF(_when, _args) do { } while (0)
+# define LWIP_DEBUGF(_when, _args) do { } while (0)
 
 #endif /* !LOG_ENABLED */
 
diff --git a/src/VBox/Devices/Network/lwipopts.h b/src/VBox/Devices/Network/lwipopts.h
index 4521c53..2e04c63 100644
--- a/src/VBox/Devices/Network/lwipopts.h
+++ b/src/VBox/Devices/Network/lwipopts.h
@@ -162,9 +162,9 @@
 #define U16_F "hu"
 #define S16_F "hd"
 #define X16_F "hx"
-#define U32_F "lu"
-#define S32_F "ld"
-#define X32_F "lx"
+#define U32_F "u"
+#define S32_F "d"
+#define X32_F "x"
 
 /* Redirect libc memory alloc functions to IPRT. */
 #define malloc(x) RTMemAlloc(x)
diff --git a/src/VBox/Devices/Network/slirp/bootp.c b/src/VBox/Devices/Network/slirp/bootp.c
index 64c3c2c..7f567e5 100644
--- a/src/VBox/Devices/Network/slirp/bootp.c
+++ b/src/VBox/Devices/Network/slirp/bootp.c
@@ -345,7 +345,7 @@ static int dhcp_do_ack_offer(PNATState pData, struct mbuf *m, BOOTPClient *bc, i
     }
     /* Temporary fix: do not pollute ARP cache from BOOTP because it may result
        in network loss due to cache entry override w/ invalid MAC address. */
-    //slirp_arp_cache_update_or_add(pData, rbp->bp_yiaddr.s_addr, bc->macaddr);
+    /*slirp_arp_cache_update_or_add(pData, rbp->bp_yiaddr.s_addr, bc->macaddr);*/
     return q - rbp->bp_vend; /*return offset */
 }
 
diff --git a/src/VBox/Devices/Network/slirp/slirp.c b/src/VBox/Devices/Network/slirp/slirp.c
index b37b92e..dcd8782 100644
--- a/src/VBox/Devices/Network/slirp/slirp.c
+++ b/src/VBox/Devices/Network/slirp/slirp.c
@@ -488,7 +488,6 @@ void slirp_link_up(PNATState pData)
  */
 void slirp_link_down(PNATState pData)
 {
-    struct socket *so;
     struct port_forward_rule *rule;
 
     if (link_up == 0)
@@ -496,20 +495,6 @@ void slirp_link_down(PNATState pData)
 
     slirpReleaseDnsSettings(pData);
 
-    while ((so = tcb.so_next) != &tcb)
-    {
-        /* Don't miss TCB releasing */
-        if (   !sototcpcb(so)
-            && (   so->so_state & SS_NOFDREF
-                || so->s == -1))
-             sofree(pData, so);
-        else
-            tcp_close(pData, sototcpcb(so));
-    }
-
-    while ((so = udb.so_next) != &udb)
-        udp_detach(pData, so);
-
     /*
      *  Clear the active state of port-forwarding rules to force
      *  re-setup on restoration of communications.
@@ -528,10 +513,27 @@ void slirp_link_down(PNATState pData)
  */
 void slirp_term(PNATState pData)
 {
+    struct socket *so;
+
     if (pData == NULL)
         return;
+
     icmp_finit(pData);
 
+    while ((so = tcb.so_next) != &tcb)
+    {
+        /* Don't miss TCB releasing */
+        if (   !sototcpcb(so)
+            && (   so->so_state & SS_NOFDREF
+                || so->s == -1))
+             sofree(pData, so);
+        else
+            tcp_close(pData, sototcpcb(so));
+    }
+
+    while ((so = udb.so_next) != &udb)
+        udp_detach(pData, so);
+
     slirp_link_down(pData);
     ftp_alias_unload(pData);
     nbt_alias_unload(pData);
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
index 4ac03b3..5a453d5 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.asm
@@ -981,20 +981,20 @@ section CONST progbits vstart=0xb0 align=1 ; size=0xce0 class=DATA group=DGROUP
     db   'APM: Unsupported function AX=%04X BX=%04X called', 00ah, 000h, 000h
     db   'PCI: Unsupported function AX=%04X BX=%04X called', 00ah, 000h
 
-section CONST2 progbits vstart=0xd90 align=1 ; size=0x400 class=DATA group=DGROUP
-_bios_cvs_version_string:                    ; 0xf0d90 LB 0x18
-    db  'VirtualBox 5.0.0_BETA4', 000h, 000h
-_bios_prefix_string:                         ; 0xf0da8 LB 0x8
+section CONST2 progbits vstart=0xd90 align=1 ; size=0x3fe class=DATA group=DGROUP
+_bios_cvs_version_string:                    ; 0xf0d90 LB 0x16
+    db  'VirtualBox 5.0.0_RC1', 000h, 000h
+_bios_prefix_string:                         ; 0xf0da6 LB 0x8
     db  'BIOS: ', 000h, 000h
-_isotag:                                     ; 0xf0db0 LB 0x6
+_isotag:                                     ; 0xf0dae LB 0x6
     db  'CD001', 000h
-_eltorito:                                   ; 0xf0db6 LB 0x18
+_eltorito:                                   ; 0xf0db4 LB 0x18
     db  'EL TORITO SPECIFICATION', 000h
-_drivetypes:                                 ; 0xf0dce LB 0x28
+_drivetypes:                                 ; 0xf0dcc LB 0x28
     db  046h, 06ch, 06fh, 070h, 070h, 079h, 000h, 000h, 000h, 000h, 048h, 061h, 072h, 064h, 020h, 044h
     db  069h, 073h, 06bh, 000h, 043h, 044h, 02dh, 052h, 04fh, 04dh, 000h, 000h, 000h, 000h, 04ch, 041h
     db  04eh, 000h, 000h, 000h, 000h, 000h, 000h, 000h
-_scan_to_scanascii:                          ; 0xf0df6 LB 0x37a
+_scan_to_scanascii:                          ; 0xf0df4 LB 0x37a
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 01bh, 001h, 01bh, 001h, 01bh, 001h
     db  000h, 001h, 000h, 000h, 031h, 002h, 021h, 002h, 000h, 000h, 000h, 078h, 000h, 000h, 032h, 003h
     db  040h, 003h, 000h, 003h, 000h, 079h, 000h, 000h, 033h, 004h, 023h, 004h, 000h, 000h, 000h, 07ah
@@ -1051,11 +1051,11 @@ _scan_to_scanascii:                          ; 0xf0df6 LB 0x37a
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 05ch, 056h, 07ch, 056h
     db  000h, 000h, 000h, 000h, 000h, 000h, 000h, 085h, 000h, 087h, 000h, 089h, 000h, 08bh, 000h, 000h
     db  000h, 086h, 000h, 088h, 000h, 08ah, 000h, 08ch, 000h, 000h
-_panic_msg_keyb_buffer_full:                 ; 0xf1170 LB 0x20
+_panic_msg_keyb_buffer_full:                 ; 0xf116e LB 0x20
     db  '%s: keyboard input buffer full', 00ah, 000h
 
-  ; Padding 0x470 bytes at 0xf1190
-  times 1136 db 0
+  ; Padding 0x472 bytes at 0xf118e
+  times 1138 db 0
 
 section _TEXT progbits vstart=0x1600 align=1 ; size=0x8235 class=CODE group=AUTO
 rom_scan_:                                   ; 0xf1600 LB 0x50
@@ -1279,7 +1279,7 @@ _int18_panic_msg:                            ; 0xf1765 LB 0x12
 _log_bios_start:                             ; 0xf1777 LB 0x20
     push bp                                   ; 55
     mov bp, sp                                ; 89 e5
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 ac 01
@@ -2418,7 +2418,7 @@ _ata_detect:                                 ; 0xf1fa7 LB 0x617
     mov dx, ss                                ; 8c d2
     lea ax, [bp-036h]                         ; 8d 46 ca
     call 055b6h                               ; e8 99 33
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 09 f7
@@ -3066,7 +3066,7 @@ ata_cmd_packet_:                             ; 0xf288f LB 0x2e8
     mov byte [bp-006h], ah                    ; 88 66 fa
     cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
     jne short 028e1h                          ; 75 1f
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 64 f0
@@ -3946,7 +3946,7 @@ _int13_diskette_function:                    ; 0xf2f2e LB 0x8f7
     je short 0306fh                           ; 74 05
     cmp cl, 048h                              ; 80 f9 48
     jbe short 03099h                          ; 76 2a
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 b7 e8
@@ -4708,7 +4708,7 @@ _int13_diskette_function:                    ; 0xf2f2e LB 0x8f7
     call 03825h                               ; e8 29 00
     mov word [bp+008h], ax                    ; 89 46 08
     jmp near 036a4h                           ; e9 a2 fe
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 24 e1
@@ -4805,7 +4805,7 @@ _int13_eltorito:                             ; 0xf389f LB 0x189
     jmp near 039ech                           ; e9 25 01
     cmp ax, strict word 0004ah                ; 3d 4a 00
     jne near 039ech                           ; 0f 85 1e 01
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 58 e0
@@ -4903,7 +4903,7 @@ _int13_eltorito:                             ; 0xf389f LB 0x189
     pop si                                    ; 5e
     pop bp                                    ; 5d
     retn                                      ; c3
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 3a df
@@ -5038,7 +5038,7 @@ cdrom_boot_:                                 ; 0xf3a5d LB 0x416
     cmp di, strict byte 00005h                ; 83 ff 05
     jnc short 03b56h                          ; 73 10
     mov al, byte [bp+di-00825h]               ; 8a 83 db f7
-    cmp al, byte [di+00db0h]                  ; 3a 85 b0 0d
+    cmp al, byte [di+00daeh]                  ; 3a 85 ae 0d
     je short 03b40h                           ; 74 f0
     mov ax, strict word 00005h                ; b8 05 00
     jmp near 03e10h                           ; e9 ba 02
@@ -5048,7 +5048,7 @@ cdrom_boot_:                                 ; 0xf3a5d LB 0x416
     cmp di, strict byte 00017h                ; 83 ff 17
     jnc short 03b70h                          ; 73 10
     mov al, byte [bp+di-0081fh]               ; 8a 83 e1 f7
-    cmp al, byte [di+00db6h]                  ; 3a 85 b6 0d
+    cmp al, byte [di+00db4h]                  ; 3a 85 b4 0d
     je short 03b5ah                           ; 74 f0
     mov ax, strict word 00006h                ; b8 06 00
     jmp near 03e10h                           ; e9 a0 02
@@ -5326,7 +5326,7 @@ _int13_cdemu:                                ; 0xf3e73 LB 0x434
     xor ah, ah                                ; 30 e4
     cmp dx, ax                                ; 39 c2
     je short 03ef2h                           ; 74 29
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 5d da
@@ -5548,7 +5548,7 @@ _int13_cdemu:                                ; 0xf3e73 LB 0x434
     ; mov dword [es:bx+01ah], strict dword 000000000h ; 66 26 c7 47 1a 00 00 00 00
     test al, al                               ; 84 c0
     je near 03f3eh                            ; 0f 84 13 fe
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 fb d7
@@ -5629,7 +5629,7 @@ _int13_cdemu:                                ; 0xf3e73 LB 0x434
     or bh, 003h                               ; 80 cf 03
     mov word [bp+016h], bx                    ; 89 5e 16
     jmp near 03f42h                           ; e9 37 fd
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 1b d7
@@ -5840,7 +5840,7 @@ _int13_cdrom:                                ; 0xf42a7 LB 0x562
     mov word [es:bx+002h], ax                 ; 26 89 47 02
     test dl, dl                               ; 84 d2
     je near 04568h                            ; 0f 84 cb 00
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 89 d4
@@ -6124,7 +6124,7 @@ _int13_cdrom:                                ; 0xf42a7 LB 0x562
     call 0165eh                               ; e8 79 ce
     or byte [bp+01eh], 001h                   ; 80 4e 1e 01
     jmp near 0457bh                           ; e9 8f fd
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 3a d1
@@ -6154,12 +6154,12 @@ print_boot_device_:                          ; 0xf4809 LB 0x4b
     test bl, 080h                             ; f6 c3 80
     je short 0484eh                           ; 74 21
     mov dx, strict word 00001h                ; ba 01 00
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 f6 d0
     imul dx, dx, strict byte 0000ah           ; 6b d2 0a
-    add dx, 00dceh                            ; 81 c2 ce 0d
+    add dx, 00dcch                            ; 81 c2 cc 0d
     push dx                                   ; 52
     push 00474h                               ; 68 74 04
     push strict byte 00004h                   ; 6a 04
@@ -6179,11 +6179,11 @@ print_boot_failure_:                         ; 0xf4854 LB 0x93
     movzx si, ah                              ; 0f b6 f4
     test al, al                               ; 84 c0
     je short 04881h                           ; 74 1b
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 c0 d0
-    push 00de2h                               ; 68 e2 0d
+    push 00de0h                               ; 68 e0 0d
     push 00488h                               ; 68 88 04
     push strict byte 00004h                   ; 6a 04
     call 01972h                               ; e8 f6 d0
@@ -6191,27 +6191,27 @@ print_boot_failure_:                         ; 0xf4854 LB 0x93
     jmp short 048c5h                          ; eb 44
     test dl, dl                               ; 84 d2
     je short 04895h                           ; 74 10
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 a1 d0
-    push 00dech                               ; 68 ec 0d
+    push 00deah                               ; 68 ea 0d
     jmp short 04874h                          ; eb df
     test bl, 080h                             ; f6 c3 80
     je short 048abh                           ; 74 11
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 8c d0
     push si                                   ; 56
-    push 00dd8h                               ; 68 d8 0d
+    push 00dd6h                               ; 68 d6 0d
     jmp short 048bah                          ; eb 0f
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 7b d0
     push si                                   ; 56
-    push 00dceh                               ; 68 ce 0d
+    push 00dcch                               ; 68 cc 0d
     push 0049dh                               ; 68 9d 04
     push strict byte 00004h                   ; 6a 04
     call 01972h                               ; e8 b0 d0
@@ -6237,7 +6237,7 @@ print_cdromboot_failure_:                    ; 0xf48e7 LB 0x27
     push cx                                   ; 51
     push dx                                   ; 52
     mov dx, ax                                ; 89 c2
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 37 d0
@@ -6312,7 +6312,7 @@ _int19_function:                             ; 0xf490e LB 0x256
     mov byte [bp-006h], al                    ; 88 46 fa
     mov byte [bp-00ah], al                    ; 88 46 f6
     mov byte [bp-00ch], al                    ; 88 46 f4
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 7b cf
@@ -6874,7 +6874,7 @@ _int09_function:                             ; 0xf4e74 LB 0x3c7
     mov byte [bp-008h], al                    ; 88 46 f8
     test al, al                               ; 84 c0
     jne short 04e9eh                          ; 75 19
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 a1 ca
@@ -7112,7 +7112,7 @@ _int09_function:                             ; 0xf4e74 LB 0x3c7
     jmp near 05217h                           ; e9 fa 00
     cmp byte [bp-008h], 058h                  ; 80 7e f8 58
     jbe short 05141h                          ; 76 1e
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 03 c8
@@ -7128,15 +7128,15 @@ _int09_function:                             ; 0xf4e74 LB 0x3c7
     je short 0515ah                           ; 74 12
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     imul bx, bx, strict byte 0000ah           ; 6b db 0a
-    mov dl, byte [bx+00dfch]                  ; 8a 97 fc 0d
-    mov ax, word [bx+00dfch]                  ; 8b 87 fc 0d
+    mov dl, byte [bx+00dfah]                  ; 8a 97 fa 0d
+    mov ax, word [bx+00dfah]                  ; 8b 87 fa 0d
     jmp near 051e8h                           ; e9 8e 00
     test AL, strict byte 004h                 ; a8 04
     je short 05170h                           ; 74 12
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     imul bx, bx, strict byte 0000ah           ; 6b db 0a
-    mov dl, byte [bx+00dfah]                  ; 8a 97 fa 0d
-    mov ax, word [bx+00dfah]                  ; 8b 87 fa 0d
+    mov dl, byte [bx+00df8h]                  ; 8a 97 f8 0d
+    mov ax, word [bx+00df8h]                  ; 8b 87 f8 0d
     jmp near 051e8h                           ; e9 78 00
     mov al, byte [bp-00ch]                    ; 8a 46 f4
     and AL, strict byte 002h                  ; 24 02
@@ -7155,36 +7155,36 @@ _int09_function:                             ; 0xf4e74 LB 0x3c7
     je short 051c2h                           ; 74 2e
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     imul bx, bx, strict byte 0000ah           ; 6b db 0a
-    movzx ax, byte [bx+00dfeh]                ; 0f b6 87 fe 0d
+    movzx ax, byte [bx+00dfch]                ; 0f b6 87 fc 0d
     movzx dx, byte [bp-00ah]                  ; 0f b6 56 f6
     test dx, ax                               ; 85 c2
     je short 051b2h                           ; 74 0a
+    mov dl, byte [bx+00df4h]                  ; 8a 97 f4 0d
+    mov ax, word [bx+00df4h]                  ; 8b 87 f4 0d
+    jmp short 051bah                          ; eb 08
     mov dl, byte [bx+00df6h]                  ; 8a 97 f6 0d
     mov ax, word [bx+00df6h]                  ; 8b 87 f6 0d
-    jmp short 051bah                          ; eb 08
-    mov dl, byte [bx+00df8h]                  ; 8a 97 f8 0d
-    mov ax, word [bx+00df8h]                  ; 8b 87 f8 0d
     shr ax, 008h                              ; c1 e8 08
     mov byte [bp-008h], al                    ; 88 46 f8
     jmp short 051eeh                          ; eb 2c
     movzx bx, byte [bp-008h]                  ; 0f b6 5e f8
     imul bx, bx, strict byte 0000ah           ; 6b db 0a
-    movzx ax, byte [bx+00dfeh]                ; 0f b6 87 fe 0d
+    movzx ax, byte [bx+00dfch]                ; 0f b6 87 fc 0d
     movzx dx, byte [bp-00ah]                  ; 0f b6 56 f6
     test dx, ax                               ; 85 c2
     je short 051e0h                           ; 74 0a
-    mov dl, byte [bx+00df8h]                  ; 8a 97 f8 0d
-    mov ax, word [bx+00df8h]                  ; 8b 87 f8 0d
-    jmp short 051e8h                          ; eb 08
     mov dl, byte [bx+00df6h]                  ; 8a 97 f6 0d
     mov ax, word [bx+00df6h]                  ; 8b 87 f6 0d
+    jmp short 051e8h                          ; eb 08
+    mov dl, byte [bx+00df4h]                  ; 8a 97 f4 0d
+    mov ax, word [bx+00df4h]                  ; 8b 87 f4 0d
     shr ax, 008h                              ; c1 e8 08
     mov byte [bp-008h], al                    ; 88 46 f8
     cmp byte [bp-008h], 000h                  ; 80 7e f8 00
     jne short 0520eh                          ; 75 1a
     test dl, dl                               ; 84 d2
     jne short 0520eh                          ; 75 16
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 2e c7
@@ -7550,7 +7550,7 @@ _int16_function:                             ; 0xf52cf LB 0x2e7
     xor ah, ah                                ; 30 e4
     or ah, 080h                               ; 80 cc 80
     jmp near 05442h                           ; e9 d5 fe
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 b9 c3
@@ -7561,7 +7561,7 @@ _int16_function:                             ; 0xf52cf LB 0x2e7
     push strict byte 00004h                   ; 6a 04
     call 01972h                               ; e8 eb c3
     add sp, strict byte 00006h                ; 83 c4 06
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 9c c3
@@ -7767,7 +7767,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     jnbe short 0576ch                         ; 77 04
     test ax, ax                               ; 85 c0
     jne short 0578fh                          ; 75 23
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 ba c1
@@ -7796,7 +7796,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     mov ax, word [bp-006h]                    ; 8b 46 fa
     cmp ax, dx                                ; 39 d0
     jbe short 057eah                          ; 76 2e
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 6a c1
@@ -7894,7 +7894,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     mov word [bp+016h], bx                    ; 89 5e 16
     test dl, dl                               ; 84 d2
     je near 056edh                            ; 0f 84 13 fe
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 4c c0
@@ -7912,7 +7912,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     xor ah, ah                                ; 30 e4
     or ah, 00ch                               ; 80 cc 0c
     jmp near 05a5ah                           ; e9 51 01
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 1d c0
@@ -8011,7 +8011,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     or ah, 003h                               ; 80 cc 03
     mov word [bp+016h], ax                    ; 89 46 16
     jmp near 056f1h                           ; e9 dd fc
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 12 bf
@@ -8024,7 +8024,7 @@ _int13_harddisk:                             ; 0xf5654 LB 0x441
     call 01972h                               ; e8 41 bf
     add sp, strict byte 00008h                ; 83 c4 08
     jmp near 056edh                           ; e9 b6 fc
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 ef be
@@ -8176,7 +8176,7 @@ _int13_harddisk_ext:                         ; 0xf5a95 LB 0x4cc
     mov dx, word [bp-00ah]                    ; 8b 56 f6
     cmp dx, word [es:bx+032h]                 ; 26 3b 57 32
     jc short 05bdch                           ; 72 23
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 6d bd
@@ -8228,7 +8228,7 @@ _int13_harddisk_ext:                         ; 0xf5a95 LB 0x4cc
     mov word [es:di+002h], ax                 ; 26 89 45 02
     test dl, dl                               ; 84 d2
     je near 05ef7h                            ; 0f 84 97 02
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 c6 bc
@@ -8464,7 +8464,7 @@ _int13_harddisk_ext:                         ; 0xf5a95 LB 0x4cc
     call 0165eh                               ; e8 1e b7
     or byte [bp+01ch], 001h                   ; 80 4e 1c 01
     jmp short 05f0ah                          ; eb c4
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 e0 b9
@@ -8766,7 +8766,7 @@ _int15_function:                             ; 0xf616e LB 0x4cd
     mov byte [bp+013h], ah                    ; 88 66 13
     mov word [bp+00ch], ax                    ; 89 46 0c
     jmp near 0624eh                           ; e9 2b 00
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 03 b7
@@ -9108,7 +9108,7 @@ _int15_function:                             ; 0xf616e LB 0x4cd
     push cx                                   ; 51
     retf                                      ; cb
     jmp near 0624eh                           ; e9 b7 fc
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 8f b3
@@ -9148,7 +9148,7 @@ _int15_function:                             ; 0xf616e LB 0x4cd
     jmp near 0624eh                           ; e9 48 fc
     or byte [bp+018h], 001h                   ; 80 4e 18 01
     jmp near 0624eh                           ; e9 41 fc
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 19 b3
@@ -9461,7 +9461,7 @@ _int15_function32:                           ; 0xf663b LB 0x37e
     mov word [bp+020h], ax                    ; 89 46 20
     mov word [bp+014h], dx                    ; 89 56 14
     jmp short 069b3h                          ; eb 2a
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 9d af
@@ -9916,7 +9916,7 @@ send_to_mouse_ctrl_:                         ; 0xf6e1d LB 0x34
     test AL, strict byte 002h                 ; a8 02
     je short 06e3ch                           ; 74 0e
     push 008f6h                               ; 68 f6 08
-    push 01170h                               ; 68 70 11
+    push 0116eh                               ; 68 6e 11
     push strict byte 00007h                   ; 6a 07
     call 01972h                               ; e8 39 ab
     add sp, strict byte 00006h                ; 83 c4 06
@@ -9979,7 +9979,7 @@ set_kbd_command_byte_:                       ; 0xf6e8c LB 0x32
     test AL, strict byte 002h                 ; a8 02
     je short 06eabh                           ; 74 0e
     push 00900h                               ; 68 00 09
-    push 01170h                               ; 68 70 11
+    push 0116eh                               ; 68 6e 11
     push strict byte 00007h                   ; 6a 07
     call 01972h                               ; e8 ca aa
     add sp, strict byte 00006h                ; 83 c4 06
@@ -11392,7 +11392,7 @@ scsi_cmd_packet_:                            ; 0xf7b89 LB 0x166
     mov word [bp-00eh], ax                    ; 89 46 f2
     cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
     jne short 07bd0h                          ; 75 1f
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 75 9d
@@ -11605,7 +11605,7 @@ scsi_enumerate_attached_devices_:            ; 0xf7cef LB 0x3e4
     jne short 07dc9h                          ; 75 05
     cmp ax, 00200h                            ; 3d 00 02
     je short 07de9h                           ; 74 20
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 5d 9b
@@ -11718,7 +11718,7 @@ scsi_enumerate_attached_devices_:            ; 0xf7cef LB 0x3e4
     jmp short 07f08h                          ; eb 07
     mov ax, word [bp-01eh]                    ; 8b 46 e2
     mov word [es:bx+028h], ax                 ; 26 89 47 28
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 1e 9a
@@ -11778,7 +11778,7 @@ scsi_enumerate_attached_devices_:            ; 0xf7cef LB 0x3e4
     call 0165eh                               ; e8 ab 96
     inc byte [bp-00ch]                        ; fe 46 f4
     jmp near 08041h                           ; e9 88 00
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 6d 99
@@ -12804,7 +12804,7 @@ ahci_cmd_packet_:                            ; 0xf896b LB 0x173
     mov word [bp-008h], ax                    ; 89 46 f8
     cmp byte [bp+00ah], 002h                  ; 80 7e 0a 02
     jne short 089b1h                          ; 75 1f
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 94 8f
@@ -13210,7 +13210,7 @@ ahci_port_detect_device_:                    ; 0xf8ade LB 0x451
     mov dx, ss                                ; 8c d2
     lea ax, [bp-026h]                         ; 8d 46 da
     call 055b6h                               ; e8 c3 c7
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 33 8b
@@ -13685,7 +13685,7 @@ _apm_function:                               ; 0xf91ce LB 0xf5
     jmp short 092bdh                          ; eb 30
     or ah, 080h                               ; 80 cc 80
     jmp short 0927eh                          ; eb ec
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 94 86
@@ -13979,7 +13979,7 @@ _pci16_function:                             ; 0xf93de LB 0x1d7
     les bx, [bp-008h]                         ; c4 5e f8
     mov word [es:bx], ax                      ; 26 89 07
     jmp short 095aeh                          ; eb 2d
-    mov bx, 00da8h                            ; bb a8 0d
+    mov bx, 00da6h                            ; bb a6 0d
     mov cx, ds                                ; 8c d9
     mov ax, strict word 00004h                ; b8 04 00
     call 01931h                               ; e8 a5 83
@@ -16348,4 +16348,4 @@ dummy_iret:                                  ; 0xfff53 LB 0x9d
     db  'XM'
 cpu_reset:                                   ; 0xffff0 LB 0x10
     jmp far 0f000h:0e05bh                     ; ea 5b e0 00 f0
-    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 03ch
+    db  030h, 036h, 02fh, 032h, 033h, 02fh, 039h, 039h, 000h, 0fch, 04eh
diff --git a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
index f69e1e6..f6e0391 100644
--- a/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
+++ b/src/VBox/Devices/PC/BIOS/VBoxBiosAlternative.md5sum
@@ -1 +1 @@
-4fe9ce6091e1e013a0de0934c5459c0f *VBoxPcBios.rom
+611e37055be16cf9eaf8b6359f3fd8a6 *VBoxPcBios.rom
diff --git a/src/VBox/Devices/Serial/DevSerial.cpp b/src/VBox/Devices/Serial/DevSerial.cpp
index 60dded2..338c53a 100644
--- a/src/VBox/Devices/Serial/DevSerial.cpp
+++ b/src/VBox/Devices/Serial/DevSerial.cpp
@@ -770,7 +770,7 @@ static DECLCALLBACK(int) serialNotifyStatusLinesChanged(PPDMICHARPORT pInterface
     /* Compare the old and the new states and set the delta bits accordingly. */
     if ((newMsr & UART_MSR_DCD) != (pThis->msr & UART_MSR_DCD))
         newMsr |= UART_MSR_DDCD;
-    if ((newMsr & UART_MSR_RI) == 1 && (pThis->msr & UART_MSR_RI) == 0)
+    if ((newMsr & UART_MSR_RI) != 0 && (pThis->msr & UART_MSR_RI) == 0)
         newMsr |= UART_MSR_TERI;
     if ((newMsr & UART_MSR_DSR) != (pThis->msr & UART_MSR_DSR))
         newMsr |= UART_MSR_DDSR;
diff --git a/src/VBox/Devices/Storage/DevAHCI.cpp b/src/VBox/Devices/Storage/DevAHCI.cpp
index 06efa68..06c2b3b 100644
--- a/src/VBox/Devices/Storage/DevAHCI.cpp
+++ b/src/VBox/Devices/Storage/DevAHCI.cpp
@@ -2023,6 +2023,8 @@ static void ahciPortSwReset(PAHCIPort pAhciPort)
     fAllTasksCanceled = ahciCancelActiveTasks(pAhciPort, NULL);
     Assert(fAllTasksCanceled);
 
+    Assert(pAhciPort->cTasksActive == 0);
+
     pAhciPort->regIS   = 0;
     pAhciPort->regIE   = 0;
     pAhciPort->regCMD  = AHCI_PORT_CMD_CPD  | /* Cold presence detection */
@@ -2053,8 +2055,6 @@ static void ahciPortSwReset(PAHCIPort pAhciPort)
     pAhciPort->u32QueuedTasksFinished = 0;
     pAhciPort->u32CurrentCommandSlot = 0;
 
-    pAhciPort->cTasksActive = 0;
-
     ASMAtomicWriteU32(&pAhciPort->MediaEventStatus, ATA_EVENT_STATUS_UNCHANGED);
     ASMAtomicWriteU32(&pAhciPort->MediaTrackType, ATA_MEDIA_TYPE_UNKNOWN);
 
@@ -6011,13 +6011,6 @@ static bool ahciTransferComplete(PAHCIPort pAhciPort, PAHCIREQ pAhciReq, int rcR
     bool fPortReset = ASMAtomicReadBool(&pAhciPort->fPortReset);
     bool fXchg = ASMAtomicCmpXchgPtr(&pAhciPort->aActiveTasks[pAhciReq->uTag], NULL, pAhciReq);
 
-    if (fXchg)
-    {
-        AssertReleaseMsg(ASMAtomicReadU32(&pAhciPort->cTasksActive) > 0,
-                         ("Inconsistent request counter\n"));
-        ASMAtomicDecU32(&pAhciPort->cTasksActive);
-    }
-
     /*
      * Leave a release log entry if the request was active for more than 25 seconds
      * (30 seconds is the timeout of the guest).
@@ -6189,6 +6182,21 @@ static bool ahciTransferComplete(PAHCIPort pAhciPort, PAHCIREQ pAhciReq, int rcR
          }
     }
 
+    /*
+     * Decrement the active task counter as the last step or we might run into a
+     * hang during power off otherwise (see @bugref{7859}).
+     * Before it could happen that we signal PDM that we are done while we still have to
+     * copy the data to the guest but EMT might be busy destroying the driver chains
+     * below us while we have to delegate copying data to EMT instead of doing it
+     * on this thread.
+     */
+    if (fXchg)
+    {
+        AssertReleaseMsg(ASMAtomicReadU32(&pAhciPort->cTasksActive) > 0,
+                         ("Inconsistent request counter\n"));
+        ASMAtomicDecU32(&pAhciPort->cTasksActive);
+    }
+
     if (pAhciPort->cTasksActive == 0 && pAhciPort->pAhciR3->fSignalIdle)
         PDMDevHlpAsyncNotificationCompleted(pAhciPort->pDevInsR3);
 
diff --git a/src/VBox/Devices/Storage/DrvVD.cpp b/src/VBox/Devices/Storage/DrvVD.cpp
index f7763b9..60de71b 100644
--- a/src/VBox/Devices/Storage/DrvVD.cpp
+++ b/src/VBox/Devices/Storage/DrvVD.cpp
@@ -2329,11 +2329,13 @@ static DECLCALLBACK(int) drvvdLoadDone(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM)
 *******************************************************************************/
 
 /**
- * @copydoc FNPDMDRVPOWEROFF
+ * Worker for the power off or destruct callback.
+ *
+ * @returns nothing.
+ * @param   pDrvIns    The driver instance.
  */
-static DECLCALLBACK(void) drvvdPowerOff(PPDMDRVINS pDrvIns)
+static void drvvdPowerOffOrDestruct(PPDMDRVINS pDrvIns)
 {
-    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
     PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK);
     LogFlowFunc(("\n"));
 
@@ -2367,6 +2369,15 @@ static DECLCALLBACK(void) drvvdPowerOff(PPDMDRVINS pDrvIns)
 }
 
 /**
+ * @copydoc FNPDMDRVPOWEROFF
+ */
+static DECLCALLBACK(void) drvvdPowerOff(PPDMDRVINS pDrvIns)
+{
+    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
+    drvvdPowerOffOrDestruct(pDrvIns);
+}
+
+/**
  * VM resume notification that we use to undo what the temporary read-only image
  * mode set by drvvdSuspend.
  *
@@ -2470,6 +2481,12 @@ static DECLCALLBACK(void) drvvdDestruct(PPDMDRVINS pDrvIns)
     PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK);
     LogFlowFunc(("\n"));
 
+    /*
+     * Make sure the block cache and disks are closed when this driver is
+     * destroyed. This method will get called without calling the power off
+     * callback first when we reconfigure the driver chain after a snapshot.
+     */
+    drvvdPowerOffOrDestruct(pDrvIns);
     if (pThis->MergeLock != NIL_RTSEMRW)
     {
         int rc = RTSemRWDestroy(pThis->MergeLock);
diff --git a/src/VBox/Devices/USB/VUSBInternal.h b/src/VBox/Devices/USB/VUSBInternal.h
index 277f63e..ed0ad47 100644
--- a/src/VBox/Devices/USB/VUSBInternal.h
+++ b/src/VBox/Devices/USB/VUSBInternal.h
@@ -9,7 +9,7 @@
  */
 
 /*
- * Copyright (C) 2006-2011 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -28,7 +28,6 @@
 #include <VBox/vusb.h>
 #include <VBox/vmm/stam.h>
 #include <iprt/assert.h>
-#include <iprt/queueatomic.h>
 #include <iprt/req.h>
 
 #include "VUSBSniffer.h"
@@ -231,28 +230,7 @@ typedef struct VUSBDEV
 AssertCompileSizeAlignment(VUSBDEV, 8);
 
 
-/** Pointer to the virtual method table for a kind of USB devices. */
-typedef struct vusb_dev_ops *PVUSBDEVOPS;
-
-/** Pointer to the const virtual method table for a kind of USB devices. */
-typedef const struct vusb_dev_ops *PCVUSBDEVOPS;
-
-/**
- * Virtual method table for USB devices - these are the functions you need to
- * implement when writing a new device (or hub)
- *
- * Note that when creating your structure, you are required to zero the
- * vusb_dev fields (ie. use calloc).
- */
-typedef struct vusb_dev_ops
-{
-    /* mandatory */
-    const char *name;
-} VUSBDEVOPS;
-
-
 int vusbDevInit(PVUSBDEV pDev, PPDMUSBINS pUsbIns, const char *pszCaptureFilename);
-int vusbDevCreateOld(const char *pszDeviceName, void *pvDriverInit, PCRTUUID pUuid, PVUSBDEV *ppDev);
 void vusbDevDestroy(PVUSBDEV pDev);
 
 DECLINLINE(bool) vusbDevIsRh(PVUSBDEV pDev)
@@ -273,9 +251,6 @@ bool vusbDevStandardRequest(PVUSBDEV pDev, int EndPt, PVUSBSETUP pSetup, void *p
 /** @} */
 
 
-
-
-
 /** @name Internal Hub Operations, Structures and Constants.
  * @{
  */
diff --git a/src/VBox/Devices/USB/solaris/USBProxyDevice-solaris.cpp b/src/VBox/Devices/USB/solaris/USBProxyDevice-solaris.cpp
index 48784a7..efa7a2e 100644
--- a/src/VBox/Devices/USB/solaris/USBProxyDevice-solaris.cpp
+++ b/src/VBox/Devices/USB/solaris/USBProxyDevice-solaris.cpp
@@ -20,9 +20,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_DRV_USBPROXY
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <sys/poll.h>
 #include <errno.h>
 #include <strings.h>
diff --git a/src/VBox/Devices/VMMDev/VMMDev.cpp b/src/VBox/Devices/VMMDev/VMMDev.cpp
index 42e1c84..b94a025 100644
--- a/src/VBox/Devices/VMMDev/VMMDev.cpp
+++ b/src/VBox/Devices/VMMDev/VMMDev.cpp
@@ -2176,7 +2176,7 @@ static int vmmdevReqHandler_LogString(PVMMDEV pThis, VMMDevRequestHeader *pReqHd
     AssertMsgReturn(pReq->szString[pReq->header.size - RT_OFFSETOF(VMMDevReqLogString, szString) - 1] == '\0',
                     ("not null terminated\n"), VERR_INVALID_PARAMETER);
 
-    LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("DEBUG LOG: %s", pReq->szString));
+    LogIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("DEBUG LOG: %s", pReq->szString));
     return VINF_SUCCESS;
 }
 #endif /* DEBUG */
@@ -2865,10 +2865,10 @@ static DECLCALLBACK(int) vmmdevBackdoorLog(PPDMDEVINS pDevIns, void *pvUser, RTI
         /* The raw version. */
         switch (u32)
         {
-            case '\r': LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <return>\n")); break;
-            case '\n': LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <newline>\n")); break;
-            case '\t': LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <tab>\n")); break;
-            default:   LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: %c (%02x)\n", u32, u32)); break;
+            case '\r': LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <return>\n")); break;
+            case '\n': LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <newline>\n")); break;
+            case '\t': LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: <tab>\n")); break;
+            default:   LogIt(RTLOGGRPFLAGS_LEVEL_2, LOG_GROUP_DEV_VMM_BACKDOOR, ("vmmdev: %c (%02x)\n", u32, u32)); break;
         }
 
         /* The readable, buffered version. */
@@ -2876,7 +2876,7 @@ static DECLCALLBACK(int) vmmdevBackdoorLog(PPDMDEVINS pDevIns, void *pvUser, RTI
         {
             pThis->szMsg[pThis->iMsg] = '\0';
             if (pThis->iMsg)
-                LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("VMMDev: Guest Log: %s\n", pThis->szMsg));
+                LogRelIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("VMMDev: Guest Log: %s\n", pThis->szMsg));
             pThis->iMsg = 0;
         }
         else
@@ -2884,7 +2884,7 @@ static DECLCALLBACK(int) vmmdevBackdoorLog(PPDMDEVINS pDevIns, void *pvUser, RTI
             if (pThis->iMsg >= sizeof(pThis->szMsg)-1)
             {
                 pThis->szMsg[pThis->iMsg] = '\0';
-                LogRelIt(LOG_REL_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("VMMDev: Guest Log: %s\n", pThis->szMsg));
+                LogRelIt(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP_DEV_VMM_BACKDOOR, ("VMMDev: Guest Log: %s\n", pThis->szMsg));
                 pThis->iMsg = 0;
             }
             pThis->szMsg[pThis->iMsg] = (char )u32;
diff --git a/src/VBox/Devices/build/VBoxDD.cpp b/src/VBox/Devices/build/VBoxDD.cpp
index 04b6e6c..7402624 100644
--- a/src/VBox/Devices/build/VBoxDD.cpp
+++ b/src/VBox/Devices/build/VBoxDD.cpp
@@ -124,11 +124,6 @@ extern "C" DECLEXPORT(int) VBoxDevicesRegister(PPDMDEVREGCB pCallbacks, uint32_t
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceICH6_HDA);
     if (RT_FAILURE(rc))
         return rc;
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceAudioSniffer);
-    if (RT_FAILURE(rc))
-        return rc;
-#endif
 #ifdef VBOX_WITH_VUSB
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceOHCI);
     if (RT_FAILURE(rc))
@@ -278,45 +273,43 @@ extern "C" DECLEXPORT(int) VBoxDriversRegister(PCPDMDRVREGCB pCallbacks, uint32_
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvAUDIO);
     if (RT_FAILURE(rc))
         return rc;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostNullAudio);
     if (RT_FAILURE(rc))
         return rc;
-# if defined(RT_OS_WINDOWS)
+#if defined(RT_OS_WINDOWS)
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostDSound);
     if (RT_FAILURE(rc))
         return rc;
-# endif
-# if defined(RT_OS_LINUX)
-#  ifdef VBOX_WITH_PULSE
+#endif
+#if defined(RT_OS_LINUX)
+# ifdef VBOX_WITH_PULSE
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostPulseAudio);
     if (RT_FAILURE(rc))
         return rc;
-#  endif
-#  ifdef VBOX_WITH_ALSA
+# endif
+# ifdef VBOX_WITH_ALSA
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostALSAAudio);
     if (RT_FAILURE(rc))
         return rc;
-#  endif
+# endif
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostOSSAudio);
     if (RT_FAILURE(rc))
         return rc;
-# endif
-# if defined(RT_OS_FREEBSD)
+#endif /* RT_OS_LINUX */
+#if defined(RT_OS_FREEBSD)
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostOSSAudio);
     if (RT_FAILURE(rc))
         return rc;
-# endif
-# if defined(RT_OS_DARWIN)
+#endif
+#if defined(RT_OS_DARWIN)
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostCoreAudio);
     if (RT_FAILURE(rc))
         return rc;
-# endif
-# if defined(RT_OS_SOLARIS)
+#endif
+#if defined(RT_OS_SOLARIS)
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostOSSAudio);
     if (RT_FAILURE(rc))
         return rc;
-# endif
 #endif
     rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvACPI);
     if (RT_FAILURE(rc))
diff --git a/src/VBox/Devices/build/VBoxDD.h b/src/VBox/Devices/build/VBoxDD.h
index 2c2d72a..a46b0ca 100644
--- a/src/VBox/Devices/build/VBoxDD.h
+++ b/src/VBox/Devices/build/VBoxDD.h
@@ -55,9 +55,6 @@ extern const PDMDEVREG g_DeviceINIP;
 extern const PDMDEVREG g_DeviceICHAC97;
 extern const PDMDEVREG g_DeviceSB16;
 extern const PDMDEVREG g_DeviceICH6_HDA;
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-extern const PDMDEVREG g_DeviceAudioSniffer;
-#endif
 extern const PDMDEVREG g_DeviceOHCI;
 extern const PDMDEVREG g_DeviceEHCI;
 extern const PDMDEVREG g_DeviceXHCI;
@@ -117,26 +114,24 @@ extern const PDMDRVREG g_DrvNetShaper;
 #endif /* VBOX_WITH_NETSHAPER */
 extern const PDMDRVREG g_DrvNetSniffer;
 extern const PDMDRVREG g_DrvAUDIO;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 extern const PDMDRVREG g_DrvHostNullAudio;
-# if defined(RT_OS_WINDOWS)
+#if defined(RT_OS_WINDOWS)
 extern const PDMDRVREG g_DrvHostDSound;
-# endif
-# if defined(RT_OS_LINUX)
+#endif
+#if defined(RT_OS_LINUX)
 extern const PDMDRVREG g_DrvHostPulseAudio;
 extern const PDMDRVREG g_DrvHostALSAAudio;
 extern const PDMDRVREG g_DrvHostOSSAudio;
-# endif
-# if defined(RT_OS_DARWIN)
+#endif
+#if defined(RT_OS_DARWIN)
 extern const PDMDRVREG g_DrvHostCoreAudio;
-# endif
-# if defined(RT_OS_SOLARIS)
+#endif
+#if defined(RT_OS_SOLARIS)
 extern const PDMDRVREG g_DrvHostOSSAudio;
 extern const PDMDRVREG g_DrvHostSolAudio;
-# endif
-# if defined(RT_OS_FREEBSD)
+#endif
+#if defined(RT_OS_FREEBSD)
 extern const PDMDRVREG g_DrvHostOSSAudio;
-# endif
 #endif
 extern const PDMDRVREG g_DrvACPI;
 extern const PDMDRVREG g_DrvAcpiCpu;
diff --git a/src/VBox/Devices/testcase/Makefile.kmk b/src/VBox/Devices/testcase/Makefile.kmk
index 40bb589..a48aa9e 100644
--- a/src/VBox/Devices/testcase/Makefile.kmk
+++ b/src/VBox/Devices/testcase/Makefile.kmk
@@ -44,8 +44,7 @@ VBOX_DEVICES_TESTS_FEATURES = \
 	$(if $(VBOX_WITH_WDDM),VBOX_WITH_WDDM,) \
 	$(if $(VBOX_WITH_VIDEOHWACCEL),VBOX_WITH_VIDEOHWACCEL,) \
 	$(if $(VBOX_WITH_PCI_PASSTHROUGH_IMPL),VBOX_WITH_PCI_PASSTHROUGH_IMPL,) \
-	$(if $(VBOX_WITH_VMSVGA),VBOX_WITH_VMSVGA,) \
-	$(if $(VBOX_WITH_PDM_AUDIO_DRIVER),VBOX_WITH_PDM_AUDIO_DRIVER,)
+	$(if $(VBOX_WITH_VMSVGA),VBOX_WITH_VMSVGA,)
 
 
 #
diff --git a/src/VBox/Devices/testcase/tstDeviceStructSize.cpp b/src/VBox/Devices/testcase/tstDeviceStructSize.cpp
index c8dc312..8ebb981 100644
--- a/src/VBox/Devices/testcase/tstDeviceStructSize.cpp
+++ b/src/VBox/Devices/testcase/tstDeviceStructSize.cpp
@@ -104,9 +104,8 @@
 # include "../Bus/DevPciRaw.cpp"
 #endif
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-# include <VBox/vmm/pdmaudioifs.h>
-#endif
+#include <VBox/vmm/pdmaudioifs.h>
+
 #undef LOG_GROUP
 #include "../Audio/DevIchAc97.cpp"
 #undef LOG_GROUP
diff --git a/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp b/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
index e45cd22..2261230 100644
--- a/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
+++ b/src/VBox/Devices/testcase/tstDeviceStructSizeRC.cpp
@@ -1838,7 +1838,6 @@ int main()
     GEN_CHECK_OFF(HPETTIMER, u64Period);
     GEN_CHECK_OFF(HPETTIMER, u8Wrap);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     GEN_CHECK_SIZE(AC97DRIVER);
     GEN_CHECK_OFF(AC97DRIVER, Node);
     GEN_CHECK_OFF(AC97DRIVER, pAC97State);
@@ -1858,7 +1857,6 @@ int main()
     GEN_CHECK_OFF(HDADRIVER, LineIn);
     GEN_CHECK_OFF(HDADRIVER, MicIn);
     GEN_CHECK_OFF(HDADRIVER, Out);
-#endif
 
     GEN_CHECK_SIZE(HDASTATE);
     GEN_CHECK_OFF(HDASTATE, PciDev);
@@ -1881,20 +1879,16 @@ int main()
     GEN_CHECK_OFF(HDASTATE, fCviIoc);
     GEN_CHECK_OFF(HDASTATE, fR0Enabled);
     GEN_CHECK_OFF(HDASTATE, fRCEnabled);
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     GEN_CHECK_OFF(HDASTATE, pTimer);
     GEN_CHECK_OFF(HDASTATE, uTicks);
-# ifdef VBOX_WITH_STATISTICS
+#ifdef VBOX_WITH_STATISTICS
     GEN_CHECK_OFF(HDASTATE, StatTimer);
-# endif
+#endif
     GEN_CHECK_OFF(HDASTATE, pCodec);
     GEN_CHECK_OFF(HDASTATE, lstDrv);
     GEN_CHECK_OFF(HDASTATE, pMixer);
     GEN_CHECK_OFF(HDASTATE, pSinkLineIn);
     GEN_CHECK_OFF(HDASTATE, pSinkMicIn);
-#else
-    GEN_CHECK_OFF(HDASTATE, pCodec);
-#endif
     GEN_CHECK_OFF(HDASTATE, u64BaseTS);
     GEN_CHECK_OFF(HDASTATE, u8Counter);
 
diff --git a/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStart.cpp b/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStart.cpp
index 9387c4d..2b05e4c 100644
--- a/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStart.cpp
+++ b/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStart.cpp
@@ -113,7 +113,7 @@ DECLHIDDEN(RTEXITCODE) autostartStartMain(PCFGAST pCfgAst)
         }
 
         if (   SUCCEEDED(rc)
-            && listVM.size())
+            && !listVM.empty())
         {
             ULONG uDelayCurr = 0;
 
@@ -121,7 +121,7 @@ DECLHIDDEN(RTEXITCODE) autostartStartMain(PCFGAST pCfgAst)
             listVM.sort(autostartVMCmp);
 
             std::list<AUTOSTARTVM>::iterator it;
-            for (it = listVM.begin(); it != listVM.end(); it++)
+            for (it = listVM.begin(); it != listVM.end(); ++it)
             {
                 ComPtr<IMachine> machine;
                 ComPtr<IProgress> progress;
diff --git a/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStop.cpp b/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStop.cpp
index bf41726..42871d3 100644
--- a/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStop.cpp
+++ b/src/VBox/Frontends/VBoxAutostart/VBoxAutostartStop.cpp
@@ -146,10 +146,10 @@ DECLHIDDEN(RTEXITCODE) autostartStopMain(PCFGAST pCfgAst)
         }
 
         if (   SUCCEEDED(rc)
-            && listVM.size())
+            && !listVM.empty())
         {
             std::list<AUTOSTOPVM>::iterator it;
-            for (it = listVM.begin(); it != listVM.end(); it++)
+            for (it = listVM.begin(); it != listVM.end(); ++it)
             {
                 MachineState_T enmMachineState;
                 ComPtr<IMachine> machine;
diff --git a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModAPIMonitor.cpp b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModAPIMonitor.cpp
index dc6a7b4..31a1d32 100644
--- a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModAPIMonitor.cpp
+++ b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModAPIMonitor.cpp
@@ -328,7 +328,7 @@ static bool apimonHandleVM(const PVBOXWATCHDOG_MACHINE pMachine)
             if (itInGroup != g_vecAPIMonGroups.end())
                 fHandleVM = true;
 
-            itVMGroup++;
+            ++itVMGroup;
         }
     }
     catch (...)
@@ -378,7 +378,7 @@ static int apimonTrigger(APIMON_RESPONSE enmResp)
             AssertFailed();
         }
 
-        it++;
+        ++it;
     }
 
     return rc;
@@ -508,7 +508,7 @@ static DECLCALLBACK(int) VBoxModAPIMonitorInit(void)
         while (itGroups != g_vecAPIMonGroups.end())
         {
             serviceLogVerbose((" %s", itGroups->first.c_str()));
-            itGroups++;
+            ++itGroups;
         }
         serviceLogVerbose(("\n"));
 #endif
diff --git a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModBallooning.cpp b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModBallooning.cpp
index 225ca0a..a00395f 100644
--- a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModBallooning.cpp
+++ b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxModBallooning.cpp
@@ -489,7 +489,7 @@ static DECLCALLBACK(int) VBoxModBallooningMain(void)
         if (RT_FAILURE(rc))
             break;
 
-        it++;
+        ++it;
     }
 
     return rc;
diff --git a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp
index a74c2bc..caa9703 100644
--- a/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp
+++ b/src/VBox/Frontends/VBoxBalloonCtrl/VBoxWatchdog.cpp
@@ -396,7 +396,7 @@ static int machineAdd(const Bstr &strUuid)
                 itGroups->second.push_back(strUuid);
             serviceLogVerbose(("Group \"%s\" has now %ld machine(s)\n",
                                itGroup->first.c_str(), itGroups->second.size()));
-            itGroup++;
+            ++itGroup;
         }
 
         /*
@@ -466,7 +466,7 @@ static int machineDestroy(const Bstr &strUuid)
                 g_mapGroup.erase(itGroup);
             }
 
-            itGroups++;
+            ++itGroups;
         }
 
 #ifndef VBOX_WATCHDOG_GLOBAL_PERFCOL
diff --git a/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp b/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp
index d0154e9..5e7f729 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxInternalManage.cpp
@@ -8,7 +8,7 @@
  */
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -447,7 +447,7 @@ static HRESULT SetInt64(ComPtr<IMachine> pMachine, const char *pszKeyBase, const
 /**
  * Identical to the 'loadsyms' command.
  */
-static int CmdLoadSyms(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdLoadSyms(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     HRESULT rc;
 
@@ -456,7 +456,7 @@ static int CmdLoadSyms(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, C
      */
     ComPtr<IMachine> machine;
     CHECK_ERROR_RET(aVirtualBox, FindMachine(Bstr(argv[0]).raw(),
-                                             machine.asOutParam()), 1);
+                                             machine.asOutParam()), RTEXITCODE_FAILURE);
 
     /*
      * Parse the command.
@@ -516,14 +516,14 @@ static int CmdLoadSyms(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, C
     if (SUCCEEDED(hrc) && argc >= 6)
         hrc = SetUInt64(machine, "VBoxInternal/DBGF/loadsyms", KeyStr.c_str(), "ModuleSize", ModuleSize);
 
-    return FAILED(hrc);
+    return SUCCEEDED(hrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 
 /**
  * Identical to the 'loadmap' command.
  */
-static int CmdLoadMap(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdLoadMap(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     HRESULT rc;
 
@@ -532,7 +532,7 @@ static int CmdLoadMap(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, Co
      */
     ComPtr<IMachine> machine;
     CHECK_ERROR_RET(aVirtualBox, FindMachine(Bstr(argv[0]).raw(),
-                                             machine.asOutParam()), 1);
+                                             machine.asOutParam()), RTEXITCODE_FAILURE);
 
     /*
      * Parse the command.
@@ -591,7 +591,7 @@ static int CmdLoadMap(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, Co
     if (SUCCEEDED(hrc) && iSeg != UINT32_MAX)
         hrc = SetUInt64(machine, "VBoxInternal/DBGF/loadmap", KeyStr.c_str(), "Segment", iSeg);
 
-    return FAILED(hrc);
+    return SUCCEEDED(hrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 
@@ -607,7 +607,7 @@ static int handleVDMessage(void *pvUser, const char *pszFormat, va_list va)
     return RTPrintfV(pszFormat, va);
 }
 
-static int CmdSetHDUUID(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdSetHDUUID(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Guid uuid;
     RTUUID rtuuid;
@@ -648,10 +648,7 @@ static int CmdSetHDUUID(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
     int rc = VDGetFormat(NULL /* pVDIfsDisk */, NULL /* pVDIfsImage */,
                          argv[1], &pszFormat, &enmType);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Format autodetect failed: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Format autodetect failed: %Rrc", rc);
 
     PVBOXHDD pDisk = NULL;
 
@@ -666,18 +663,12 @@ static int CmdSetHDUUID(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
 
     rc = VDCreate(pVDIfs, enmType, &pDisk);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Cannot create the virtual disk container: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot create the virtual disk container: %Rrc", rc);
 
     /* Open the image */
     rc = VDOpen(pDisk, pszFormat, argv[1], VD_OPEN_FLAGS_NORMAL | VD_OPEN_FLAGS_INFO, NULL);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Cannot open the image: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot open the image: %Rrc", rc);
 
     if (uuidType == HDUUID)
       rc = VDSetUuid(pDisk, VD_LAST_IMAGE, uuid.raw());
@@ -690,11 +681,11 @@ static int CmdSetHDUUID(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
 
     VDCloseAll(pDisk);
 
-    return RT_FAILURE(rc);
+    return RT_SUCCESS(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 
-static int CmdDumpHDInfo(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdDumpHDInfo(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     /* we need exactly one parameter: the image file */
     if (argc != 1)
@@ -708,10 +699,7 @@ static int CmdDumpHDInfo(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
     int rc = VDGetFormat(NULL /* pVDIfsDisk */, NULL /* pVDIfsImage */,
                          argv[0], &pszFormat, &enmType);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Format autodetect failed: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Format autodetect failed: %Rrc", rc);
 
     PVBOXHDD pDisk = NULL;
 
@@ -726,24 +714,18 @@ static int CmdDumpHDInfo(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
 
     rc = VDCreate(pVDIfs, enmType, &pDisk);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Cannot create the virtual disk container: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot create the virtual disk container: %Rrc", rc);
 
     /* Open the image */
     rc = VDOpen(pDisk, pszFormat, argv[0], VD_OPEN_FLAGS_READONLY | VD_OPEN_FLAGS_INFO, NULL);
     if (RT_FAILURE(rc))
-    {
-        RTMsgError("Cannot open the image: %Rrc", rc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot open the image: %Rrc", rc);
 
     VDDumpImages(pDisk);
 
     VDCloseAll(pDisk);
 
-    return RT_FAILURE(rc);
+    return RT_SUCCESS(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static int partRead(RTFILE File, PHOSTPARTITIONS pPart)
@@ -774,40 +756,43 @@ static int partRead(RTFILE File, PHOSTPARTITIONS pPart)
         rc = RTFileReadAt(File, sector_size, &partitionTableHeader, sector_size, NULL);
         if (RT_SUCCESS(rc))
         {
-            const char* l_ppth = (char*)partitionTableHeader;
+            /** @todo r=bird: This is a 64-bit magic value, right... */
+            const char *l_ppth = (char *)partitionTableHeader;
             if (strncmp(l_ppth, "EFI PART", 8))
                 return VERR_INVALID_PARAMETER;
 
             /** @todo check GPT Version */
 
-            uint64_t firstUsableLBA = RT_MAKE_U64_FROM_U8(partitionTableHeader[40],
-                                                          partitionTableHeader[41],
-                                                          partitionTableHeader[42],
-                                                          partitionTableHeader[43],
-                                                          partitionTableHeader[44],
-                                                          partitionTableHeader[45],
-                                                          partitionTableHeader[46],
-                                                          partitionTableHeader[47]
-                                                          );
-            lastUsableLBA = RT_MAKE_U64_FROM_U8( partitionTableHeader[48],
-                                                          partitionTableHeader[49],
-                                                          partitionTableHeader[50],
-                                                          partitionTableHeader[51],
-                                                          partitionTableHeader[52],
-                                                          partitionTableHeader[53],
-                                                          partitionTableHeader[54],
-                                                          partitionTableHeader[55]
-                                                          );
-            uint32_t partitionsNumber = RT_MAKE_U32_FROM_U8( partitionTableHeader[80],
-                                                          partitionTableHeader[81],
-                                                          partitionTableHeader[82],
-                                                          partitionTableHeader[83]
-                                                          );
-            uint32_t partitionEntrySize = RT_MAKE_U32_FROM_U8( partitionTableHeader[84],
-                                                          partitionTableHeader[85],
-                                                          partitionTableHeader[86],
-                                                          partitionTableHeader[87]
-                                                          );
+            /** @todo r=bird: C have this handy concept called structures which
+             *        greatly simplify data access...  (Someone is really lazy here!) */
+            uint64_t firstUsableLBA     = RT_MAKE_U64_FROM_U8(partitionTableHeader[40],
+                                                              partitionTableHeader[41],
+                                                              partitionTableHeader[42],
+                                                              partitionTableHeader[43],
+                                                              partitionTableHeader[44],
+                                                              partitionTableHeader[45],
+                                                              partitionTableHeader[46],
+                                                              partitionTableHeader[47]
+                                                              );
+            lastUsableLBA               = RT_MAKE_U64_FROM_U8(partitionTableHeader[48],
+                                                              partitionTableHeader[49],
+                                                              partitionTableHeader[50],
+                                                              partitionTableHeader[51],
+                                                              partitionTableHeader[52],
+                                                              partitionTableHeader[53],
+                                                              partitionTableHeader[54],
+                                                              partitionTableHeader[55]
+                                                              );
+            uint32_t partitionsNumber   = RT_MAKE_U32_FROM_U8(partitionTableHeader[80],
+                                                              partitionTableHeader[81],
+                                                              partitionTableHeader[82],
+                                                              partitionTableHeader[83]
+                                                              );
+            uint32_t partitionEntrySize = RT_MAKE_U32_FROM_U8(partitionTableHeader[84],
+                                                              partitionTableHeader[85],
+                                                              partitionTableHeader[86],
+                                                              partitionTableHeader[87]
+                                                              );
 
             uint32_t currentEntry = 0;
 
@@ -1064,7 +1049,7 @@ static int partRead(RTFILE File, PHOSTPARTITIONS pPart)
     return VINF_SUCCESS;
 }
 
-static int CmdListPartitions(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdListPartitions(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Utf8Str rawdisk;
 
@@ -1092,10 +1077,7 @@ static int CmdListPartitions(int argc, char **argv, ComPtr<IVirtualBox> aVirtual
     RTFILE hRawFile;
     int vrc = RTFileOpen(&hRawFile, rawdisk.c_str(), RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
     if (RT_FAILURE(vrc))
-    {
-        RTMsgError("Cannot open the raw disk: %Rrc", vrc);
-        return vrc;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot open the raw disk: %Rrc", vrc);
 
     HOSTPARTITIONS partitions;
     vrc = partRead(hRawFile, &partitions);
@@ -1122,7 +1104,7 @@ static int CmdListPartitions(int argc, char **argv, ComPtr<IVirtualBox> aVirtual
                  partitions.aPartitions[i].uStart);
     }
 
-    return vrc;
+    return RT_SUCCESS(vrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static PVBOXHDDRAWPARTDESC appendPartDesc(uint32_t *pcPartDescs, PVBOXHDDRAWPARTDESC *ppPartDescs)
@@ -1141,7 +1123,7 @@ static PVBOXHDDRAWPARTDESC appendPartDesc(uint32_t *pcPartDescs, PVBOXHDDRAWPART
     return p;
 }
 
-static int CmdCreateRawVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdCreateRawVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     HRESULT rc = S_OK;
     Utf8Str filename;
@@ -1811,14 +1793,14 @@ static int CmdCreateRawVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualB
             RTMemFree(RawDescriptor.pPartDescs);
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 
 out:
     RTMsgError("The raw disk vmdk file was not created");
-    return RT_SUCCESS(vrc) ? 0 : 1;
+    return RT_SUCCESS(vrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-static int CmdRenameVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdRenameVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Utf8Str src;
     Utf8Str dst;
@@ -1867,33 +1849,24 @@ static int CmdRenameVMDK(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox,
 
     vrc = VDCreate(pVDIfs, VDTYPE_HDD, &pDisk);
     if (RT_FAILURE(vrc))
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot create the virtual disk container: %Rrc", vrc);
+
+    vrc = VDOpen(pDisk, "VMDK", src.c_str(), VD_OPEN_FLAGS_NORMAL, NULL);
+    if (RT_SUCCESS(vrc))
     {
-        RTMsgError("Cannot create the virtual disk container: %Rrc", vrc);
-        return vrc;
-    }
-    else
-    {
-        vrc = VDOpen(pDisk, "VMDK", src.c_str(), VD_OPEN_FLAGS_NORMAL, NULL);
+        vrc = VDCopy(pDisk, 0, pDisk, "VMDK", dst.c_str(), true, 0,
+                     VD_IMAGE_FLAGS_NONE, NULL, VD_OPEN_FLAGS_NORMAL,
+                     NULL, NULL, NULL);
         if (RT_FAILURE(vrc))
-        {
-            RTMsgError("Cannot create the source image: %Rrc", vrc);
-        }
-        else
-        {
-            vrc = VDCopy(pDisk, 0, pDisk, "VMDK", dst.c_str(), true, 0,
-                         VD_IMAGE_FLAGS_NONE, NULL, VD_OPEN_FLAGS_NORMAL,
-                         NULL, NULL, NULL);
-            if (RT_FAILURE(vrc))
-            {
-                RTMsgError("Cannot rename the image: %Rrc", vrc);
-            }
-        }
+            RTMsgError("Cannot rename the image: %Rrc", vrc);
     }
+    else
+        RTMsgError("Cannot create the source image: %Rrc", vrc);
     VDCloseAll(pDisk);
-    return vrc;
+    return RT_SUCCESS(vrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Utf8Str srcformat;
     Utf8Str src;
@@ -1949,10 +1922,7 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
     /** @todo: Support convert to raw for floppy and DVD images too. */
     vrc = VDCreate(pVDIfs, VDTYPE_HDD, &pDisk);
     if (RT_FAILURE(vrc))
-    {
-        RTMsgError("Cannot create the virtual disk container: %Rrc", vrc);
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot create the virtual disk container: %Rrc", vrc);
 
     /* Open raw output file. */
     RTFILE outFile;
@@ -1964,8 +1934,7 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
     if (RT_FAILURE(vrc))
     {
         VDCloseAll(pDisk);
-        RTMsgError("Cannot create destination file \"%s\": %Rrc", dst.c_str(), vrc);
-        return 1;
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot create destination file \"%s\": %Rrc", dst.c_str(), vrc);
     }
 
     if (srcformat.isEmpty())
@@ -1986,7 +1955,7 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
                 RTMsgError("No file format specified and autodetect failed - please specify format: %Rrc", vrc);
             else
                 RTMsgError("Only converting harddisk images is supported");
-            return 1;
+            return RTEXITCODE_FAILURE;
         }
         srcformat = pszFormat;
         RTStrFree(pszFormat);
@@ -2000,8 +1969,7 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
             RTFileClose(outFile);
             RTFileDelete(dst.c_str());
         }
-        RTMsgError("Cannot open the source image: %Rrc", vrc);
-        return 1;
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot open the source image: %Rrc", vrc);
     }
 
     uint64_t cbSize = VDGetSize(pDisk, VD_LAST_IMAGE);
@@ -2032,8 +2000,7 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
                 RTFileClose(outFile);
                 RTFileDelete(dst.c_str());
             }
-            RTMsgError("Cannot copy image data: %Rrc", vrc);
-            return 1;
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot copy image data: %Rrc", vrc);
         }
     }
     else
@@ -2045,17 +2012,16 @@ static int CmdConvertToRaw(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBo
             RTFileClose(outFile);
             RTFileDelete(dst.c_str());
         }
-        RTMsgError("Out of memory allocating read buffer");
-        return 1;
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Out of memory allocating read buffer");
     }
 
     if (!fWriteToStdOut)
         RTFileClose(outFile);
     VDCloseAll(pDisk);
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
-static int CmdConvertHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdConvertHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Utf8Str srcformat;
     Utf8Str dstformat;
@@ -2178,7 +2144,7 @@ static int CmdConvertHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtua
     if (pSrcDisk)
         VDCloseAll(pSrcDisk);
 
-    return RT_SUCCESS(vrc) ? 0 : 1;
+    return RT_SUCCESS(vrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 /**
@@ -2186,7 +2152,7 @@ static int CmdConvertHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtua
  *
  * @returns VBox status code
  */
-static int CmdRepairHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdRepairHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     Utf8Str image;
     Utf8Str format;
@@ -2259,7 +2225,7 @@ static int CmdRepairHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtual
     }
     while (0);
 
-    return RT_SUCCESS(vrc) ? 0 : 1;
+    return RT_SUCCESS(vrc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 /**
@@ -2267,16 +2233,12 @@ static int CmdRepairHardDisk(int argc, char **argv, ComPtr<IVirtualBox> aVirtual
  *
  * @returns VBox status code
  */
-int CmdModUninstall(void)
+static RTEXITCODE CmdModUninstall(void)
 {
-    int rc;
-
-    rc = SUPR3Uninstall();
-    if (RT_SUCCESS(rc))
-        return 0;
-    if (rc == VERR_NOT_IMPLEMENTED)
-        return 0;
-    return E_FAIL;
+    int rc = SUPR3Uninstall();
+    if (RT_SUCCESS(rc) || rc == VERR_NOT_IMPLEMENTED)
+        return RTEXITCODE_SUCCESS;
+    return RTEXITCODE_FAILURE;
 }
 
 /**
@@ -2284,19 +2246,15 @@ int CmdModUninstall(void)
  *
  * @returns VBox status code
  */
-int CmdModInstall(void)
+static RTEXITCODE CmdModInstall(void)
 {
-    int rc;
-
-    rc = SUPR3Install();
-    if (RT_SUCCESS(rc))
-        return 0;
-    if (rc == VERR_NOT_IMPLEMENTED)
-        return 0;
-    return E_FAIL;
+    int rc = SUPR3Install();
+    if (RT_SUCCESS(rc) || rc == VERR_NOT_IMPLEMENTED)
+        return RTEXITCODE_SUCCESS;
+    return RTEXITCODE_FAILURE;
 }
 
-int CmdDebugLog(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdDebugLog(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     /*
      * The first parameter is the name or UUID of a VM with a direct session
@@ -2308,18 +2266,18 @@ int CmdDebugLog(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<I
     ComPtr<IMachine> ptrMachine;
     HRESULT rc;
     CHECK_ERROR_RET(aVirtualBox, FindMachine(Bstr(argv[0]).raw(),
-                                             ptrMachine.asOutParam()), 1);
+                                             ptrMachine.asOutParam()), RTEXITCODE_FAILURE);
 
-    CHECK_ERROR_RET(ptrMachine, LockMachine(aSession, LockType_Shared), 1);
+    CHECK_ERROR_RET(ptrMachine, LockMachine(aSession, LockType_Shared), RTEXITCODE_FAILURE);
 
     /*
      * Get the debugger interface.
      */
     ComPtr<IConsole> ptrConsole;
-    CHECK_ERROR_RET(aSession, COMGETTER(Console)(ptrConsole.asOutParam()), 1);
+    CHECK_ERROR_RET(aSession, COMGETTER(Console)(ptrConsole.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IMachineDebugger> ptrDebugger;
-    CHECK_ERROR_RET(ptrConsole, COMGETTER(Debugger)(ptrDebugger.asOutParam()), 1);
+    CHECK_ERROR_RET(ptrConsole, COMGETTER(Debugger)(ptrDebugger.asOutParam()), RTEXITCODE_FAILURE);
 
     /*
      * Parse the command.
@@ -2399,21 +2357,21 @@ int CmdDebugLog(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<I
      * Do the job.
      */
     if (fEnablePresent && !fEnable)
-        CHECK_ERROR_RET(ptrDebugger, COMSETTER(LogEnabled)(FALSE), 1);
+        CHECK_ERROR_RET(ptrDebugger, COMSETTER(LogEnabled)(FALSE), RTEXITCODE_FAILURE);
 
     /** @todo flags, groups destination. */
     if (fFlagsPresent || fGroupsPresent || fDestsPresent)
         RTMsgWarning("One or more of the requested features are not implemented! Feel free to do this.");
 
     if (fEnablePresent && fEnable)
-        CHECK_ERROR_RET(ptrDebugger, COMSETTER(LogEnabled)(TRUE), 1);
-    return 0;
+        CHECK_ERROR_RET(ptrDebugger, COMSETTER(LogEnabled)(TRUE), RTEXITCODE_FAILURE);
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * Generate a SHA-256 password hash
  */
-int CmdGeneratePasswordHash(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdGeneratePasswordHash(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     /* one parameter, the password to hash */
     if (argc != 1)
@@ -2425,14 +2383,14 @@ int CmdGeneratePasswordHash(int argc, char **argv, ComPtr<IVirtualBox> aVirtualB
     RTSha256ToString(abDigest, pszDigest, sizeof(pszDigest));
     RTPrintf("Password hash: %s\n", pszDigest);
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * Print internal guest statistics or
  * set internal guest statistics update interval if specified
  */
-int CmdGuestStats(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
+static RTEXITCODE CmdGuestStats(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr<ISession> aSession)
 {
     /* one parameter, guest name */
     if (argc < 1)
@@ -2473,21 +2431,21 @@ int CmdGuestStats(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr
     ComPtr<IMachine> ptrMachine;
     HRESULT rc;
     CHECK_ERROR_RET(aVirtualBox, FindMachine(Bstr(argv[0]).raw(),
-                                             ptrMachine.asOutParam()), 1);
+                                             ptrMachine.asOutParam()), RTEXITCODE_FAILURE);
 
-    CHECK_ERROR_RET(ptrMachine, LockMachine(aSession, LockType_Shared), 1);
+    CHECK_ERROR_RET(ptrMachine, LockMachine(aSession, LockType_Shared), RTEXITCODE_FAILURE);
 
     /*
      * Get the guest interface.
      */
     ComPtr<IConsole> ptrConsole;
-    CHECK_ERROR_RET(aSession, COMGETTER(Console)(ptrConsole.asOutParam()), 1);
+    CHECK_ERROR_RET(aSession, COMGETTER(Console)(ptrConsole.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IGuest> ptrGuest;
-    CHECK_ERROR_RET(ptrConsole, COMGETTER(Guest)(ptrGuest.asOutParam()), 1);
+    CHECK_ERROR_RET(ptrConsole, COMGETTER(Guest)(ptrGuest.asOutParam()), RTEXITCODE_FAILURE);
 
     if (aUpdateInterval)
-        CHECK_ERROR_RET(ptrGuest, COMSETTER(StatisticsUpdateInterval)(aUpdateInterval), 1);
+        CHECK_ERROR_RET(ptrGuest, COMSETTER(StatisticsUpdateInterval)(aUpdateInterval), RTEXITCODE_FAILURE);
     else
     {
         ULONG mCpuUser, mCpuKernel, mCpuIdle;
@@ -2495,8 +2453,10 @@ int CmdGuestStats(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr
         ULONG ulMemAllocTotal, ulMemFreeTotal, ulMemBalloonTotal, ulMemSharedTotal;
 
         CHECK_ERROR_RET(ptrGuest, InternalGetStatistics(&mCpuUser, &mCpuKernel, &mCpuIdle,
-                                        &mMemTotal, &mMemFree, &mMemBalloon, &mMemShared, &mMemCache,
-                                                        &mPageTotal, &ulMemAllocTotal, &ulMemFreeTotal, &ulMemBalloonTotal, &ulMemSharedTotal), 1);
+                                                        &mMemTotal, &mMemFree, &mMemBalloon, &mMemShared, &mMemCache,
+                                                        &mPageTotal, &ulMemAllocTotal, &ulMemFreeTotal,
+                                                        &ulMemBalloonTotal, &ulMemSharedTotal),
+                        RTEXITCODE_FAILURE);
         RTPrintf("mCpuUser=%u mCpuKernel=%u mCpuIdle=%u\n"
                  "mMemTotal=%u mMemFree=%u mMemBalloon=%u mMemShared=%u mMemCache=%u\n"
                  "mPageTotal=%u ulMemAllocTotal=%u ulMemFreeTotal=%u ulMemBalloonTotal=%u ulMemSharedTotal=%u\n",
@@ -2506,14 +2466,14 @@ int CmdGuestStats(int argc, char **argv, ComPtr<IVirtualBox> aVirtualBox, ComPtr
 
     }
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 
 /**
  * Wrapper for handling internal commands
  */
-int handleInternalCommands(HandlerArg *a)
+RTEXITCODE handleInternalCommands(HandlerArg *a)
 {
     g_fInternalMode = true;
 
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManage.cpp b/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
index 11817c2..ca66d38 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManage.cpp
@@ -48,6 +48,34 @@
 
 
 /*******************************************************************************
+*   Defined Constants And Macros                                               *
+*******************************************************************************/
+/** The command doesn't need the COM stuff. */
+#define VBMG_CMD_F_NO_COM       RT_BIT_32(0)
+
+
+/*******************************************************************************
+*   Structures and Typedefs                                                    *
+*******************************************************************************/
+/**
+ * VBoxManage command descriptor.
+ */
+typedef struct VBMGCMD
+{
+    /** The command.   */
+    const char     *pszCommand;
+    /** The help category. */
+    USAGECATEGORY   enmHelpCat;
+    /** The handler. */
+    RTEXITCODE (*pfnHandler)(HandlerArg *pArg);
+    /** VBMG_CMD_F_XXX,    */
+    uint32_t        fFlags;
+} VBMGCMD;
+/** Pointer to a const VBoxManage command descriptor. */
+typedef VBMGCMD const *PCVBMGCMD;
+
+
+/*******************************************************************************
 *   Global Variables                                                           *
 *******************************************************************************/
 /*extern*/ bool         g_fDetailedProgress = false;
@@ -56,6 +84,92 @@
 /** Set by the signal handler. */
 static volatile bool    g_fCanceled = false;
 
+# ifdef RT_OS_WINDOWS
+// Required for ATL
+static CComModule       _Module;
+# endif
+
+/**
+ * All registered command handlers
+ */
+static const VBMGCMD g_aCommands[] =
+{
+    { "internalcommands",   0,                          handleInternalCommands,     0 },
+    { "list",               USAGE_LIST,                 handleList,                 0 },
+    { "showvminfo",         USAGE_SHOWVMINFO,           handleShowVMInfo,           0 },
+    { "registervm",         USAGE_REGISTERVM,           handleRegisterVM,           0 },
+    { "unregistervm",       USAGE_UNREGISTERVM,         handleUnregisterVM,         0 },
+    { "clonevm",            USAGE_CLONEVM,              handleCloneVM,              0 },
+    { "mediumproperty",     USAGE_MEDIUMPROPERTY,       handleMediumProperty,       0 },
+    { "hdproperty",         USAGE_MEDIUMPROPERTY,       handleMediumProperty,       0 }, /* backward compatibility */
+    { "createmedium",       USAGE_CREATEMEDIUM,         handleCreateMedium,         0 },
+    { "createhd",           USAGE_CREATEMEDIUM,         handleCreateMedium,         0 }, /* backward compatibility */
+    { "createvdi",          USAGE_CREATEMEDIUM,         handleCreateMedium,         0 }, /* backward compatibility */
+    { "modifymedium",       USAGE_MODIFYMEDIUM,         handleModifyMedium,         0 },
+    { "modifyhd",           USAGE_MODIFYMEDIUM,         handleModifyMedium,         0 }, /* backward compatibility */
+    { "modifyvdi",          USAGE_MODIFYMEDIUM,         handleModifyMedium,         0 }, /* backward compatibility */
+    { "clonemedium",        USAGE_CLONEMEDIUM,          handleCloneMedium,          0 },
+    { "clonehd",            USAGE_CLONEMEDIUM,          handleCloneMedium,          0 }, /* backward compatibility */
+    { "clonevdi",           USAGE_CLONEMEDIUM,          handleCloneMedium,          0 }, /* backward compatibility */
+    { "encryptmedium",      USAGE_ENCRYPTMEDIUM,        handleEncryptMedium,        0 },
+    { "checkmediumpwd",     USAGE_MEDIUMENCCHKPWD,      handleCheckMediumPassword,  0 },
+    { "createvm",           USAGE_CREATEVM,             handleCreateVM,             0 },
+    { "modifyvm",           USAGE_MODIFYVM,             handleModifyVM,             0 },
+    { "startvm",            USAGE_STARTVM,              handleStartVM,              0 },
+    { "controlvm",          USAGE_CONTROLVM,            handleControlVM,            0 },
+    { "discardstate",       USAGE_DISCARDSTATE,         handleDiscardState,         0 },
+    { "adoptstate",         USAGE_ADOPTSTATE,           handleAdoptState,           0 },
+    { "snapshot",           USAGE_SNAPSHOT,             handleSnapshot,             0 },
+    { "closemedium",        USAGE_CLOSEMEDIUM,          handleCloseMedium,          0 },
+    { "storageattach",      USAGE_STORAGEATTACH,        handleStorageAttach,        0 },
+    { "storagectl",         USAGE_STORAGECONTROLLER,    handleStorageController,    0 },
+    { "showmediuminfo",     USAGE_SHOWMEDIUMINFO,       handleShowMediumInfo,       0 },
+    { "showhdinfo",         USAGE_SHOWMEDIUMINFO,       handleShowMediumInfo,       0 }, /* backward compatibility */
+    { "showvdiinfo",        USAGE_SHOWMEDIUMINFO,       handleShowMediumInfo,       0 }, /* backward compatibility */
+    { "getextradata",       USAGE_GETEXTRADATA,         handleGetExtraData,         0 },
+    { "setextradata",       USAGE_SETEXTRADATA,         handleSetExtraData,         0 },
+    { "setproperty",        USAGE_SETPROPERTY,          handleSetProperty,          0 },
+    { "usbfilter",          USAGE_USBFILTER,            handleUSBFilter,            0 },
+    { "sharedfolder",       USAGE_SHAREDFOLDER,         handleSharedFolder,         0 },
+#ifdef VBOX_WITH_GUEST_PROPS
+    { "guestproperty",      USAGE_GUESTPROPERTY,        handleGuestProperty,        0 },
+#endif
+#ifdef VBOX_WITH_GUEST_CONTROL
+    { "guestcontrol",       USAGE_GUESTCONTROL,         handleGuestControl,         0 },
+#endif
+    { "metrics",            USAGE_METRICS,              handleMetrics,              0 },
+    { "import",             USAGE_IMPORTAPPLIANCE,      handleImportAppliance,      0 },
+    { "export",             USAGE_EXPORTAPPLIANCE,      handleExportAppliance,      0 },
+#ifdef VBOX_WITH_NETFLT
+    { "hostonlyif",         USAGE_HOSTONLYIFS,          handleHostonlyIf,           0 },
+#endif
+    { "dhcpserver",         USAGE_DHCPSERVER,           handleDHCPServer,           0 },
+#ifdef VBOX_WITH_NAT_SERVICE
+    { "natnetwork",         USAGE_NATNETWORK,           handleNATNetwork,           0 },
+#endif
+    { "extpack",            USAGE_EXTPACK,              handleExtPack,              0 },
+    { "bandwidthctl",       USAGE_BANDWIDTHCONTROL,     handleBandwidthControl,     0 },
+    { "debugvm",            USAGE_DEBUGVM,              handleDebugVM,              0 },
+    { "convertfromraw",     USAGE_CONVERTFROMRAW,       handleConvertFromRaw,       VBMG_CMD_F_NO_COM },
+    { "convertdd",          USAGE_CONVERTFROMRAW,       handleConvertFromRaw,       VBMG_CMD_F_NO_COM },
+};
+
+
+/**
+ * Looks up a command by name.
+ *
+ * @returns Pointer to the command structure.
+ * @param   pszCommand          Name of the command.
+ */
+static PCVBMGCMD lookupCommand(const char *pszCommand)
+{
+    if (pszCommand)
+        for (uint32_t i = 0; i < RT_ELEMENTS(g_aCommands); i++)
+            if (!strcmp(g_aCommands[i].pszCommand, pszCommand))
+                return &g_aCommands[i];
+    return NULL;
+}
+
 
 /**
  * Signal handler that sets g_fCanceled.
@@ -206,9 +320,9 @@ HRESULT showProgress(ComPtr<IProgress> progress)
     if (fCancelable)
     {
         signal(SIGINT,   SIG_DFL);
-#ifdef SIGBREAK
+# ifdef SIGBREAK
         signal(SIGBREAK, SIG_DFL);
-#endif
+# endif
     }
 
     /* complete the line. */
@@ -238,15 +352,6 @@ HRESULT showProgress(ComPtr<IProgress> progress)
     return hrc;
 }
 
-#ifdef RT_OS_WINDOWS
-// Required for ATL
-static CComModule _Module;
-#endif
-
-#endif /* !VBOX_ONLY_DOCS */
-
-
-#ifndef VBOX_ONLY_DOCS
 RTEXITCODE readPasswordFile(const char *pszFilename, com::Utf8Str *pPasswd)
 {
     size_t cbFile;
@@ -291,12 +396,7 @@ static RTEXITCODE settingsPasswordFile(ComPtr<IVirtualBox> virtualBox, const cha
     com::Utf8Str passwd;
     RTEXITCODE rcExit = readPasswordFile(pszFilename, &passwd);
     if (rcExit == RTEXITCODE_SUCCESS)
-    {
-        int rc;
-        CHECK_ERROR(virtualBox, SetSettingsSecret(com::Bstr(passwd).raw()));
-        if (FAILED(rc))
-            rcExit = RTEXITCODE_FAILURE;
-    }
+        CHECK_ERROR2I_STMT(virtualBox, SetSettingsSecret(com::Bstr(passwd).raw()), rcExit = RTEXITCODE_FAILURE);
 
     return rcExit;
 }
@@ -342,7 +442,8 @@ RTEXITCODE readPasswordFromConsole(com::Utf8Str *pPassword, const char *pszPromp
     return rcExit;
 }
 
-#endif
+#endif /* !VBOX_ONLY_DOCS */
+
 
 int main(int argc, char *argv[])
 {
@@ -359,17 +460,17 @@ int main(int argc, char *argv[])
     bool fShowHelp = false;
     int  iCmd      = 1;
     int  iCmdArg;
-    const char *g_pszSettingsPw = NULL;
-    const char *g_pszSettingsPwFile = NULL;
+    const char *pszSettingsPw = NULL;
+    const char *pszSettingsPwFile = NULL;
 
     for (int i = 1; i < argc || argc <= iCmd; i++)
     {
         if (    argc <= iCmd
             ||  !strcmp(argv[i], "help")
+            ||  !strcmp(argv[i], "--help")
             ||  !strcmp(argv[i], "-?")
             ||  !strcmp(argv[i], "-h")
-            ||  !strcmp(argv[i], "-help")
-            ||  !strcmp(argv[i], "--help"))
+            ||  !strcmp(argv[i], "-help"))
         {
             if (i >= argc - 1)
             {
@@ -383,18 +484,19 @@ int main(int argc, char *argv[])
             continue;
         }
 
-        if (   !strcmp(argv[i], "-v")
-            || !strcmp(argv[i], "-version")
-            || !strcmp(argv[i], "-Version")
-            || !strcmp(argv[i], "--version"))
+        if (   !strcmp(argv[i], "-V")
+            || !strcmp(argv[i], "--version")
+            || !strcmp(argv[i], "-v")       /* deprecated */
+            || !strcmp(argv[i], "-version") /* deprecated */
+            || !strcmp(argv[i], "-Version") /* deprecated */)
         {
             /* Print version number, and do nothing else. */
-            RTPrintf("%sr%d\n", VBOX_VERSION_STRING, RTBldCfgRevision());
+            RTPrintf("%sr%u\n", VBOX_VERSION_STRING, RTBldCfgRevision());
             return 0;
         }
 
         if (   !strcmp(argv[i], "--dumpopts")
-            || !strcmp(argv[i], "-dumpopts"))
+            || !strcmp(argv[i], "-dumpopts") /* deprecated */)
         {
             /* Special option to dump really all commands,
              * even the ones not understood on this platform. */
@@ -403,8 +505,8 @@ int main(int argc, char *argv[])
         }
 
         if (   !strcmp(argv[i], "--nologo")
-            || !strcmp(argv[i], "-nologo")
-            || !strcmp(argv[i], "-q"))
+            || !strcmp(argv[i], "-q")
+            || !strcmp(argv[i], "-nologo") /* deprecated */)
         {
             /* suppress the logo */
             fShowLogo = false;
@@ -419,19 +521,17 @@ int main(int argc, char *argv[])
         }
         else if (!strcmp(argv[i], "--settingspw"))
         {
-            if (i >= argc-1)
-                return RTMsgErrorExit(RTEXITCODE_FAILURE,
-                                      "Password expected");
+            if (i >= argc - 1)
+                return RTMsgErrorExit(RTEXITCODE_FAILURE, "Password expected");
             /* password for certain settings */
-            g_pszSettingsPw = argv[i+1];
+            pszSettingsPw = argv[i + 1];
             iCmd += 2;
         }
         else if (!strcmp(argv[i], "--settingspwfile"))
         {
             if (i >= argc-1)
-                return RTMsgErrorExit(RTEXITCODE_FAILURE,
-                                      "No password file specified");
-            g_pszSettingsPwFile = argv[i+1];
+                return RTMsgErrorExit(RTEXITCODE_FAILURE, "No password file specified");
+            pszSettingsPwFile = argv[i+1];
             iCmd += 2;
         }
         else
@@ -440,61 +540,110 @@ int main(int argc, char *argv[])
 
     iCmdArg = iCmd + 1;
 
+    /*
+     * Show the logo and lookup the command and deal with fShowHelp = true.
+     */
     if (fShowLogo)
         showLogo(g_pStdOut);
 
-
 #ifndef VBOX_ONLY_DOCS
-    /*
-     * Initialize COM.
-     */
-    using namespace com;
-    HRESULT hrc = com::Initialize();
-# ifdef VBOX_WITH_XPCOM
-    if (hrc == NS_ERROR_FILE_ACCESS_DENIED)
+    PCVBMGCMD pCmd = lookupCommand(argv[iCmd]);
+    if (   pCmd
+        && (   fShowHelp
+            || (   argc - iCmdArg == 0
+                && pCmd->enmHelpCat != 0)))
     {
-        char szHome[RTPATH_MAX] = "";
-        com::GetVBoxUserHomeDirectory(szHome, sizeof(szHome));
-        return RTMsgErrorExit(RTEXITCODE_FAILURE,
-               "Failed to initialize COM because the global settings directory '%s' is not accessible!", szHome);
+        printUsage(pCmd->enmHelpCat, ~0U, g_pStdOut);
+        return RTEXITCODE_FAILURE; /* error */
+    }
+    if (!pCmd)
+    {
+        if (!strcmp(argv[iCmd], "commands"))
+        {
+            RTPrintf("commands:\n");
+            for (unsigned i = 0; i < RT_ELEMENTS(g_aCommands); i++)
+                if (   i == 0  /* skip backwards compatibility entries */
+                    || g_aCommands[i].enmHelpCat != g_aCommands[i - 1].enmHelpCat)
+                    RTPrintf("    %s\n", g_aCommands[i].pszCommand);
+            return RTEXITCODE_SUCCESS;
+        }
+        return errorSyntax(USAGE_ALL, "Invalid command '%s'", argv[iCmd]);
     }
-# endif
-    if (FAILED(hrc))
-        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Failed to initialize COM!");
 
-    RTEXITCODE rcExit = RTEXITCODE_FAILURE;
-    do
+    RTEXITCODE rcExit;
+    if (!(pCmd->fFlags & VBMG_CMD_F_NO_COM))
     {
-    ///////////////////////////////////////////////////////////////////////////
-    // scopes all the stuff till shutdown
         /*
-         * convertfromraw: does not need a VirtualBox instantiation.
+         * Initialize COM.
          */
-        if (argc >= iCmdArg && (   !strcmp(argv[iCmd], "convertfromraw")
-                                || !strcmp(argv[iCmd], "convertdd")))
+        using namespace com;
+        HRESULT hrc = com::Initialize();
+        if (FAILED(hrc))
         {
-            rcExit = handleConvertFromRaw(argc - iCmdArg, argv + iCmdArg);
-            break;
+# ifdef VBOX_WITH_XPCOM
+            if (hrc == NS_ERROR_FILE_ACCESS_DENIED)
+            {
+                char szHome[RTPATH_MAX] = "";
+                com::GetVBoxUserHomeDirectory(szHome, sizeof(szHome));
+                return RTMsgErrorExit(RTEXITCODE_FAILURE,
+                       "Failed to initialize COM because the global settings directory '%s' is not accessible!", szHome);
+            }
+# endif
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Failed to initialize COM! (hrc=%Rhrc)", hrc);
         }
 
+
         /*
          * Get the remote VirtualBox object and create a local session object.
          */
+        rcExit = RTEXITCODE_FAILURE;
         ComPtr<IVirtualBox> virtualBox;
-        ComPtr<ISession> session;
-
         hrc = virtualBox.createLocalObject(CLSID_VirtualBox);
-        if (FAILED(hrc))
-            RTMsgError("Failed to create the VirtualBox object!");
-        else
+        if (SUCCEEDED(hrc))
         {
+            ComPtr<ISession> session;
             hrc = session.createInprocObject(CLSID_Session);
-            if (FAILED(hrc))
+            if (SUCCEEDED(hrc))
+            {
+                /* Session secret. */
+                if (pszSettingsPw)
+                    CHECK_ERROR2I_STMT(virtualBox, SetSettingsSecret(Bstr(pszSettingsPw).raw()), rcExit = RTEXITCODE_FAILURE);
+                else if (pszSettingsPwFile)
+                    rcExit = settingsPasswordFile(virtualBox, pszSettingsPwFile);
+                else
+                    rcExit = RTEXITCODE_SUCCESS;
+                if (rcExit == RTEXITCODE_SUCCESS)
+                {
+                    /*
+                     * Call the handler.
+                     */
+                    HandlerArg handlerArg = { argc - iCmdArg, &argv[iCmdArg], virtualBox, session };
+                    rcExit = pCmd->pfnHandler(&handlerArg);
+
+                    /* Although all handlers should always close the session if they open it,
+                     * we do it here just in case if some of the handlers contains a bug --
+                     * leaving the direct session not closed will turn the machine state to
+                     * Aborted which may have unwanted side effects like killing the saved
+                     * state file (if the machine was in the Saved state before). */
+                    session->UnlockMachine();
+                }
+
+                NativeEventQueue::getMainEventQueue()->processEventQueue(0);
+            }
+            else
+            {
+                com::ErrorInfo info;
                 RTMsgError("Failed to create a session object!");
+                if (!info.isFullAvailable() && !info.isBasicAvailable())
+                    com::GluePrintRCMessage(hrc);
+                else
+                    com::GluePrintErrorInfo(info);
+            }
         }
-        if (FAILED(hrc))
+        else
         {
             com::ErrorInfo info;
+            RTMsgError("Failed to create the VirtualBox object!");
             if (!info.isFullAvailable() && !info.isBasicAvailable())
             {
                 com::GluePrintRCMessage(hrc);
@@ -502,145 +651,25 @@ int main(int argc, char *argv[])
             }
             else
                 com::GluePrintErrorInfo(info);
-            break;
         }
 
         /*
-         * All registered command handlers
+         * Terminate COM, make sure the virtualBox object has been released.
          */
-        static const struct
-        {
-            const char *command;
-            USAGECATEGORY help;
-            int (*handler)(HandlerArg *a);
-        } s_commandHandlers[] =
-        {
-            { "internalcommands", 0,                       handleInternalCommands },
-            { "list",             USAGE_LIST,              handleList },
-            { "showvminfo",       USAGE_SHOWVMINFO,        handleShowVMInfo },
-            { "registervm",       USAGE_REGISTERVM,        handleRegisterVM },
-            { "unregistervm",     USAGE_UNREGISTERVM,      handleUnregisterVM },
-            { "clonevm",          USAGE_CLONEVM,           handleCloneVM },
-            { "mediumproperty",   USAGE_MEDIUMPROPERTY,    handleMediumProperty },
-            { "hdproperty",       USAGE_MEDIUMPROPERTY,    handleMediumProperty }, /* backward compatibility */
-            { "createmedium",     USAGE_CREATEMEDIUM,      handleCreateMedium },
-            { "createhd",         USAGE_CREATEMEDIUM,      handleCreateMedium }, /* backward compatibility */
-            { "createvdi",        USAGE_CREATEMEDIUM,      handleCreateMedium }, /* backward compatibility */
-            { "modifymedium",     USAGE_MODIFYMEDIUM,      handleModifyMedium },
-            { "modifyhd",         USAGE_MODIFYMEDIUM,      handleModifyMedium }, /* backward compatibility */
-            { "modifyvdi",        USAGE_MODIFYMEDIUM,      handleModifyMedium }, /* backward compatibility */
-            { "clonemedium",      USAGE_CLONEMEDIUM,       handleCloneMedium },
-            { "clonehd",          USAGE_CLONEMEDIUM,       handleCloneMedium }, /* backward compatibility */
-            { "clonevdi",         USAGE_CLONEMEDIUM,       handleCloneMedium }, /* backward compatibility */
-            { "encryptmedium",    USAGE_ENCRYPTMEDIUM,     handleEncryptMedium},
-            { "checkmediumpwd",   USAGE_MEDIUMENCCHKPWD,   handleCheckMediumPassword},
-            { "createvm",         USAGE_CREATEVM,          handleCreateVM },
-            { "modifyvm",         USAGE_MODIFYVM,          handleModifyVM },
-            { "startvm",          USAGE_STARTVM,           handleStartVM },
-            { "controlvm",        USAGE_CONTROLVM,         handleControlVM },
-            { "discardstate",     USAGE_DISCARDSTATE,      handleDiscardState },
-            { "adoptstate",       USAGE_ADOPTSTATE,        handleAdoptState },
-            { "snapshot",         USAGE_SNAPSHOT,          handleSnapshot },
-            { "closemedium",      USAGE_CLOSEMEDIUM,       handleCloseMedium },
-            { "storageattach",    USAGE_STORAGEATTACH,     handleStorageAttach },
-            { "storagectl",       USAGE_STORAGECONTROLLER, handleStorageController },
-            { "showmediuminfo",   USAGE_SHOWMEDIUMINFO,    handleShowMediumInfo },
-            { "showhdinfo",       USAGE_SHOWMEDIUMINFO,    handleShowMediumInfo }, /* backward compatibility */
-            { "showvdiinfo",      USAGE_SHOWMEDIUMINFO,    handleShowMediumInfo }, /* backward compatibility */
-            { "getextradata",     USAGE_GETEXTRADATA,      handleGetExtraData },
-            { "setextradata",     USAGE_SETEXTRADATA,      handleSetExtraData },
-            { "setproperty",      USAGE_SETPROPERTY,       handleSetProperty },
-            { "usbfilter",        USAGE_USBFILTER,         handleUSBFilter },
-            { "sharedfolder",     USAGE_SHAREDFOLDER,      handleSharedFolder },
-#ifdef VBOX_WITH_GUEST_PROPS
-            { "guestproperty",    USAGE_GUESTPROPERTY,     handleGuestProperty },
-#endif
-#ifdef VBOX_WITH_GUEST_CONTROL
-            { "guestcontrol",     USAGE_GUESTCONTROL,      handleGuestControl },
-#endif
-            { "metrics",          USAGE_METRICS,           handleMetrics },
-            { "import",           USAGE_IMPORTAPPLIANCE,   handleImportAppliance },
-            { "export",           USAGE_EXPORTAPPLIANCE,   handleExportAppliance },
-#ifdef VBOX_WITH_NETFLT
-            { "hostonlyif",       USAGE_HOSTONLYIFS,       handleHostonlyIf },
-#endif
-            { "dhcpserver",       USAGE_DHCPSERVER,        handleDHCPServer},
-#ifdef VBOX_WITH_NAT_SERVICE
-            { "natnetwork",       USAGE_NATNETWORK,        handleNATNetwork},
-#endif
-            { "extpack",          USAGE_EXTPACK,           handleExtPack},
-            { "bandwidthctl",     USAGE_BANDWIDTHCONTROL,  handleBandwidthControl},
-            { "debugvm",          USAGE_DEBUGVM,           handleDebugVM},
-            { NULL,               0,                       NULL }
-        };
-
-        if (g_pszSettingsPw)
-        {
-            int rc;
-            CHECK_ERROR(virtualBox, SetSettingsSecret(Bstr(g_pszSettingsPw).raw()));
-            if (FAILED(rc))
-            {
-                rcExit = RTEXITCODE_FAILURE;
-                break;
-            }
-        }
-        else if (g_pszSettingsPwFile)
-        {
-            rcExit = settingsPasswordFile(virtualBox, g_pszSettingsPwFile);
-            if (rcExit != RTEXITCODE_SUCCESS)
-                break;
-        }
-
-        HandlerArg  handlerArg = { 0, NULL, virtualBox, session };
-        int         commandIndex;
-        for (commandIndex = 0; s_commandHandlers[commandIndex].command != NULL; commandIndex++)
-        {
-            if (!strcmp(s_commandHandlers[commandIndex].command, argv[iCmd]))
-            {
-                handlerArg.argc = argc - iCmdArg;
-                handlerArg.argv = &argv[iCmdArg];
-
-                if (   fShowHelp
-                    || (   argc - iCmdArg == 0
-                        && s_commandHandlers[commandIndex].help))
-                {
-                    printUsage(s_commandHandlers[commandIndex].help, ~0U, g_pStdOut);
-                    rcExit = RTEXITCODE_FAILURE; /* error */
-                }
-                else
-                    rcExit = (RTEXITCODE)s_commandHandlers[commandIndex].handler(&handlerArg); /** @todo Change to return RTEXITCODE. */
-                break;
-            }
-        }
-        if (!s_commandHandlers[commandIndex].command)
-        {
-            /* Help topics. */
-            if (fShowHelp && !strcmp(argv[iCmd], "commands"))
-            {
-                RTPrintf("commands:\n");
-                for (unsigned i = 0; i < RT_ELEMENTS(s_commandHandlers) - 1; i++)
-                    if (   i ==  0  /* skip backwards compatibility entries */
-                        || s_commandHandlers[i].help != s_commandHandlers[i - 1].help)
-                        RTPrintf("    %s\n", s_commandHandlers[i].command);
-            }
-            else
-                rcExit = errorSyntax(USAGE_ALL, "Invalid command '%s'", Utf8Str(argv[iCmd]).c_str());
-        }
-
-        /* Although all handlers should always close the session if they open it,
-         * we do it here just in case if some of the handlers contains a bug --
-         * leaving the direct session not closed will turn the machine state to
-         * Aborted which may have unwanted side effects like killing the saved
-         * state file (if the machine was in the Saved state before). */
-        session->UnlockMachine();
-
+        virtualBox.setNull();
         NativeEventQueue::getMainEventQueue()->processEventQueue(0);
-
-    // end "all-stuff" scope
-    ///////////////////////////////////////////////////////////////////////////
-    } while (0);
-
-    com::Shutdown();
+        com::Shutdown();
+    }
+    else
+    {
+        /*
+         * The command needs no COM.
+         */
+        HandlerArg  handlerArg;
+        handlerArg.argc = argc - iCmdArg;
+        handlerArg.argv = &argv[iCmdArg];
+        rcExit = pCmd->pfnHandler(&handlerArg);
+    }
 
     return rcExit;
 #else  /* VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManage.h b/src/VBox/Frontends/VBoxManage/VBoxManage.h
index 4d13493..c712654 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManage.h
+++ b/src/VBox/Frontends/VBoxManage/VBoxManage.h
@@ -31,6 +31,7 @@
 #include <iprt/stream.h>
 #include <iprt/getopt.h>
 
+
 ////////////////////////////////////////////////////////////////////////////////
 //
 // definitions
@@ -154,6 +155,7 @@ typedef enum
     VMINFO_COMPACT          = 4
 } VMINFO_DETAILS;
 
+
 ////////////////////////////////////////////////////////////////////////////////
 //
 // global variables
@@ -162,6 +164,7 @@ typedef enum
 
 extern bool g_fDetailedProgress;        // in VBoxManage.cpp
 
+
 ////////////////////////////////////////////////////////////////////////////////
 //
 // prototypes
@@ -189,11 +192,11 @@ void showLogo(PRTSTREAM pStrm);
 RTEXITCODE readPasswordFile(const char *pszFilename, com::Utf8Str *pPasswd);
 RTEXITCODE readPasswordFromConsole(com::Utf8Str *pPassword, const char *pszPrompt, ...);
 
-int handleInternalCommands(HandlerArg *a);
+RTEXITCODE handleInternalCommands(HandlerArg *a);
 #endif /* !VBOX_ONLY_DOCS */
 
 /* VBoxManageControlVM.cpp */
-int handleControlVM(HandlerArg *a);
+RTEXITCODE handleControlVM(HandlerArg *a);
 #ifndef VBOX_ONLY_DOCS
 unsigned int getMaxNics(IVirtualBox* vbox, IMachine* mach);
 #endif
@@ -202,10 +205,10 @@ unsigned int getMaxNics(IVirtualBox* vbox, IMachine* mach);
 #ifndef VBOX_ONLY_DOCS
 void parseGroups(const char *pcszGroups, com::SafeArray<BSTR> *pGroups);
 #endif
-int handleModifyVM(HandlerArg *a);
+RTEXITCODE handleModifyVM(HandlerArg *a);
 
 /* VBoxManageDebugVM.cpp */
-int handleDebugVM(HandlerArg *a);
+RTEXITCODE handleDebugVM(HandlerArg *a);
 
 /* VBoxManageGuestProp.cpp */
 extern void usageGuestProperty(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszSep2);
@@ -215,10 +218,10 @@ extern void usageGuestControl(PRTSTREAM pStrm, const char *pcszSep1, const char
 
 #ifndef VBOX_ONLY_DOCS
 /* VBoxManageGuestProp.cpp */
-extern int handleGuestProperty(HandlerArg *a);
+RTEXITCODE handleGuestProperty(HandlerArg *a);
 
 /* VBoxManageGuestCtrl.cpp */
-extern int handleGuestControl(HandlerArg *a);
+RTEXITCODE handleGuestControl(HandlerArg *a);
 
 /* VBoxManageVMInfo.cpp */
 HRESULT showSnapshots(ComPtr<ISnapshot> &rootSnapshot,
@@ -226,7 +229,7 @@ HRESULT showSnapshots(ComPtr<ISnapshot> &rootSnapshot,
                       VMINFO_DETAILS details,
                       const com::Utf8Str &prefix = "",
                       int level = 0);
-int handleShowVMInfo(HandlerArg *a);
+RTEXITCODE handleShowVMInfo(HandlerArg *a);
 HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
                    ComPtr<IMachine> pMachine,
                    ComPtr<ISession> pSession,
@@ -236,73 +239,74 @@ HRESULT showBandwidthGroups(ComPtr<IBandwidthControl> &bwCtrl,
                             VMINFO_DETAILS details);
 
 /* VBoxManageList.cpp */
-int handleList(HandlerArg *a);
+RTEXITCODE handleList(HandlerArg *a);
 
 /* VBoxManageMetrics.cpp */
-int handleMetrics(HandlerArg *a);
+RTEXITCODE handleMetrics(HandlerArg *a);
 
 /* VBoxManageMisc.cpp */
-int handleRegisterVM(HandlerArg *a);
-int handleUnregisterVM(HandlerArg *a);
-int handleCreateVM(HandlerArg *a);
-int handleCloneVM(HandlerArg *a);
-int handleStartVM(HandlerArg *a);
-int handleDiscardState(HandlerArg *a);
-int handleAdoptState(HandlerArg *a);
-int handleGetExtraData(HandlerArg *a);
-int handleSetExtraData(HandlerArg *a);
-int handleSetProperty(HandlerArg *a);
-int handleSharedFolder(HandlerArg *a);
-int handleExtPack(HandlerArg *a);
+RTEXITCODE handleRegisterVM(HandlerArg *a);
+RTEXITCODE handleUnregisterVM(HandlerArg *a);
+RTEXITCODE handleCreateVM(HandlerArg *a);
+RTEXITCODE handleCloneVM(HandlerArg *a);
+RTEXITCODE handleStartVM(HandlerArg *a);
+RTEXITCODE handleDiscardState(HandlerArg *a);
+RTEXITCODE handleAdoptState(HandlerArg *a);
+RTEXITCODE handleGetExtraData(HandlerArg *a);
+RTEXITCODE handleSetExtraData(HandlerArg *a);
+RTEXITCODE handleSetProperty(HandlerArg *a);
+RTEXITCODE handleSharedFolder(HandlerArg *a);
+RTEXITCODE handleExtPack(HandlerArg *a);
 
 /* VBoxManageDisk.cpp */
 HRESULT openMedium(HandlerArg *a, const char *pszFilenameOrUuid,
                    DeviceType_T enmDevType, AccessMode_T enmAccessMode,
                    ComPtr<IMedium> &pMedium, bool fForceNewUuidOnOpen,
                    bool fSilent);
-int handleCreateMedium(HandlerArg *a);
-int handleModifyMedium(HandlerArg *a);
-int handleCloneMedium(HandlerArg *a);
-int handleMediumProperty(HandlerArg *a);
-int handleEncryptMedium(HandlerArg *a);
-int handleCheckMediumPassword(HandlerArg *a);
-RTEXITCODE handleConvertFromRaw(int argc, char *argv[]);
+RTEXITCODE handleCreateMedium(HandlerArg *a);
+RTEXITCODE handleModifyMedium(HandlerArg *a);
+RTEXITCODE handleCloneMedium(HandlerArg *a);
+RTEXITCODE handleMediumProperty(HandlerArg *a);
+RTEXITCODE handleEncryptMedium(HandlerArg *a);
+RTEXITCODE handleCheckMediumPassword(HandlerArg *a);
+RTEXITCODE handleConvertFromRaw(HandlerArg *a);
 HRESULT showMediumInfo(const ComPtr<IVirtualBox> &pVirtualBox,
                        const ComPtr<IMedium> &pMedium,
                        const char *pszParentUUID,
                        bool fOptLong);
-int handleShowMediumInfo(HandlerArg *a);
-int handleCloseMedium(HandlerArg *a);
+RTEXITCODE handleShowMediumInfo(HandlerArg *a);
+RTEXITCODE handleCloseMedium(HandlerArg *a);
 int parseMediumType(const char *psz, MediumType_T *penmMediumType);
 int parseBool(const char *psz, bool *pb);
 
 /* VBoxManageStorageController.cpp */
-int handleStorageAttach(HandlerArg *a);
-int handleStorageController(HandlerArg *a);
+RTEXITCODE handleStorageAttach(HandlerArg *a);
+RTEXITCODE handleStorageController(HandlerArg *a);
 
 // VBoxManageImport.cpp
-int handleImportAppliance(HandlerArg *a);
-int handleExportAppliance(HandlerArg *a);
+RTEXITCODE handleImportAppliance(HandlerArg *a);
+RTEXITCODE handleExportAppliance(HandlerArg *a);
 
 // VBoxManageSnapshot.cpp
-int handleSnapshot(HandlerArg *a);
+RTEXITCODE handleSnapshot(HandlerArg *a);
 
 /* VBoxManageUSB.cpp */
-int handleUSBFilter(HandlerArg *a);
+RTEXITCODE handleUSBFilter(HandlerArg *a);
 
 /* VBoxManageHostonly.cpp */
-int handleHostonlyIf(HandlerArg *a);
+RTEXITCODE handleHostonlyIf(HandlerArg *a);
 
 /* VBoxManageDHCPServer.cpp */
-int handleDHCPServer(HandlerArg *a);
+RTEXITCODE handleDHCPServer(HandlerArg *a);
 
 /* VBoxManageNATNetwork.cpp */
-int handleNATNetwork(HandlerArg *a);
+RTEXITCODE handleNATNetwork(HandlerArg *a);
 
 
 /* VBoxManageBandwidthControl.cpp */
-int handleBandwidthControl(HandlerArg *a);
+RTEXITCODE handleBandwidthControl(HandlerArg *a);
 
 #endif /* !VBOX_ONLY_DOCS */
 
 #endif /* !___H_VBOXMANAGE */
+
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageAppliance.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageAppliance.cpp
index 20084c9..4575007 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageAppliance.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageAppliance.cpp
@@ -143,7 +143,7 @@ static const RTGETOPTDEF g_aImportApplianceOptions[] =
     { "--options",              'O', RTGETOPT_REQ_STRING },
 };
 
-int handleImportAppliance(HandlerArg *arg)
+RTEXITCODE handleImportAppliance(HandlerArg *arg)
 {
     HRESULT rc = S_OK;
 
@@ -946,7 +946,7 @@ static const RTGETOPTDEF g_aExportOptions[] =
     { "--options",              'O', RTGETOPT_REQ_STRING },
 };
 
-int handleExportAppliance(HandlerArg *a)
+RTEXITCODE handleExportAppliance(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -1191,7 +1191,7 @@ int handleExportAppliance(HandlerArg *a)
                         {
                             RTMsgError("Cannot read license file \"%s\" which should be included in the virtual system %u.",
                                        itD->second.c_str(), i);
-                            return 1;
+                            return RTEXITCODE_FAILURE;
                         }
                     }
                 }
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageBandwidthControl.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageBandwidthControl.cpp
index 80ab0fa..d828df4 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageBandwidthControl.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageBandwidthControl.cpp
@@ -173,7 +173,7 @@ static RTEXITCODE handleBandwidthControlAdd(HandlerArg *a, ComPtr<IBandwidthCont
         return RTEXITCODE_FAILURE;
     }
 
-    CHECK_ERROR2_RET(bwCtrl, CreateBandwidthGroup(name.raw(), enmType, (LONG64)cMaxBytesPerSec), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(bwCtrl, CreateBandwidthGroup(name.raw(), enmType, (LONG64)cMaxBytesPerSec), RTEXITCODE_FAILURE);
 
     return RTEXITCODE_SUCCESS;
 }
@@ -236,9 +236,9 @@ static RTEXITCODE handleBandwidthControlSet(HandlerArg *a, ComPtr<IBandwidthCont
     if (cMaxBytesPerSec != INT64_MAX)
     {
         ComPtr<IBandwidthGroup> bwGroup;
-        CHECK_ERROR2_RET(bwCtrl, GetBandwidthGroup(name.raw(), bwGroup.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(bwCtrl, GetBandwidthGroup(name.raw(), bwGroup.asOutParam()), RTEXITCODE_FAILURE);
         if (SUCCEEDED(rc))
-            CHECK_ERROR2_RET(bwGroup, COMSETTER(MaxBytesPerSec)((LONG64)cMaxBytesPerSec), RTEXITCODE_FAILURE);
+            CHECK_ERROR2I_RET(bwGroup, COMSETTER(MaxBytesPerSec)((LONG64)cMaxBytesPerSec), RTEXITCODE_FAILURE);
     }
 
     return RTEXITCODE_SUCCESS;
@@ -253,7 +253,7 @@ static RTEXITCODE handleBandwidthControlSet(HandlerArg *a, ComPtr<IBandwidthCont
 static RTEXITCODE handleBandwidthControlRemove(HandlerArg *a, ComPtr<IBandwidthControl> &bwCtrl)
 {
     Bstr name(a->argv[2]);
-    CHECK_ERROR2_RET(bwCtrl, DeleteBandwidthGroup(name.raw()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(bwCtrl, DeleteBandwidthGroup(name.raw()), RTEXITCODE_FAILURE);
     return RTEXITCODE_SUCCESS;
 }
 
@@ -300,7 +300,7 @@ static RTEXITCODE handleBandwidthControlList(HandlerArg *pArgs, ComPtr<IBandwidt
  * @returns Exit code.
  * @param   a               The handler argument package.
  */
-int handleBandwidthControl(HandlerArg *a)
+RTEXITCODE handleBandwidthControl(HandlerArg *a)
 {
     int c = VERR_INTERNAL_ERROR;        /* initialized to shut up gcc */
     HRESULT rc = S_OK;
@@ -314,12 +314,12 @@ int handleBandwidthControl(HandlerArg *a)
 
     /* try to find the given machine */
     CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[0]).raw(),
-                                               machine.asOutParam()), 1);
+                                               machine.asOutParam()), RTEXITCODE_FAILURE);
 
     /* open a session for the VM (new or shared) */
-    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
     SessionType_T st;
-    CHECK_ERROR_RET(a->session, COMGETTER(Type)(&st), 1);
+    CHECK_ERROR_RET(a->session, COMGETTER(Type)(&st), RTEXITCODE_FAILURE);
     bool fRunTime = (st == SessionType_Shared);
 
     /* get the mutable session machine */
@@ -363,7 +363,7 @@ leave:
     /* it's important to always close sessions */
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
index 5833729..851381a 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
@@ -81,7 +81,7 @@ unsigned int getMaxNics(IVirtualBox* vbox, IMachine* mach)
 }
 
 
-int handleControlVM(HandlerArg *a)
+RTEXITCODE handleControlVM(HandlerArg *a)
 {
     using namespace com;
     bool fNeedsSaving = false;
@@ -95,10 +95,10 @@ int handleControlVM(HandlerArg *a)
     CHECK_ERROR(a->virtualBox, FindMachine(Bstr(a->argv[0]).raw(),
                                            machine.asOutParam()));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     /* open a session for the VM */
-    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
     ComPtr<IConsole> console;
     ComPtr<IMachine> sessionMachine;
@@ -110,6 +110,9 @@ int handleControlVM(HandlerArg *a)
         /* ... and session machine */
         CHECK_ERROR_BREAK(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()));
 
+        if (!console)
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Machine '%s' is not currently running", a->argv[0]);
+
         /* which command? */
         if (!strcmp(a->argv[1], "pause"))
         {
@@ -419,7 +422,7 @@ int handleControlVM(HandlerArg *a)
                 {
                     if (a->argv[2])
                     {
-                        CHECK_ERROR_RET(adapter, COMSETTER(TraceFile)(Bstr(a->argv[2]).raw()), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(TraceFile)(Bstr(a->argv[2]).raw()), RTEXITCODE_FAILURE);
                     }
                     else
                     {
@@ -462,11 +465,11 @@ int handleControlVM(HandlerArg *a)
                 {
                     if (!strcmp(a->argv[2], "on"))
                     {
-                        CHECK_ERROR_RET(adapter, COMSETTER(TraceEnabled)(TRUE), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(TraceEnabled)(TRUE), RTEXITCODE_FAILURE);
                     }
                     else if (!strcmp(a->argv[2], "off"))
                     {
-                        CHECK_ERROR_RET(adapter, COMSETTER(TraceEnabled)(FALSE), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(TraceEnabled)(FALSE), RTEXITCODE_FAILURE);
                     }
                     else
                     {
@@ -712,15 +715,15 @@ int handleControlVM(HandlerArg *a)
                 {
                     if (!strcmp(a->argv[2], "null"))
                     {
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Null), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Null), RTEXITCODE_FAILURE);
                     }
                     else if (!strcmp(a->argv[2], "nat"))
                     {
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
                         if (a->argc == 4)
-                            CHECK_ERROR_RET(adapter, COMSETTER(NATNetwork)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_NAT), 1);
+                            CHECK_ERROR_RET(adapter, COMSETTER(NATNetwork)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_NAT), RTEXITCODE_FAILURE);
                     }
                     else if (  !strcmp(a->argv[2], "bridged")
                             || !strcmp(a->argv[2], "hostif")) /* backward compatibility */
@@ -731,9 +734,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(BridgedInterface)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Bridged), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(BridgedInterface)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Bridged), RTEXITCODE_FAILURE);
                     }
                     else if (!strcmp(a->argv[2], "intnet"))
                     {
@@ -743,9 +746,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(InternalNetwork)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Internal), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(InternalNetwork)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Internal), RTEXITCODE_FAILURE);
                     }
 #if defined(VBOX_WITH_NETFLT)
                     else if (!strcmp(a->argv[2], "hostonly"))
@@ -756,9 +759,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(HostOnlyInterface)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_HostOnly), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(HostOnlyInterface)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_HostOnly), RTEXITCODE_FAILURE);
                     }
 #endif
                     else if (!strcmp(a->argv[2], "generic"))
@@ -769,9 +772,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(GenericDriver)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Generic), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(GenericDriver)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Generic), RTEXITCODE_FAILURE);
                     }
                     else if (!strcmp(a->argv[2], "natnetwork"))
                     {
@@ -781,9 +784,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(NATNetwork)(Bstr(a->argv[3]).raw()), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_NATNetwork), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(NATNetwork)(Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_NATNetwork), RTEXITCODE_FAILURE);
                     }
                     /** @todo obsolete, remove eventually */
                     else if (!strcmp(a->argv[2], "vde"))
@@ -794,9 +797,9 @@ int handleControlVM(HandlerArg *a)
                             rc = E_FAIL;
                             break;
                         }
-                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), 1);
-                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Generic), 1);
-                        CHECK_ERROR_RET(adapter, SetProperty(Bstr("name").raw(), Bstr(a->argv[3]).raw()), 1);
+                        CHECK_ERROR_RET(adapter, COMSETTER(Enabled)(TRUE), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, COMSETTER(AttachmentType)(NetworkAttachmentType_Generic), RTEXITCODE_FAILURE);
+                        CHECK_ERROR_RET(adapter, SetProperty(Bstr("name").raw(), Bstr(a->argv[3]).raw()), RTEXITCODE_FAILURE);
                     }
                     else
                     {
@@ -1394,9 +1397,9 @@ int handleControlVM(HandlerArg *a)
             RTFileClose(pngFile);
         }
 #ifdef VBOX_WITH_VPX
-        /* 
-         * Note: Commands starting with "vcp" are the deprecated versions and are 
-         *       kept to ensure backwards compatibility. 
+        /*
+         * Note: Commands starting with "vcp" are the deprecated versions and are
+         *       kept to ensure backwards compatibility.
          */
         else if (   !strcmp(a->argv[1], "videocap")
                  || !strcmp(a->argv[1], "vcpenabled"))
@@ -1409,11 +1412,11 @@ int handleControlVM(HandlerArg *a)
             }
             if (!strcmp(a->argv[2], "on"))
             {
-                CHECK_ERROR_RET(sessionMachine, COMSETTER(VideoCaptureEnabled)(TRUE), 1);
+                CHECK_ERROR_RET(sessionMachine, COMSETTER(VideoCaptureEnabled)(TRUE), RTEXITCODE_FAILURE);
             }
             else if (!strcmp(a->argv[2], "off"))
             {
-                CHECK_ERROR_RET(sessionMachine, COMSETTER(VideoCaptureEnabled)(FALSE), 1);
+                CHECK_ERROR_RET(sessionMachine, COMSETTER(VideoCaptureEnabled)(FALSE), RTEXITCODE_FAILURE);
             }
             else
             {
@@ -1563,7 +1566,7 @@ int handleControlVM(HandlerArg *a)
                 errorSyntax(USAGE_CONTROLVM, "Incorrect number of parameters");
                 rc = E_FAIL;
                 break;
-            }   
+            }
 
             uint32_t uVal;
             int vrc = RTStrToUInt32Ex(a->argv[2], NULL, 0, &uVal);
@@ -1583,7 +1586,7 @@ int handleControlVM(HandlerArg *a)
                 errorSyntax(USAGE_CONTROLVM, "Incorrect number of parameters");
                 rc = E_FAIL;
                 break;
-            } 
+            }
 
             uint32_t uVal;
             int vrc = RTStrToUInt32Ex(a->argv[2], NULL, 0, &uVal);
@@ -1603,7 +1606,7 @@ int handleControlVM(HandlerArg *a)
                 errorSyntax(USAGE_CONTROLVM, "Incorrect number of parameters");
                 rc = E_FAIL;
                 break;
-            }   
+            }
 
             uint32_t uVal;
             int vrc = RTStrToUInt32Ex(a->argv[2], NULL, 0, &uVal);
@@ -1623,7 +1626,7 @@ int handleControlVM(HandlerArg *a)
                 errorSyntax(USAGE_CONTROLVM, "Incorrect number of parameters");
                 rc = E_FAIL;
                 break;
-            }   
+            }
 
             CHECK_ERROR_BREAK(sessionMachine, COMSETTER(VideoCaptureOptions)(Bstr(a->argv[3]).raw()));
         }
@@ -1698,12 +1701,30 @@ int handleControlVM(HandlerArg *a)
 
             BOOL fRemoveOnSuspend = FALSE;
             Bstr bstrPwId(a->argv[2]);
-            Bstr bstrPw(a->argv[3]);
+            Utf8Str strPassword;
+
+            if (!RTStrCmp(a->argv[3], "-"))
+            {
+                /* Get password from console. */
+                RTEXITCODE rcExit = readPasswordFromConsole(&strPassword, "Enter password:");
+                if (rcExit == RTEXITCODE_FAILURE)
+                    break;
+            }
+            else
+            {
+                RTEXITCODE rcExit = readPasswordFile(a->argv[3], &strPassword);
+                if (rcExit == RTEXITCODE_FAILURE)
+                {
+                    RTMsgError("Failed to read new password from file");
+                    break;
+                }
+            }
+
             if (   a->argc == 6
                 && !strcmp(a->argv[5], "yes"))
                 fRemoveOnSuspend = TRUE;
 
-            CHECK_ERROR_BREAK(console, AddDiskEncryptionPassword(bstrPwId.raw(), bstrPw.raw(), fRemoveOnSuspend));
+            CHECK_ERROR_BREAK(console, AddDiskEncryptionPassword(bstrPwId.raw(), Bstr(strPassword).raw(), fRemoveOnSuspend));
         }
         else if (!strcmp(a->argv[1], "removeencpassword"))
         {
@@ -1732,5 +1753,5 @@ int handleControlVM(HandlerArg *a)
 
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageDHCPServer.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageDHCPServer.cpp
index c908daa..585e77e 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageDHCPServer.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageDHCPServer.cpp
@@ -112,7 +112,7 @@ static const RTGETOPTDEF g_aDHCPIPOptions[]
 
       };
 
-static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
+static RTEXITCODE handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
 {
     if (a->argc - iStart < 2)
         return errorSyntax(USAGE_DHCPSERVER, "Not enough parameters");
@@ -430,27 +430,28 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
             return errorArgument("Failed to remove server");
     }
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 
-int handleDHCPServer(HandlerArg *a)
+RTEXITCODE handleDHCPServer(HandlerArg *a)
 {
     if (a->argc < 1)
         return errorSyntax(USAGE_DHCPSERVER, "Not enough parameters");
 
-    int result;
+    RTEXITCODE rcExit;
     int cProcessed;
     if (strcmp(a->argv[0], "modify") == 0)
-        result = handleOp(a, OP_MODIFY, 1, &cProcessed);
+        rcExit = handleOp(a, OP_MODIFY, 1, &cProcessed);
     else if (strcmp(a->argv[0], "add") == 0)
-        result = handleOp(a, OP_ADD, 1, &cProcessed);
+        rcExit = handleOp(a, OP_ADD, 1, &cProcessed);
     else if (strcmp(a->argv[0], "remove") == 0)
-        result = handleOp(a, OP_REMOVE, 1, &cProcessed);
+        rcExit = handleOp(a, OP_REMOVE, 1, &cProcessed);
     else
-        result = errorSyntax(USAGE_DHCPSERVER, "Invalid parameter '%s'", Utf8Str(a->argv[0]).c_str());
+        rcExit = errorSyntax(USAGE_DHCPSERVER, "Invalid parameter '%s'", Utf8Str(a->argv[0]).c_str());
 
-    return result;
+    return rcExit;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
+
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageDebugVM.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageDebugVM.cpp
index c74db1e..4d37f94 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageDebugVM.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageDebugVM.cpp
@@ -78,8 +78,9 @@ static RTEXITCODE handleDebugVM_GetRegisters(HandlerArg *pArgs, IMachineDebugger
                 {
                     com::SafeArray<BSTR> aBstrNames;
                     com::SafeArray<BSTR> aBstrValues;
-                    CHECK_ERROR2_RET(pDebugger, GetRegisters(idCpu, ComSafeArrayAsOutParam(aBstrNames), ComSafeArrayAsOutParam(aBstrValues)),
-                                     RTEXITCODE_FAILURE);
+                    CHECK_ERROR2I_RET(pDebugger, GetRegisters(idCpu, ComSafeArrayAsOutParam(aBstrNames),
+                                                              ComSafeArrayAsOutParam(aBstrValues)),
+                                      RTEXITCODE_FAILURE);
                     Assert(aBstrNames.size() == aBstrValues.size());
 
                     size_t cchMaxName  = 8;
@@ -97,7 +98,7 @@ static RTEXITCODE handleDebugVM_GetRegisters(HandlerArg *pArgs, IMachineDebugger
                 {
                     com::Bstr bstrName = ValueUnion.psz;
                     com::Bstr bstrValue;
-                    CHECK_ERROR2_RET(pDebugger, GetRegister(idCpu, bstrName.raw(), bstrValue.asOutParam()), RTEXITCODE_FAILURE);
+                    CHECK_ERROR2I_RET(pDebugger, GetRegister(idCpu, bstrName.raw(), bstrValue.asOutParam()), RTEXITCODE_FAILURE);
                     RTPrintf("%s = %ls\n", ValueUnion.psz, bstrValue.raw());
                 }
                 cRegisters++;
@@ -128,7 +129,7 @@ static RTEXITCODE handleDebugVM_Info(HandlerArg *a, IMachineDebugger *pDebugger)
     com::Bstr bstrName(a->argv[2]);
     com::Bstr bstrArgs(a->argv[3]);
     com::Bstr bstrInfo;
-    CHECK_ERROR2_RET(pDebugger, Info(bstrName.raw(), bstrArgs.raw(), bstrInfo.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, Info(bstrName.raw(), bstrArgs.raw(), bstrInfo.asOutParam()), RTEXITCODE_FAILURE);
     RTPrintf("%ls", bstrInfo.raw());
     return RTEXITCODE_SUCCESS;
 }
@@ -144,7 +145,7 @@ static RTEXITCODE handleDebugVM_InjectNMI(HandlerArg *a, IMachineDebugger *pDebu
 {
     if (a->argc != 2)
         return errorSyntax(USAGE_DEBUGVM, "The inject sub-command does not take any arguments");
-    CHECK_ERROR2_RET(pDebugger, InjectNMI(), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, InjectNMI(), RTEXITCODE_FAILURE);
     return RTEXITCODE_SUCCESS;
 }
 
@@ -218,11 +219,11 @@ static RTEXITCODE handleDebugVM_LogXXXX(HandlerArg *pArgs, IMachineDebugger *pDe
 
     com::Bstr bstrSettings(strSettings);
     if (!strcmp(pszSubCmd, "log"))
-        CHECK_ERROR2_RET(pDebugger, ModifyLogGroups(bstrSettings.raw()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, ModifyLogGroups(bstrSettings.raw()), RTEXITCODE_FAILURE);
     else if (!strcmp(pszSubCmd, "logdest"))
-        CHECK_ERROR2_RET(pDebugger, ModifyLogDestinations(bstrSettings.raw()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, ModifyLogDestinations(bstrSettings.raw()), RTEXITCODE_FAILURE);
     else if (!strcmp(pszSubCmd, "logflags"))
-        CHECK_ERROR2_RET(pDebugger, ModifyLogFlags(bstrSettings.raw()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, ModifyLogFlags(bstrSettings.raw()), RTEXITCODE_FAILURE);
     else
         AssertFailedReturn(RTEXITCODE_FAILURE);
 
@@ -287,12 +288,12 @@ static RTEXITCODE handleDebugVM_DumpVMCore(HandlerArg *pArgs, IMachineDebugger *
 
     com::Bstr bstrFilename(szAbsFilename);
     com::Bstr bstrCompression(pszCompression);
-    CHECK_ERROR2_RET(pDebugger, DumpGuestCore(bstrFilename.raw(), bstrCompression.raw()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, DumpGuestCore(bstrFilename.raw(), bstrCompression.raw()), RTEXITCODE_FAILURE);
     return RTEXITCODE_SUCCESS;
 }
 
 /**
- * Handles the os sub-command.
+ * Handles the osdetect sub-command.
  *
  * @returns Suitable exit code.
  * @param   a                   The handler arguments.
@@ -305,16 +306,16 @@ static RTEXITCODE handleDebugVM_OSDetect(HandlerArg *a, IMachineDebugger *pDebug
 
     com::Bstr bstrIgnore;
     com::Bstr bstrAll("all");
-    CHECK_ERROR2_RET(pDebugger, LoadPlugIn(bstrAll.raw(), bstrIgnore.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, LoadPlugIn(bstrAll.raw(), bstrIgnore.asOutParam()), RTEXITCODE_FAILURE);
 
     com::Bstr bstrName;
-    CHECK_ERROR2_RET(pDebugger, DetectOS(bstrName.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, DetectOS(bstrName.asOutParam()), RTEXITCODE_FAILURE);
     RTPrintf("Detected: %ls\n", bstrName.raw());
     return RTEXITCODE_SUCCESS;
 }
 
 /**
- * Handles the os sub-command.
+ * Handles the osinfo sub-command.
  *
  * @returns Suitable exit code.
  * @param   a                   The handler arguments.
@@ -326,15 +327,52 @@ static RTEXITCODE handleDebugVM_OSInfo(HandlerArg *a, IMachineDebugger *pDebugge
         return errorSyntax(USAGE_DEBUGVM, "The osinfo sub-command does not take any arguments");
 
     com::Bstr bstrName;
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(OSName)(bstrName.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(OSName)(bstrName.asOutParam()), RTEXITCODE_FAILURE);
     com::Bstr bstrVersion;
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(OSVersion)(bstrVersion.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(OSVersion)(bstrVersion.asOutParam()), RTEXITCODE_FAILURE);
     RTPrintf("Name:    %ls\n", bstrName.raw());
     RTPrintf("Version: %ls\n", bstrVersion.raw());
     return RTEXITCODE_SUCCESS;
 }
 
 /**
+ * Handles the osdmsg sub-command.
+ *
+ * @returns Suitable exit code.
+ * @param   pArgs               The handler arguments.
+ * @param   pDebugger           Pointer to the debugger interface.
+ */
+static RTEXITCODE handleDebugVM_OSDmesg(HandlerArg *pArgs, IMachineDebugger *pDebugger)
+{
+    /*
+     * Parse argument.
+     */
+    uint32_t                    uMaxMessages = 0;
+    RTGETOPTSTATE               GetState;
+    RTGETOPTUNION               ValueUnion;
+    static const RTGETOPTDEF    s_aOptions[] =
+    {
+        { "--lines", 'n', RTGETOPT_REQ_UINT32 },
+    };
+    int rc = RTGetOptInit(&GetState, pArgs->argc, pArgs->argv, s_aOptions, RT_ELEMENTS(s_aOptions), 2, RTGETOPTINIT_FLAGS_OPTS_FIRST);
+    AssertRCReturn(rc, RTEXITCODE_FAILURE);
+    while ((rc = RTGetOpt(&GetState, &ValueUnion)) != 0)
+        switch (rc)
+        {
+            case 'n': uMaxMessages = ValueUnion.u32; break;
+            default: return errorGetOpt(USAGE_DEBUGVM, rc, &ValueUnion);
+        }
+
+    /*
+     * Do it.
+     */
+    com::Bstr bstrDmesg;
+    CHECK_ERROR2I_RET(pDebugger, QueryOSKernelLog(uMaxMessages, bstrDmesg.asOutParam()), RTEXITCODE_FAILURE);
+    RTPrintf("%ls\n", bstrDmesg.raw());
+    return RTEXITCODE_SUCCESS;
+}
+
+/**
  * Handles the setregisters sub-command.
  *
  * @returns Suitable exit code.
@@ -402,12 +440,13 @@ static RTEXITCODE handleDebugVM_SetRegisters(HandlerArg *pArgs, IMachineDebugger
      */
     if (aBstrNames.size() == 1)
     {
-        CHECK_ERROR2_RET(pDebugger, SetRegister(idCpu, aBstrNames[0], aBstrValues[0]), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, SetRegister(idCpu, aBstrNames[0], aBstrValues[0]), RTEXITCODE_FAILURE);
         RTPrintf("Successfully set %ls\n", aBstrNames[0]);
     }
     else
     {
-        CHECK_ERROR2_RET(pDebugger, SetRegisters(idCpu, ComSafeArrayAsInParam(aBstrNames), ComSafeArrayAsInParam(aBstrValues)), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, SetRegisters(idCpu, ComSafeArrayAsInParam(aBstrNames), ComSafeArrayAsInParam(aBstrValues)),
+                          RTEXITCODE_FAILURE);
         RTPrintf("Successfully set %u registers\n", aBstrNames.size());
     }
 
@@ -455,13 +494,13 @@ static RTEXITCODE handleDebugVM_Show_LogDbgSettings(IMachineDebugger *pDebugger,
         RTPrintf("Debug logger settings:\n");
 
     com::Bstr bstr;
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogDbgFlags)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogDbgFlags)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_LOG", &bstr, fFlags);
 
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogDbgGroups)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogDbgGroups)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_LOG_FLAGS", &bstr, fFlags);
 
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogDbgDestinations)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogDbgDestinations)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_LOG_DEST", &bstr, fFlags);
     return RTEXITCODE_SUCCESS;
 }
@@ -479,13 +518,13 @@ static RTEXITCODE handleDebugVM_Show_LogRelSettings(IMachineDebugger *pDebugger,
         RTPrintf("Release logger settings:\n");
 
     com::Bstr bstr;
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogRelFlags)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogRelFlags)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_RELEASE_LOG", &bstr, fFlags);
 
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogRelGroups)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogRelGroups)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_RELEASE_LOG_FLAGS", &bstr, fFlags);
 
-    CHECK_ERROR2_RET(pDebugger, COMGETTER(LogRelDestinations)(bstr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pDebugger, COMGETTER(LogRelDestinations)(bstr.asOutParam()), RTEXITCODE_FAILURE);
     handleDebugVM_Show_PrintVar("VBOX_RELEASE_LOG_DEST", &bstr, fFlags);
     return RTEXITCODE_SUCCESS;
 }
@@ -621,12 +660,12 @@ static RTEXITCODE handleDebugVM_Statistics(HandlerArg *pArgs, IMachineDebugger *
      */
     com::Bstr bstrPattern(pszPattern);
     if (fReset)
-        CHECK_ERROR2_RET(pDebugger, ResetStats(bstrPattern.raw()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, ResetStats(bstrPattern.raw()), RTEXITCODE_FAILURE);
     else
     {
         com::Bstr bstrStats;
-        CHECK_ERROR2_RET(pDebugger, GetStats(bstrPattern.raw(), fWithDescriptions, bstrStats.asOutParam()),
-                         RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pDebugger, GetStats(bstrPattern.raw(), fWithDescriptions, bstrStats.asOutParam()),
+                          RTEXITCODE_FAILURE);
         /* if (fFormatted)
          { big mess }
          else
@@ -637,7 +676,7 @@ static RTEXITCODE handleDebugVM_Statistics(HandlerArg *pArgs, IMachineDebugger *
     return RTEXITCODE_SUCCESS;
 }
 
-int handleDebugVM(HandlerArg *pArgs)
+RTEXITCODE handleDebugVM(HandlerArg *pArgs)
 {
     RTEXITCODE rcExit = RTEXITCODE_FAILURE;
 
@@ -647,8 +686,8 @@ int handleDebugVM(HandlerArg *pArgs)
     if (pArgs->argc < 2)
         return errorSyntax(USAGE_DEBUGVM, "Too few parameters");
     ComPtr<IMachine> ptrMachine;
-    CHECK_ERROR2_RET(pArgs->virtualBox, FindMachine(com::Bstr(pArgs->argv[0]).raw(), ptrMachine.asOutParam()), RTEXITCODE_FAILURE);
-    CHECK_ERROR2_RET(ptrMachine, LockMachine(pArgs->session, LockType_Shared), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(pArgs->virtualBox, FindMachine(com::Bstr(pArgs->argv[0]).raw(), ptrMachine.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(ptrMachine, LockMachine(pArgs->session, LockType_Shared), RTEXITCODE_FAILURE);
 
     /*
      * Get the associated console and machine debugger.
@@ -658,41 +697,48 @@ int handleDebugVM(HandlerArg *pArgs)
     CHECK_ERROR(pArgs->session, COMGETTER(Console)(ptrConsole.asOutParam()));
     if (SUCCEEDED(rc))
     {
-        ComPtr<IMachineDebugger> ptrDebugger;
-        CHECK_ERROR(ptrConsole, COMGETTER(Debugger)(ptrDebugger.asOutParam()));
-        if (SUCCEEDED(rc))
+        if (ptrConsole.isNotNull())
         {
-            /*
-             * String switch on the sub-command.
-             */
-            const char *pszSubCmd = pArgs->argv[1];
-            if (!strcmp(pszSubCmd, "dumpguestcore"))
-                rcExit = handleDebugVM_DumpVMCore(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "getregisters"))
-                rcExit = handleDebugVM_GetRegisters(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "info"))
-                rcExit = handleDebugVM_Info(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "injectnmi"))
-                rcExit = handleDebugVM_InjectNMI(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "log"))
-                rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
-            else if (!strcmp(pszSubCmd, "logdest"))
-                rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
-            else if (!strcmp(pszSubCmd, "logflags"))
-                rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
-            else if (!strcmp(pszSubCmd, "osdetect"))
-                rcExit = handleDebugVM_OSDetect(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "osinfo"))
-                rcExit = handleDebugVM_OSInfo(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "setregisters"))
-                rcExit = handleDebugVM_SetRegisters(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "show"))
-                rcExit = handleDebugVM_Show(pArgs, ptrDebugger);
-            else if (!strcmp(pszSubCmd, "statistics"))
-                rcExit = handleDebugVM_Statistics(pArgs, ptrDebugger);
-            else
-                errorSyntax(USAGE_DEBUGVM, "Invalid parameter '%s'", pArgs->argv[1]);
+            ComPtr<IMachineDebugger> ptrDebugger;
+            CHECK_ERROR(ptrConsole, COMGETTER(Debugger)(ptrDebugger.asOutParam()));
+            if (SUCCEEDED(rc))
+            {
+                /*
+                 * String switch on the sub-command.
+                 */
+                const char *pszSubCmd = pArgs->argv[1];
+                if (!strcmp(pszSubCmd, "dumpguestcore"))
+                    rcExit = handleDebugVM_DumpVMCore(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "getregisters"))
+                    rcExit = handleDebugVM_GetRegisters(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "info"))
+                    rcExit = handleDebugVM_Info(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "injectnmi"))
+                    rcExit = handleDebugVM_InjectNMI(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "log"))
+                    rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
+                else if (!strcmp(pszSubCmd, "logdest"))
+                    rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
+                else if (!strcmp(pszSubCmd, "logflags"))
+                    rcExit = handleDebugVM_LogXXXX(pArgs, ptrDebugger, pszSubCmd);
+                else if (!strcmp(pszSubCmd, "osdetect"))
+                    rcExit = handleDebugVM_OSDetect(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "osinfo"))
+                    rcExit = handleDebugVM_OSInfo(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "osdmesg"))
+                    rcExit = handleDebugVM_OSDmesg(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "setregisters"))
+                    rcExit = handleDebugVM_SetRegisters(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "show"))
+                    rcExit = handleDebugVM_Show(pArgs, ptrDebugger);
+                else if (!strcmp(pszSubCmd, "statistics"))
+                    rcExit = handleDebugVM_Statistics(pArgs, ptrDebugger);
+                else
+                    errorSyntax(USAGE_DEBUGVM, "Invalid parameter '%s'", pArgs->argv[1]);
+            }
         }
+        else
+            RTMsgError("Machine '%s' is not currently running.\n", pArgs->argv[0]);
     }
 
     pArgs->session->UnlockMachine();
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp
index d189857..caf095b 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageDisk.cpp
@@ -231,7 +231,7 @@ static const RTGETOPTDEF g_aCreateMediumOptions[] =
     { "-variant",       'm', RTGETOPT_REQ_STRING },     // deprecated
 };
 
-int handleCreateMedium(HandlerArg *a)
+RTEXITCODE handleCreateMedium(HandlerArg *a)
 {
     HRESULT rc;
     int vrc;
@@ -378,21 +378,18 @@ int handleCreateMedium(HandlerArg *a)
                         AccessMode_ReadWrite, pParentMedium,
                         false /* fForceNewUuidOnOpen */, false /* fSilent */);
         if (FAILED(rc))
-            return 1;
+            return RTEXITCODE_FAILURE;
         if (pParentMedium.isNull())
-        {
-            RTMsgError("Invalid parent hard disk reference, avoiding crash");
-            return 1;
-        }
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Invalid parent hard disk reference, avoiding crash");
         MediumState_T state;
         CHECK_ERROR(pParentMedium, COMGETTER(State)(&state));
         if (FAILED(rc))
-            return 1;
+            return RTEXITCODE_FAILURE;
         if (state == MediumState_Inaccessible)
         {
             CHECK_ERROR(pParentMedium, RefreshState(&state));
             if (FAILED(rc))
-                return 1;
+                return RTEXITCODE_FAILURE;
         }
     }
     /* check for filename extension */
@@ -460,7 +457,7 @@ int handleCreateMedium(HandlerArg *a)
 
         //CHECK_ERROR(pMedium, Close());
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aModifyMediumOptions[] =
@@ -482,7 +479,7 @@ static const RTGETOPTDEF g_aModifyMediumOptions[] =
     { "--resizebyte",   'R', RTGETOPT_REQ_UINT64 }
 };
 
-int handleModifyMedium(HandlerArg *a)
+RTEXITCODE handleModifyMedium(HandlerArg *a)
 {
     HRESULT rc;
     int vrc;
@@ -642,11 +639,11 @@ int handleModifyMedium(HandlerArg *a)
     else
         rc = E_INVALIDARG; /* cannot happen but make gcc happy */
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
     if (pMedium.isNull())
     {
         RTMsgError("Invalid medium reference, avoiding crash");
-        return 1;
+        return RTEXITCODE_FAILURE;
     }
 
     if (fModifyMediumType)
@@ -704,7 +701,7 @@ int handleModifyMedium(HandlerArg *a)
         }
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aCloneMediumOptions[] =
@@ -721,7 +718,7 @@ static const RTGETOPTDEF g_aCloneMediumOptions[] =
     { "-variant",       'm', RTGETOPT_REQ_STRING },
 };
 
-int handleCloneMedium(HandlerArg *a)
+RTEXITCODE handleCloneMedium(HandlerArg *a)
 {
     HRESULT rc;
     int vrc;
@@ -837,7 +834,7 @@ int handleCloneMedium(HandlerArg *a)
     else
         rc = E_INVALIDARG; /* cannot happen but make gcc happy */
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     do
     {
@@ -903,7 +900,7 @@ int handleCloneMedium(HandlerArg *a)
     }
     while (0);
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aConvertFromRawHardDiskOptions[] =
@@ -917,7 +914,7 @@ static const RTGETOPTDEF g_aConvertFromRawHardDiskOptions[] =
     { "--uuid",         'u', RTGETOPT_REQ_STRING },
 };
 
-RTEXITCODE handleConvertFromRaw(int argc, char *argv[])
+RTEXITCODE handleConvertFromRaw(HandlerArg *a)
 {
     int rc = VINF_SUCCESS;
     bool fReadFromStdIn = false;
@@ -934,7 +931,7 @@ RTEXITCODE handleConvertFromRaw(int argc, char *argv[])
     RTGETOPTUNION ValueUnion;
     RTGETOPTSTATE GetState;
     // start at 0 because main() has hacked both the argc and argv given to us
-    RTGetOptInit(&GetState, argc, argv, g_aConvertFromRawHardDiskOptions, RT_ELEMENTS(g_aConvertFromRawHardDiskOptions),
+    RTGetOptInit(&GetState, a->argc, a->argv, g_aConvertFromRawHardDiskOptions, RT_ELEMENTS(g_aConvertFromRawHardDiskOptions),
                  0, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
     while ((c = RTGetOpt(&GetState, &ValueUnion)))
     {
@@ -1340,7 +1337,7 @@ static const RTGETOPTDEF g_aShowMediumInfoOptions[] =
     { "floppy",         'f', RTGETOPT_REQ_NOTHING },
 };
 
-int handleShowMediumInfo(HandlerArg *a)
+RTEXITCODE handleShowMediumInfo(HandlerArg *a)
 {
     HRESULT rc;
     enum {
@@ -1424,7 +1421,7 @@ int handleShowMediumInfo(HandlerArg *a)
                         AccessMode_ReadOnly, pMedium,
                         false /* fForceNewUuidOnOpen */, false /* fSilent */);
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     Utf8Str strParentUUID("base");
     ComPtr<IMedium> pParent;
@@ -1438,7 +1435,7 @@ int handleShowMediumInfo(HandlerArg *a)
 
     rc = showMediumInfo(a->virtualBox, pMedium, strParentUUID.c_str(), true);
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aCloseMediumOptions[] =
@@ -1449,7 +1446,7 @@ static const RTGETOPTDEF g_aCloseMediumOptions[] =
     { "--delete",       'r', RTGETOPT_REQ_NOTHING },
 };
 
-int handleCloseMedium(HandlerArg *a)
+RTEXITCODE handleCloseMedium(HandlerArg *a)
 {
     HRESULT rc = S_OK;
     enum {
@@ -1554,10 +1551,10 @@ int handleCloseMedium(HandlerArg *a)
         CHECK_ERROR(pMedium, Close());
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleMediumProperty(HandlerArg *a)
+RTEXITCODE handleMediumProperty(HandlerArg *a)
 {
     HRESULT rc = S_OK;
     const char *pszCmd = NULL;
@@ -1649,7 +1646,7 @@ int handleMediumProperty(HandlerArg *a)
         }
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aEncryptMediumOptions[] =
@@ -1660,7 +1657,7 @@ static const RTGETOPTDEF g_aEncryptMediumOptions[] =
     { "--newpasswordid", 'i', RTGETOPT_REQ_STRING }
 };
 
-int handleEncryptMedium(HandlerArg *a)
+RTEXITCODE handleEncryptMedium(HandlerArg *a)
 {
     HRESULT rc;
     ComPtr<IMedium> hardDisk;
@@ -1777,12 +1774,9 @@ int handleEncryptMedium(HandlerArg *a)
                     AccessMode_ReadWrite, hardDisk,
                     false /* fForceNewUuidOnOpen */, false /* fSilent */);
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
     if (hardDisk.isNull())
-    {
-        RTMsgError("Invalid hard disk reference, avoiding crash");
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Invalid hard disk reference, avoiding crash");
 
     ComPtr<IProgress> progress;
     CHECK_ERROR(hardDisk, ChangeEncryption(Bstr(strPasswordOld).raw(), Bstr(pszCipher).raw(),
@@ -1802,10 +1796,10 @@ int handleEncryptMedium(HandlerArg *a)
             RTMsgError("Failed to encrypt hard disk!");
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleCheckMediumPassword(HandlerArg *a)
+RTEXITCODE handleCheckMediumPassword(HandlerArg *a)
 {
     HRESULT rc;
     ComPtr<IMedium> hardDisk;
@@ -1839,17 +1833,14 @@ int handleCheckMediumPassword(HandlerArg *a)
                     AccessMode_ReadWrite, hardDisk,
                     false /* fForceNewUuidOnOpen */, false /* fSilent */);
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
     if (hardDisk.isNull())
-    {
-        RTMsgError("Invalid hard disk reference, avoiding crash");
-        return 1;
-    }
+        return RTMsgErrorExit(RTEXITCODE_FAILURE, "Invalid hard disk reference, avoiding crash");
 
     CHECK_ERROR(hardDisk, CheckEncryptionPassword(Bstr(strPassword).raw()));
     if (SUCCEEDED(rc))
         RTPrintf("The given password is correct\n");
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
index ce2fd5b..bf42e56 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
@@ -855,13 +855,18 @@ static RTEXITCODE gctlCtxInitVmSession(PGCTLCMDCTX pCtx)
                 CHECK_ERROR(pCtx->pArg->session, COMGETTER(Console)(ptrConsole.asOutParam()));
                 if (SUCCEEDED(rc))
                 {
-                    CHECK_ERROR(ptrConsole, COMGETTER(Guest)(pCtx->pGuest.asOutParam()));
-                    if (SUCCEEDED(rc))
-                        return RTEXITCODE_SUCCESS;
+                    if (ptrConsole.isNotNull())
+                    {
+                        CHECK_ERROR(ptrConsole, COMGETTER(Guest)(pCtx->pGuest.asOutParam()));
+                        if (SUCCEEDED(rc))
+                            return RTEXITCODE_SUCCESS;
+                    }
+                    else
+                        RTMsgError("Failed to get a IConsole pointer for the machine. Is it still running?\n");
                 }
             }
         }
-        else if(SUCCEEDED(rc))
+        else if (SUCCEEDED(rc))
             RTMsgError("Machine \"%s\" is not running (currently %s)!\n",
                        pCtx->pszVmNameOrUuid, machineStateToName(enmMachineState, false));
     }
@@ -3275,7 +3280,7 @@ static DECLCALLBACK(RTEXITCODE) gctlHandleMv(PGCTLCMDCTX pCtx, int argc, char **
             if (pCtx->cVerbose > 1)
                 RTPrintf("Warning: Cannot stat for element \"%s\": No such element\n",
                          strCurSource.c_str());
-            it++;
+            ++it;
             continue; /* Skip. */
         }
 
@@ -3308,7 +3313,7 @@ static DECLCALLBACK(RTEXITCODE) gctlHandleMv(PGCTLCMDCTX pCtx, int argc, char **
                                                                    ComSafeArrayAsInParam(aRenameFlags)));
         }
 
-        it++;
+        ++it;
     }
 
     if (   (it != vecSources.end())
@@ -3537,7 +3542,7 @@ static DECLCALLBACK(RTEXITCODE) gctlHandleStat(PGCTLCMDCTX pCtx, int argc, char
             /** @todo: Show more information about this element. */
         }
 
-        it++;
+        ++it;
     }
 
     return rcExit;
@@ -4244,9 +4249,9 @@ static DECLCALLBACK(RTEXITCODE) gctlHandleWatch(PGCTLCMDCTX pCtx, int argc, char
  * @returns program exit code.
  * @note see the command line API description for parameters
  */
-int handleGuestControl(HandlerArg *pArg)
+RTEXITCODE handleGuestControl(HandlerArg *pArg)
 {
-    AssertPtrReturn(pArg, VERR_INVALID_POINTER);
+    AssertPtr(pArg);
 
 #ifdef DEBUG_andy_disabled
     if (RT_FAILURE(tstTranslatePath()))
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrlListener.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrlListener.cpp
index 91e0a70..757097f 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrlListener.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrlListener.cpp
@@ -203,7 +203,7 @@ void GuestSessionEventListener::uninit(void)
             itProc->first->Release();
         }
 
-        itProc++;
+        ++itProc;
     }
     mProcs.clear();
 
@@ -224,7 +224,7 @@ void GuestSessionEventListener::uninit(void)
             itFile->first->Release();
         }
 
-        itFile++;
+        ++itFile;
     }
     mFiles.clear();
 }
@@ -430,7 +430,7 @@ void GuestEventListener::uninit(void)
             itSession->first->Release();
         }
 
-        itSession++;
+        ++itSession;
     }
     mSessions.clear();
 }
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageGuestProp.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageGuestProp.cpp
index 7d95bb5..ac6c43b 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageGuestProp.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageGuestProp.cpp
@@ -76,7 +76,7 @@ void usageGuestProperty(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszS
 
 #ifndef VBOX_ONLY_DOCS
 
-static int handleGetGuestProperty(HandlerArg *a)
+static RTEXITCODE handleGetGuestProperty(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -94,7 +94,7 @@ static int handleGetGuestProperty(HandlerArg *a)
     if (machine)
     {
         /* open a session for the VM - new or existing */
-        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
         /* get the mutable session machine */
         a->session->COMGETTER(Machine)(machine.asOutParam());
@@ -115,10 +115,10 @@ static int handleGetGuestProperty(HandlerArg *a)
             RTPrintf("Flags: %ls\n", flags.raw());
         }
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-static int handleSetGuestProperty(HandlerArg *a)
+static RTEXITCODE handleSetGuestProperty(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -155,7 +155,7 @@ static int handleSetGuestProperty(HandlerArg *a)
     if (machine)
     {
         /* open a session for the VM - new or existing */
-        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
         /* get the mutable session machine */
         a->session->COMGETTER(Machine)(machine.asOutParam());
@@ -173,10 +173,10 @@ static int handleSetGuestProperty(HandlerArg *a)
 
         a->session->UnlockMachine();
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-static int handleDeleteGuestProperty(HandlerArg *a)
+static RTEXITCODE handleDeleteGuestProperty(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -199,7 +199,7 @@ static int handleDeleteGuestProperty(HandlerArg *a)
     if (machine)
     {
         /* open a session for the VM - new or existing */
-        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
         /* get the mutable session machine */
         a->session->COMGETTER(Machine)(machine.asOutParam());
@@ -211,7 +211,7 @@ static int handleDeleteGuestProperty(HandlerArg *a)
 
         a->session->UnlockMachine();
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 /**
@@ -220,7 +220,7 @@ static int handleDeleteGuestProperty(HandlerArg *a)
  * @returns 0 on success, 1 on failure
  * @note see the command line API description for parameters
  */
-static int handleEnumGuestProperty(HandlerArg *a)
+static RTEXITCODE handleEnumGuestProperty(HandlerArg *a)
 {
     /*
      * Check the syntax.  We can deduce the correct syntax from the number of
@@ -250,7 +250,7 @@ static int handleEnumGuestProperty(HandlerArg *a)
     if (machine)
     {
         /* open a session for the VM - new or existing */
-        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+        CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
         /* get the mutable session machine */
         a->session->COMGETTER(Machine)(machine.asOutParam());
@@ -273,7 +273,7 @@ static int handleEnumGuestProperty(HandlerArg *a)
                          names[i], values[i], timestamps[i], flags[i]);
         }
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 /**
@@ -282,7 +282,7 @@ static int handleEnumGuestProperty(HandlerArg *a)
  * @returns 0 on success, 1 on failure
  * @note see the command line API description for parameters
  */
-static int handleWaitGuestProperty(HandlerArg *a)
+static RTEXITCODE handleWaitGuestProperty(HandlerArg *a)
 {
     /*
      * Handle arguments
@@ -387,14 +387,15 @@ static int handleWaitGuestProperty(HandlerArg *a)
 
     es->UnregisterListener(listener);
 
-    int rcRet = 0;
+    RTEXITCODE rcExit = RTEXITCODE_SUCCESS;
     if (!fSignalled)
     {
         RTMsgError("Time out or interruption while waiting for a notification.");
         if (fFailOnTimeout)
-            rcRet = 2;
+            /* Hysterical rasins: We always returned 2 here, which now translates to syntax error... Which is bad. */
+            rcExit = RTEXITCODE_SYNTAX;
     }
-    return rcRet;
+    return rcExit;
 }
 
 /**
@@ -403,7 +404,7 @@ static int handleWaitGuestProperty(HandlerArg *a)
  * @returns 0 on success, 1 on failure
  * @note see the command line API description for parameters
  */
-int handleGuestProperty(HandlerArg *a)
+RTEXITCODE handleGuestProperty(HandlerArg *a)
 {
     HandlerArg arg = *a;
     arg.argc = a->argc - 1;
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
index 7f9cae4..a5fca69 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
@@ -498,7 +498,7 @@ void printUsage(USAGECATEGORY fCategory, uint32_t fSubCategory, PRTSTREAM pStrm)
                      "                            cpuexecutioncap <1-100>\n"
                      "                            webcam <attach [path [settings]]> | <detach [path]> | <list>\n"
                      "                            addencpassword <id>\n"
-                     "                                           <password>\n"
+                     "                                           <password file>|-\n"
                      "                                           [--removeonsuspend <yes|no>]\n"
                      "                            removeencpassword <id>\n"
                      "                            removeallencpasswords\n"
@@ -518,7 +518,8 @@ void printUsage(USAGECATEGORY fCategory, uint32_t fSubCategory, PRTSTREAM pStrm)
     if (fCategory & USAGE_SNAPSHOT)
         RTStrmPrintf(pStrm,
                            "%s snapshot %s        <uuid|vmname>\n"
-                     "                            take <name> [--description <desc>] [--live] |\n"
+                     "                            take <name> [--description <desc>] [--live]\n"
+                     "                                 [--uniquename Number,Timestamp,Space,Force] |\n"
                      "                            delete <uuid|snapname> |\n"
                      "                            restore <uuid|snapname> |\n"
                      "                            restorecurrent |\n"
@@ -766,6 +767,7 @@ void printUsage(USAGECATEGORY fCategory, uint32_t fSubCategory, PRTSTREAM pStrm)
                      "                            logflags [--release|--debug] <settings> ...|\n"
                      "                            osdetect |\n"
                      "                            osinfo |\n"
+                     "                            osdmesg [--lines|-n <N>] |\n"
                      "                            getregisters [--cpu <id>] <reg>|all ... |\n"
                      "                            setregisters [--cpu <id>] <reg>=<value> ... |\n"
                      "                            show [--human-readable|--sh-export|--sh-eval|\n"
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp
index 26b87a7..84f62ce 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageHostonly.cpp
@@ -43,65 +43,84 @@
 using namespace com;
 
 #if defined(VBOX_WITH_NETFLT) && !defined(RT_OS_SOLARIS)
-static int handleCreate(HandlerArg *a, int iStart, int *pcProcessed)
+static RTEXITCODE handleCreate(HandlerArg *a)
 {
-//    if (a->argc - iStart < 1)
-//        return errorSyntax(USAGE_HOSTONLYIFS, "Not enough parameters");
-
-    int index = iStart;
-    HRESULT rc;
-//    Bstr name(a->argv[iStart]);
-//    index++;
-
+    /*
+     * Parse input.
+     */
+    RTGETOPTUNION ValueUnion;
+    RTGETOPTSTATE GetState;
+    RTGetOptInit(&GetState, a->argc, a->argv, NULL, 0, 1, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
+    int ch = RTGetOpt(&GetState, &ValueUnion);
+    if (ch != 0)
+        return errorGetOpt(USAGE_HOSTONLYIFS, ch, &ValueUnion);
+
+    /*
+     * Do the work.
+     */
     ComPtr<IHost> host;
-    CHECK_ERROR_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), 1);
+    CHECK_ERROR2I_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IHostNetworkInterface> hif;
     ComPtr<IProgress> progress;
 
-    CHECK_ERROR_RET(host, CreateHostOnlyNetworkInterface (hif.asOutParam(), progress.asOutParam()), 1);
+    CHECK_ERROR2I_RET(host, CreateHostOnlyNetworkInterface(hif.asOutParam(), progress.asOutParam()), RTEXITCODE_FAILURE);
 
-    rc = showProgress(progress);
-    *pcProcessed = index - iStart;
-    CHECK_PROGRESS_ERROR_RET(progress, ("Failed to create the host-only adapter"), 1);
+    HRESULT hrc = showProgress(progress);
+    CHECK_PROGRESS_ERROR_RET(progress, ("Failed to create the host-only adapter"), RTEXITCODE_FAILURE);
 
-    Bstr name;
-    CHECK_ERROR(hif, COMGETTER(Name) (name.asOutParam()));
+    Bstr bstrName;
+    CHECK_ERROR2I(hif, COMGETTER(Name)(bstrName.asOutParam()));
 
-    RTPrintf("Interface '%ls' was successfully created\n", name.raw());
+    RTPrintf("Interface '%ls' was successfully created\n", bstrName.raw());
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
-static int handleRemove(HandlerArg *a, int iStart, int *pcProcessed)
+static RTEXITCODE  handleRemove(HandlerArg *a)
 {
-    *pcProcessed = 0;
-    if (a->argc - iStart < 1)
-        return errorSyntax(USAGE_HOSTONLYIFS, "Not enough parameters");
-
-    int index = iStart;
-    HRESULT rc;
+    /*
+     * Parse input.
+     */
+    const char *pszName = NULL;
+    int ch;
+    RTGETOPTUNION ValueUnion;
+    RTGETOPTSTATE GetState;
+    RTGetOptInit(&GetState, a->argc, a->argv, NULL, 0, 1, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
+    while ((ch = RTGetOpt(&GetState, &ValueUnion)) != 0)
+        switch (ch)
+        {
+            case VINF_GETOPT_NOT_OPTION:
+                if (pszName)
+                    return errorSyntax(USAGE_HOSTONLYIFS, "Only one interface name can be specified");
+                pszName = ValueUnion.psz;
+                break;
 
-    Bstr name(a->argv[iStart]);
-    index++;
+            default:
+                return errorGetOpt(USAGE_HOSTONLYIFS, ch, &ValueUnion);
+        }
+    if (!pszName)
+        return errorSyntax(USAGE_HOSTONLYIFS, "No interface name was specified");
 
+    /*
+     * Do the work.
+     */
     ComPtr<IHost> host;
-    CHECK_ERROR_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), 1);
+    CHECK_ERROR2I_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IHostNetworkInterface> hif;
-    CHECK_ERROR_RET(host, FindHostNetworkInterfaceByName(name.raw(), hif.asOutParam()), 1);
+    CHECK_ERROR2I_RET(host, FindHostNetworkInterfaceByName(Bstr(pszName).raw(), hif.asOutParam()), RTEXITCODE_FAILURE);
 
     Bstr guid;
-    CHECK_ERROR_RET(hif, COMGETTER(Id)(guid.asOutParam()), 1);
+    CHECK_ERROR2I_RET(hif, COMGETTER(Id)(guid.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IProgress> progress;
-    CHECK_ERROR_RET(host, RemoveHostOnlyNetworkInterface(guid.raw(), progress.asOutParam()), 1);
+    CHECK_ERROR2I_RET(host, RemoveHostOnlyNetworkInterface(guid.raw(), progress.asOutParam()), RTEXITCODE_FAILURE);
 
-    rc = showProgress(progress);
-    *pcProcessed = index - iStart;
-    CHECK_PROGRESS_ERROR_RET(progress, ("Failed to remove the host-only adapter"), 1);
+    HRESULT hrc = showProgress(progress);
+    CHECK_PROGRESS_ERROR_RET(progress, ("Failed to remove the host-only adapter"), RTEXITCODE_FAILURE);
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 #endif
 
@@ -119,192 +138,119 @@ static const RTGETOPTDEF g_aHostOnlyIPOptions[]
         { "-netmasklengthv6",   'l', RTGETOPT_REQ_UINT8 }       // deprecated
       };
 
-static int handleIpconfig(HandlerArg *a, int iStart, int *pcProcessed)
+static RTEXITCODE handleIpConfig(HandlerArg *a)
 {
-    if (a->argc - iStart < 2)
-        return errorSyntax(USAGE_HOSTONLYIFS, "Not enough parameters");
-
-    int index = iStart;
-    HRESULT rc;
-
-    Bstr name(a->argv[iStart]);
-    index++;
-
-    bool bDhcp = false;
-    bool bNetmasklengthv6 = false;
-    uint32_t uNetmasklengthv6 = (uint32_t)-1;
-    const char *pIpv6 = NULL;
-    const char *pIp = NULL;
-    const char *pNetmask = NULL;
+    bool        fDhcp = false;
+    bool        fNetmasklengthv6 = false;
+    uint32_t    uNetmasklengthv6 = UINT32_MAX;
+    const char *pszIpv6 = NULL;
+    const char *pszIp = NULL;
+    const char *pszNetmask = NULL;
+    const char *pszName = NULL;
 
     int c;
     RTGETOPTUNION ValueUnion;
     RTGETOPTSTATE GetState;
-    RTGetOptInit(&GetState,
-                 a->argc,
-                 a->argv,
-                 g_aHostOnlyIPOptions,
-                 RT_ELEMENTS(g_aHostOnlyIPOptions),
-                 index,
-                 RTGETOPTINIT_FLAGS_NO_STD_OPTS);
-    while ((c = RTGetOpt(&GetState, &ValueUnion)))
+    RTGetOptInit(&GetState, a->argc, a->argv, g_aHostOnlyIPOptions, RT_ELEMENTS(g_aHostOnlyIPOptions),
+                 1, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
+    while ((c = RTGetOpt(&GetState, &ValueUnion)) != 0)
     {
         switch (c)
         {
             case 'd':   // --dhcp
-                if (bDhcp)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "You can only specify --dhcp once.");
-                else
-                    bDhcp = true;
-            break;
+                fDhcp = true;
+                break;
             case 'a':   // --ip
-                if(pIp)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "You can only specify --ip once.");
-                else
-                    pIp = ValueUnion.psz;
-            break;
+                if (pszIp)
+                    RTMsgWarning("The --ip option is specified more than once");
+                pszIp = ValueUnion.psz;
+                break;
             case 'm':   // --netmask
-                if(pNetmask)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "You can only specify --netmask once.");
-                else
-                    pNetmask = ValueUnion.psz;
-            break;
+                if (pszNetmask)
+                    RTMsgWarning("The --netmask option is specified more than once");
+                pszNetmask = ValueUnion.psz;
+                break;
             case 'b':   // --ipv6
-                if(pIpv6)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "You can only specify --ipv6 once.");
-                else
-                    pIpv6 = ValueUnion.psz;
-            break;
+                if (pszIpv6)
+                    RTMsgWarning("The --ipv6 option is specified more than once");
+                pszIpv6 = ValueUnion.psz;
+                break;
             case 'l':   // --netmasklengthv6
-                if(bNetmasklengthv6)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "You can only specify --netmasklengthv6 once.");
-                else
-                {
-                    bNetmasklengthv6 = true;
-                    uNetmasklengthv6 = ValueUnion.u8;
-                }
-            break;
+                if (fNetmasklengthv6)
+                    RTMsgWarning("The --netmasklengthv6 option is specified more than once");
+                fNetmasklengthv6 = true;
+                uNetmasklengthv6 = ValueUnion.u8;
+                break;
             case VINF_GETOPT_NOT_OPTION:
-                return errorSyntax(USAGE_HOSTONLYIFS, "unhandled parameter: %s", ValueUnion.psz);
-            break;
+                if (pszName)
+                    return errorSyntax(USAGE_HOSTONLYIFS, "Only one interface name can be specified");
+                pszName = ValueUnion.psz;
+                break;
             default:
-                if (c > 0)
-                {
-                    if (RT_C_IS_GRAPH(c))
-                        return errorSyntax(USAGE_HOSTONLYIFS, "unhandled option: -%c", c);
-                    else
-                        return errorSyntax(USAGE_HOSTONLYIFS, "unhandled option: %i", c);
-                }
-                else if (c == VERR_GETOPT_UNKNOWN_OPTION)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "unknown option: %s", ValueUnion.psz);
-                else if (ValueUnion.pDef)
-                    return errorSyntax(USAGE_HOSTONLYIFS, "%s: %Rrs", ValueUnion.pDef->pszLong, c);
-                else
-                    return errorSyntax(USAGE_HOSTONLYIFS, "%Rrs", c);
+                return errorGetOpt(USAGE_HOSTONLYIFS, c, &ValueUnion);
         }
     }
 
     /* parameter sanity check */
-    if (bDhcp && (bNetmasklengthv6 || pIpv6 || pIp || pNetmask))
+    if (fDhcp && (fNetmasklengthv6 || pszIpv6 || pszIp || pszNetmask))
         return errorSyntax(USAGE_HOSTONLYIFS, "You can not use --dhcp with static ip configuration parameters: --ip, --netmask, --ipv6 and --netmasklengthv6.");
-    if((pIp || pNetmask) && (bNetmasklengthv6 || pIpv6))
+    if ((pszIp || pszNetmask) && (fNetmasklengthv6 || pszIpv6))
         return errorSyntax(USAGE_HOSTONLYIFS, "You can not use ipv4 configuration (--ip and --netmask) with ipv6 (--ipv6 and --netmasklengthv6) simultaneously.");
 
     ComPtr<IHost> host;
-    CHECK_ERROR(a->virtualBox, COMGETTER(Host)(host.asOutParam()));
+    CHECK_ERROR2I_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IHostNetworkInterface> hif;
-    CHECK_ERROR(host, FindHostNetworkInterfaceByName(name.raw(),
-                                                     hif.asOutParam()));
+    CHECK_ERROR2I_RET(host, FindHostNetworkInterfaceByName(Bstr(pszName).raw(), hif.asOutParam()), RTEXITCODE_FAILURE);
+    if (hif.isNull())
+        return errorArgument("Could not find interface '%s'", pszName);
 
-    if (FAILED(rc))
-        return errorArgument("Could not find interface '%s'", a->argv[iStart]);
-
-    if (bDhcp)
+    if (fDhcp)
+        CHECK_ERROR2I_RET(hif, EnableDynamicIPConfig(), RTEXITCODE_FAILURE);
+    else if (pszIp)
     {
-        CHECK_ERROR(hif, EnableDynamicIPConfig ());
+        if (!pszNetmask)
+            pszNetmask = "255.255.255.0"; /* ?? */
+        CHECK_ERROR2I_RET(hif, EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw()), RTEXITCODE_FAILURE);
     }
-    else if (pIp)
+    else if (pszIpv6)
     {
-        if (!pNetmask)
-            pNetmask = "255.255.255.0"; /* ?? */
-
-        CHECK_ERROR(hif, EnableStaticIPConfig(Bstr(pIp).raw(),
-                                              Bstr(pNetmask).raw()));
-    }
-    else if (pIpv6)
-    {
-        if (uNetmasklengthv6 == (uint32_t)-1)
-            uNetmasklengthv6 = 64; /* ?? */
-
-        BOOL bIpV6Supported;
-        CHECK_ERROR(hif, COMGETTER(IPV6Supported)(&bIpV6Supported));
-        if (!bIpV6Supported)
+        BOOL fIpV6Supported;
+        CHECK_ERROR2I_RET(hif, COMGETTER(IPV6Supported)(&fIpV6Supported), RTEXITCODE_FAILURE);
+        if (!fIpV6Supported)
         {
             RTMsgError("IPv6 setting is not supported for this adapter");
-            return 1;
+            return RTEXITCODE_FAILURE;
         }
 
-
-        Bstr ipv6str(pIpv6);
-        CHECK_ERROR(hif, EnableStaticIPConfigV6(ipv6str.raw(),
-                                                (ULONG)uNetmasklengthv6));
+        if (uNetmasklengthv6 == UINT32_MAX)
+            uNetmasklengthv6 = 64; /* ?? */
+        CHECK_ERROR2I_RET(hif, EnableStaticIPConfigV6(Bstr(pszIpv6).raw(), (ULONG)uNetmasklengthv6), RTEXITCODE_FAILURE);
     }
     else
-    {
-        return errorSyntax(USAGE_HOSTONLYIFS, "neither -dhcp nor -ip nor -ipv6 was spcfified");
-    }
+        return errorSyntax(USAGE_HOSTONLYIFS, "Neither -dhcp nor -ip nor -ipv6 was specfified");
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 
-int handleHostonlyIf(HandlerArg *a)
+RTEXITCODE handleHostonlyIf(HandlerArg *a)
 {
-    int result = 0;
     if (a->argc < 1)
-        return errorSyntax(USAGE_HOSTONLYIFS, "Not enough parameters");
+        return errorSyntax(USAGE_HOSTONLYIFS, "No sub-command specified");
 
-    for (int i = 0; i < a->argc; i++)
-    {
-        if (strcmp(a->argv[i], "ipconfig") == 0)
-        {
-            int cProcessed;
-            result = handleIpconfig(a, i+1, &cProcessed);
-            break;
-//            if(!rc)
-//                i+= cProcessed;
-//            else
-//                break;
-        }
+    RTEXITCODE rcExit;
+    if (!strcmp(a->argv[0], "ipconfig"))
+        rcExit = handleIpConfig(a);
 #if defined(VBOX_WITH_NETFLT) && !defined(RT_OS_SOLARIS)
-        else if (strcmp(a->argv[i], "create") == 0)
-        {
-            int cProcessed;
-            result = handleCreate(a, i+1, &cProcessed);
-            if(!result)
-                i+= cProcessed;
-            else
-                break;
-        }
-        else if (strcmp(a->argv[i], "remove") == 0)
-        {
-            int cProcessed;
-            result = handleRemove(a, i+1, &cProcessed);
-            if(!result)
-                i+= cProcessed;
-            else
-                break;
-        }
+    else if (!strcmp(a->argv[0], "create"))
+        rcExit = handleCreate(a);
+    else if (!strcmp(a->argv[0], "remove"))
+        rcExit = handleRemove(a);
 #endif
-        else
-        {
-            result = errorSyntax(USAGE_HOSTONLYIFS, "Invalid parameter '%s'", Utf8Str(a->argv[i]).c_str());
-            break;
-        }
-    }
-
-    return result;
+    else
+        rcExit = errorSyntax(USAGE_HOSTONLYIFS, "Unknown sub-command '%s'", a->argv[0]);
+    return rcExit;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
index 2693d89..8c0885e 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
@@ -57,9 +57,9 @@ HRESULT showSnapshots(ComPtr<ISnapshot> &rootSnapshot,
     Bstr name;
     Bstr uuid;
     Bstr description;
-    CHECK_ERROR2_RET(rootSnapshot, COMGETTER(Name)(name.asOutParam()), hrcCheck);
-    CHECK_ERROR2_RET(rootSnapshot, COMGETTER(Id)(uuid.asOutParam()), hrcCheck);
-    CHECK_ERROR2_RET(rootSnapshot, COMGETTER(Description)(description.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(rootSnapshot, COMGETTER(Name)(name.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(rootSnapshot, COMGETTER(Id)(uuid.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(rootSnapshot, COMGETTER(Description)(description.asOutParam()), hrcCheck);
     bool fCurrent = (rootSnapshot == currentSnapshot);
     if (details == VMINFO_MACHINEREADABLE)
     {
@@ -90,7 +90,7 @@ HRESULT showSnapshots(ComPtr<ISnapshot> &rootSnapshot,
     /* get the children */
     HRESULT hrc = S_OK;
     SafeIfaceArray <ISnapshot> coll;
-    CHECK_ERROR2_RET(rootSnapshot,COMGETTER(Children)(ComSafeArrayAsOutParam(coll)), hrcCheck);
+    CHECK_ERROR2I_RET(rootSnapshot,COMGETTER(Children)(ComSafeArrayAsOutParam(coll)), hrcCheck);
     if (!coll.isNull())
     {
         for (size_t index = 0; index < coll.size(); ++index)
@@ -373,7 +373,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         BOOL f; \
-        CHECK_ERROR2_RET(a_pObj, COMGETTER(a_Prop)(&f), hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, COMGETTER(a_Prop)(&f), hrcCheck); \
         if (details == VMINFO_MACHINEREADABLE) \
             RTPrintf( a_szMachine "=\"%s\"\n", f ? "on" : "off"); \
         else \
@@ -384,7 +384,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         BOOL f; \
-        CHECK_ERROR2_RET(a_pObj, a_Invocation, hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, a_Invocation, hrcCheck); \
         if (details == VMINFO_MACHINEREADABLE) \
             RTPrintf( a_szMachine "=\"%s\"\n", f ? "on" : "off"); \
         else \
@@ -395,7 +395,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         Bstr bstr; \
-        CHECK_ERROR2_RET(a_pObj, COMGETTER(a_Prop)(bstr.asOutParam()), hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, COMGETTER(a_Prop)(bstr.asOutParam()), hrcCheck); \
         if (details == VMINFO_MACHINEREADABLE) \
             outputMachineReadableString(a_szMachine, &bstr); \
         else \
@@ -406,7 +406,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         SafeArray<BSTR> array; \
-        CHECK_ERROR2_RET(a_pObj, COMGETTER(a_Prop)(ComSafeArrayAsOutParam(array)), hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, COMGETTER(a_Prop)(ComSafeArrayAsOutParam(array)), hrcCheck); \
         Utf8Str str; \
         for (size_t i = 0; i < array.size(); i++) \
         { \
@@ -428,7 +428,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         ULONG u32; \
-        CHECK_ERROR2_RET(a_pObj, COMGETTER(a_Prop)(&u32), hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, COMGETTER(a_Prop)(&u32), hrcCheck); \
         if (details == VMINFO_MACHINEREADABLE) \
             RTPrintf(a_szMachine "=%u\n", u32); \
         else \
@@ -439,7 +439,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     do \
     { \
         LONG64 i64; \
-        CHECK_ERROR2_RET(a_pObj, COMGETTER(a_Prop)(&i64), hrcCheck); \
+        CHECK_ERROR2I_RET(a_pObj, COMGETTER(a_Prop)(&i64), hrcCheck); \
         if (details == VMINFO_MACHINEREADABLE) \
             RTPrintf(a_szMachine "=%lld\n", i64); \
         else \
@@ -459,7 +459,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
      */
 
     BOOL fAccessible;
-    CHECK_ERROR2_RET(machine, COMGETTER(Accessible)(&fAccessible), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(Accessible)(&fAccessible), hrcCheck);
     if (!fAccessible)
     {
         Bstr uuid;
@@ -506,9 +506,9 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     SHOW_STRING_PROP(      machine, Name,                       "name",                 "Name");
 
     Bstr osTypeId;
-    CHECK_ERROR2_RET(machine, COMGETTER(OSTypeId)(osTypeId.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(OSTypeId)(osTypeId.asOutParam()), hrcCheck);
     ComPtr<IGuestOSType> osType;
-    CHECK_ERROR2_RET(pVirtualBox, GetGuestOSType(osTypeId.raw(), osType.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(pVirtualBox, GetGuestOSType(osTypeId.raw(), osType.asOutParam()), hrcCheck);
     SHOW_STRINGARRAY_PROP( machine, Groups,                     "groups",               "Groups");
     SHOW_STRING_PROP(       osType, Description,                "ostype",               "Guest OS");
     SHOW_UUID_PROP(        machine, Id,                         "UUID",                 "UUID");
@@ -523,7 +523,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     SHOW_BOOLEAN_PROP(     machine, HPETEnabled,                "hpet",                 "HPET");
 
     ChipsetType_T chipsetType;
-    CHECK_ERROR2_RET(machine, COMGETTER(ChipsetType)(&chipsetType), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(ChipsetType)(&chipsetType), hrcCheck);
     const char *pszChipsetType;
     switch (chipsetType)
     {
@@ -538,7 +538,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
         RTPrintf("Chipset:         %s\n", pszChipsetType);
 
     FirmwareType_T firmwareType;
-    CHECK_ERROR2_RET(machine, COMGETTER(FirmwareType)(&firmwareType), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(FirmwareType)(&firmwareType), hrcCheck);
     const char *pszFirmwareType;
     switch (firmwareType)
     {
@@ -589,10 +589,10 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
         RTPrintf("None\n");
 
     ComPtr<IBIOSSettings> biosSettings;
-    CHECK_ERROR2_RET(machine, COMGETTER(BIOSSettings)(biosSettings.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(BIOSSettings)(biosSettings.asOutParam()), hrcCheck);
 
     BIOSBootMenuMode_T bootMenuMode;
-    CHECK_ERROR2_RET(biosSettings, COMGETTER(BootMenuMode)(&bootMenuMode), hrcCheck);
+    CHECK_ERROR2I_RET(biosSettings, COMGETTER(BootMenuMode)(&bootMenuMode), hrcCheck);
     const char *pszBootMenu;
     switch (bootMenuMode)
     {
@@ -617,13 +617,13 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
         RTPrintf("Boot menu mode:  %s\n", pszBootMenu);
 
     ComPtr<ISystemProperties> systemProperties;
-    CHECK_ERROR2_RET(pVirtualBox, COMGETTER(SystemProperties)(systemProperties.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(pVirtualBox, COMGETTER(SystemProperties)(systemProperties.asOutParam()), hrcCheck);
     ULONG maxBootPosition = 0;
-    CHECK_ERROR2_RET(systemProperties, COMGETTER(MaxBootPosition)(&maxBootPosition), hrcCheck);
+    CHECK_ERROR2I_RET(systemProperties, COMGETTER(MaxBootPosition)(&maxBootPosition), hrcCheck);
     for (ULONG i = 1; i <= maxBootPosition; i++)
     {
         DeviceType_T bootOrder;
-        CHECK_ERROR2_RET(machine, GetBootOrder(i, &bootOrder), hrcCheck);
+        CHECK_ERROR2I_RET(machine, GetBootOrder(i, &bootOrder), hrcCheck);
         if (bootOrder == DeviceType_Floppy)
         {
             if (details == VMINFO_MACHINEREADABLE)
@@ -686,7 +686,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
     SHOW_BOOLEAN_METHOD(machine, GetHWVirtExProperty(HWVirtExPropertyType_UnrestrictedExecution, &f), "vtxux", "VT-x unr. exec.");
 
     ParavirtProvider_T paravirtProvider;
-    CHECK_ERROR2_RET(machine, COMGETTER(ParavirtProvider)(&paravirtProvider), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(ParavirtProvider)(&paravirtProvider), hrcCheck);
     const char *pszParavirtProvider;
     switch (paravirtProvider)
     {
@@ -745,7 +745,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
 
 
     MachineState_T machineState;
-    CHECK_ERROR2_RET(machine, COMGETTER(State)(&machineState), hrcCheck);
+    CHECK_ERROR2I_RET(machine, COMGETTER(State)(&machineState), hrcCheck);
     const char *pszState = machineStateToName(machineState, details == VMINFO_MACHINEREADABLE /*=fShort*/);
 
     LONG64 stateSince;
@@ -1204,7 +1204,7 @@ HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
 
                 /* promisc policy */
                 NetworkAdapterPromiscModePolicy_T enmPromiscModePolicy;
-                CHECK_ERROR2_RET(nic, COMGETTER(PromiscModePolicy)(&enmPromiscModePolicy), hrcCheck);
+                CHECK_ERROR2I_RET(nic, COMGETTER(PromiscModePolicy)(&enmPromiscModePolicy), hrcCheck);
                 const char *pszPromiscuousGuestPolicy;
                 switch (enmPromiscModePolicy)
                 {
@@ -2646,7 +2646,7 @@ static const RTGETOPTDEF g_aShowVMInfoOptions[] =
     { "--log",              'l', RTGETOPT_REQ_UINT32 },
 };
 
-int handleShowVMInfo(HandlerArg *a)
+RTEXITCODE handleShowVMInfo(HandlerArg *a)
 {
     HRESULT rc;
     const char *VMNameOrUuid = NULL;
@@ -2686,19 +2686,7 @@ int handleShowVMInfo(HandlerArg *a)
                 break;
 
             default:
-                if (c > 0)
-                {
-                    if (RT_C_IS_PRINT(c))
-                        return errorSyntax(USAGE_SHOWVMINFO, "Invalid option -%c", c);
-                    else
-                        return errorSyntax(USAGE_SHOWVMINFO, "Invalid option case %i", c);
-                }
-                else if (c == VERR_GETOPT_UNKNOWN_OPTION)
-                    return errorSyntax(USAGE_SHOWVMINFO, "unknown option: %s\n", ValueUnion.psz);
-                else if (ValueUnion.pDef)
-                    return errorSyntax(USAGE_SHOWVMINFO, "%s: %Rrs", ValueUnion.pDef->pszLong, c);
-                else
-                    return errorSyntax(USAGE_SHOWVMINFO, "error: %Rrs", c);
+                return errorGetOpt(USAGE_SHOWVMINFO, c, &ValueUnion);
         }
     }
 
@@ -2711,7 +2699,7 @@ int handleShowVMInfo(HandlerArg *a)
     CHECK_ERROR(a->virtualBox, FindMachine(Bstr(VMNameOrUuid).raw(),
                                            machine.asOutParam()));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     /* Printing the log is exclusive. */
     if (fLog && (fMachinereadable || fDetails))
@@ -2775,7 +2763,7 @@ int handleShowVMInfo(HandlerArg *a)
         a->session->UnlockMachine();
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
index 7a49a36..2bca62f 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
@@ -693,10 +693,10 @@ static HRESULT listSystemProperties(const ComPtr<IVirtualBox> &pVirtualBox)
 static HRESULT listExtensionPacks(const ComPtr<IVirtualBox> &pVirtualBox)
 {
     ComObjPtr<IExtPackManager> ptrExtPackMgr;
-    CHECK_ERROR2_RET(pVirtualBox, COMGETTER(ExtensionPackManager)(ptrExtPackMgr.asOutParam()), hrcCheck);
+    CHECK_ERROR2I_RET(pVirtualBox, COMGETTER(ExtensionPackManager)(ptrExtPackMgr.asOutParam()), hrcCheck);
 
     SafeIfaceArray<IExtPack> extPacks;
-    CHECK_ERROR2_RET(ptrExtPackMgr, COMGETTER(InstalledExtPacks)(ComSafeArrayAsOutParam(extPacks)), hrcCheck);
+    CHECK_ERROR2I_RET(ptrExtPackMgr, COMGETTER(InstalledExtPacks)(ComSafeArrayAsOutParam(extPacks)), hrcCheck);
     RTPrintf("Extension Packs: %u\n", extPacks.size());
 
     HRESULT hrc = S_OK;
@@ -704,21 +704,21 @@ static HRESULT listExtensionPacks(const ComPtr<IVirtualBox> &pVirtualBox)
     {
         /* Read all the properties. */
         Bstr bstrName;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Name)(bstrName.asOutParam()),          hrc = hrcCheck; bstrName.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Name)(bstrName.asOutParam()),          hrc = hrcCheck; bstrName.setNull());
         Bstr bstrDesc;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Description)(bstrDesc.asOutParam()),   hrc = hrcCheck; bstrDesc.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Description)(bstrDesc.asOutParam()),   hrc = hrcCheck; bstrDesc.setNull());
         Bstr bstrVersion;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Version)(bstrVersion.asOutParam()),    hrc = hrcCheck; bstrVersion.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Version)(bstrVersion.asOutParam()),    hrc = hrcCheck; bstrVersion.setNull());
         ULONG uRevision;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Revision)(&uRevision),                 hrc = hrcCheck; uRevision = 0);
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Revision)(&uRevision),                 hrc = hrcCheck; uRevision = 0);
         Bstr bstrEdition;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Edition)(bstrEdition.asOutParam()),    hrc = hrcCheck; bstrEdition.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Edition)(bstrEdition.asOutParam()),    hrc = hrcCheck; bstrEdition.setNull());
         Bstr bstrVrdeModule;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(VRDEModule)(bstrVrdeModule.asOutParam()),hrc=hrcCheck; bstrVrdeModule.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(VRDEModule)(bstrVrdeModule.asOutParam()),hrc=hrcCheck; bstrVrdeModule.setNull());
         BOOL fUsable;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(Usable)(&fUsable),                     hrc = hrcCheck; fUsable = FALSE);
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(Usable)(&fUsable),                     hrc = hrcCheck; fUsable = FALSE);
         Bstr bstrWhy;
-        CHECK_ERROR2_STMT(extPacks[i], COMGETTER(WhyUnusable)(bstrWhy.asOutParam()),    hrc = hrcCheck; bstrWhy.setNull());
+        CHECK_ERROR2I_STMT(extPacks[i], COMGETTER(WhyUnusable)(bstrWhy.asOutParam()),    hrc = hrcCheck; bstrWhy.setNull());
 
         /* Display them. */
         if (i)
@@ -755,7 +755,7 @@ static HRESULT listExtensionPacks(const ComPtr<IVirtualBox> &pVirtualBox)
 static HRESULT listGroups(const ComPtr<IVirtualBox> &pVirtualBox)
 {
     SafeArray<BSTR> groups;
-    CHECK_ERROR2_RET(pVirtualBox, COMGETTER(MachineGroups)(ComSafeArrayAsOutParam(groups)), hrcCheck);
+    CHECK_ERROR2I_RET(pVirtualBox, COMGETTER(MachineGroups)(ComSafeArrayAsOutParam(groups)), hrcCheck);
 
     for (size_t i = 0; i < groups.size(); i++)
     {
@@ -1208,7 +1208,7 @@ static HRESULT produceList(enum enmListType enmCommand, bool fOptLong, const Com
  * @returns Appropriate exit code.
  * @param   a                   Handler argument.
  */
-int handleList(HandlerArg *a)
+RTEXITCODE handleList(HandlerArg *a)
 {
     bool                fOptLong      = false;
     bool                fOptMultiple  = false;
@@ -1297,7 +1297,7 @@ int handleList(HandlerArg *a)
                 {
                     HRESULT hrc = produceList((enum enmListType)ch, fOptLong, a->virtualBox);
                     if (FAILED(hrc))
-                        return 1;
+                        return RTEXITCODE_FAILURE;
                 }
                 break;
 
@@ -1318,10 +1318,10 @@ int handleList(HandlerArg *a)
     {
         HRESULT hrc = produceList(enmOptCommand, fOptLong, a->virtualBox);
         if (FAILED(hrc))
-            return 1;
+            return RTEXITCODE_FAILURE;
     }
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageMetrics.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageMetrics.cpp
index fa6b494..e3db8fa 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageMetrics.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageMetrics.cpp
@@ -44,10 +44,10 @@ using namespace com;
 ///////////////////////////////////////////////////////////////////////////////
 
 
-static int parseFilterParameters(int argc, char *argv[],
-                                 ComPtr<IVirtualBox> aVirtualBox,
-                                 ComSafeArrayOut(BSTR, outMetrics),
-                                 ComSafeArrayOut(IUnknown *, outObjects))
+static HRESULT parseFilterParameters(int argc, char *argv[],
+                                     ComPtr<IVirtualBox> aVirtualBox,
+                                     ComSafeArrayOut(BSTR, outMetrics),
+                                     ComSafeArrayOut(IUnknown *, outObjects))
 {
     HRESULT rc = S_OK;
     com::SafeArray<BSTR> retMetrics(1);
@@ -169,7 +169,7 @@ static void listAffectedMetrics(ComPtr<IVirtualBox> aVirtualBox,
 /**
  * list
  */
-static int handleMetricsList(int argc, char *argv[],
+static RTEXITCODE handleMetricsList(int argc, char *argv[],
                              ComPtr<IVirtualBox> aVirtualBox,
                              ComPtr<IPerformanceCollector> performanceCollector)
 {
@@ -181,7 +181,7 @@ static int handleMetricsList(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeIfaceArray<IPerformanceMetric> metricInfo;
 
@@ -212,15 +212,15 @@ static int handleMetricsList(int argc, char *argv[],
             minimum, maximum, period, count, description.raw());
     }
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * Metrics setup
  */
-static int handleMetricsSetup(int argc, char *argv[],
-                              ComPtr<IVirtualBox> aVirtualBox,
-                              ComPtr<IPerformanceCollector> performanceCollector)
+static RTEXITCODE handleMetricsSetup(int argc, char *argv[],
+                                     ComPtr<IVirtualBox> aVirtualBox,
+                                     ComPtr<IPerformanceCollector> performanceCollector)
 {
     HRESULT rc;
     com::SafeArray<BSTR>          metrics;
@@ -260,7 +260,7 @@ static int handleMetricsSetup(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeIfaceArray<IPerformanceMetric> affectedMetrics;
     CHECK_ERROR(performanceCollector,
@@ -268,21 +268,21 @@ static int handleMetricsSetup(int argc, char *argv[],
                      ComSafeArrayAsInParam(objects), period, samples,
                      ComSafeArrayAsOutParam(affectedMetrics)));
     if (FAILED(rc))
-        return 2;
+        return RTEXITCODE_SYNTAX; /** @todo figure out why we must return 2 here. */
 
     if (listMatches)
         listAffectedMetrics(aVirtualBox,
                             ComSafeArrayAsInParam(affectedMetrics));
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * metrics query
  */
-static int handleMetricsQuery(int argc, char *argv[],
-                              ComPtr<IVirtualBox> aVirtualBox,
-                              ComPtr<IPerformanceCollector> performanceCollector)
+static RTEXITCODE handleMetricsQuery(int argc, char *argv[],
+                                     ComPtr<IVirtualBox> aVirtualBox,
+                                     ComPtr<IPerformanceCollector> performanceCollector)
 {
     HRESULT rc;
     com::SafeArray<BSTR>          metrics;
@@ -292,7 +292,7 @@ static int handleMetricsQuery(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeArray<BSTR>          retNames;
     com::SafeIfaceArray<IUnknown> retObjects;
@@ -333,7 +333,7 @@ static int handleMetricsQuery(int argc, char *argv[],
         RTPrintf("\n");
     }
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 static void getTimestamp(char *pts, size_t tsSize)
@@ -386,9 +386,9 @@ static BOOL WINAPI ctrlHandler(DWORD dwCtrlType)
 /**
  * collect
  */
-static int handleMetricsCollect(int argc, char *argv[],
-                                ComPtr<IVirtualBox> aVirtualBox,
-                                ComPtr<IPerformanceCollector> performanceCollector)
+static RTEXITCODE handleMetricsCollect(int argc, char *argv[],
+                                       ComPtr<IVirtualBox> aVirtualBox,
+                                       ComPtr<IPerformanceCollector> performanceCollector)
 {
     HRESULT rc;
     com::SafeArray<BSTR>          metrics;
@@ -430,7 +430,7 @@ static int handleMetricsCollect(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeIfaceArray<IPerformanceMetric> metricInfo;
 
@@ -464,19 +464,19 @@ static int handleMetricsCollect(int argc, char *argv[],
                      ComSafeArrayAsInParam(objectsFiltered), period, samples,
                      ComSafeArrayAsOutParam(affectedMetrics)));
     if (FAILED(rc))
-        return 2;
+        return RTEXITCODE_SYNTAX; /** @todo figure out why we must return 2 here. */
 
     if (listMatches)
         listAffectedMetrics(aVirtualBox,
                             ComSafeArrayAsInParam(affectedMetrics));
     if (!affectedMetrics.size())
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     if (isDetached)
     {
         RTMsgWarning("The background process holding collected metrics will shutdown\n"
                      "in few seconds, discarding all collected data and parameters.");
-        return 0;
+        return RTEXITCODE_SUCCESS;
     }
 
 #ifdef RT_OS_WINDOWS
@@ -534,15 +534,15 @@ static int handleMetricsCollect(int argc, char *argv[],
     SetConsoleCtrlHandler(ctrlHandler, false);
 #endif /* RT_OS_WINDOWS */
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * Enable metrics
  */
-static int handleMetricsEnable(int argc, char *argv[],
-                               ComPtr<IVirtualBox> aVirtualBox,
-                               ComPtr<IPerformanceCollector> performanceCollector)
+static RTEXITCODE handleMetricsEnable(int argc, char *argv[],
+                                      ComPtr<IVirtualBox> aVirtualBox,
+                                      ComPtr<IPerformanceCollector> performanceCollector)
 {
     HRESULT rc;
     com::SafeArray<BSTR>          metrics;
@@ -563,7 +563,7 @@ static int handleMetricsEnable(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeIfaceArray<IPerformanceMetric> affectedMetrics;
     CHECK_ERROR(performanceCollector,
@@ -571,21 +571,21 @@ static int handleMetricsEnable(int argc, char *argv[],
                       ComSafeArrayAsInParam(objects),
                       ComSafeArrayAsOutParam(affectedMetrics)));
     if (FAILED(rc))
-        return 2;
+        return RTEXITCODE_SYNTAX; /** @todo figure out why we must return 2 here. */
 
     if (listMatches)
         listAffectedMetrics(aVirtualBox,
                             ComSafeArrayAsInParam(affectedMetrics));
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 /**
  * Disable metrics
  */
-static int handleMetricsDisable(int argc, char *argv[],
-                                ComPtr<IVirtualBox> aVirtualBox,
-                                ComPtr<IPerformanceCollector> performanceCollector)
+static RTEXITCODE handleMetricsDisable(int argc, char *argv[],
+                                       ComPtr<IVirtualBox> aVirtualBox,
+                                       ComPtr<IPerformanceCollector> performanceCollector)
 {
     HRESULT rc;
     com::SafeArray<BSTR>          metrics;
@@ -606,7 +606,7 @@ static int handleMetricsDisable(int argc, char *argv[],
                                ComSafeArrayAsOutParam(metrics),
                                ComSafeArrayAsOutParam(objects));
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     com::SafeIfaceArray<IPerformanceMetric> affectedMetrics;
     CHECK_ERROR(performanceCollector,
@@ -614,43 +614,42 @@ static int handleMetricsDisable(int argc, char *argv[],
                        ComSafeArrayAsInParam(objects),
                        ComSafeArrayAsOutParam(affectedMetrics)));
     if (FAILED(rc))
-        return 2;
+        return RTEXITCODE_SYNTAX; /** @todo figure out why we must return 2 here. */
 
     if (listMatches)
         listAffectedMetrics(aVirtualBox,
                             ComSafeArrayAsInParam(affectedMetrics));
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 
-int handleMetrics(HandlerArg *a)
+RTEXITCODE handleMetrics(HandlerArg *a)
 {
-    int rc;
-
     /* at least one option: subcommand name */
     if (a->argc < 1)
         return errorSyntax(USAGE_METRICS, "Subcommand missing");
 
     ComPtr<IPerformanceCollector> performanceCollector;
-    CHECK_ERROR(a->virtualBox, COMGETTER(PerformanceCollector)(performanceCollector.asOutParam()));
+    CHECK_ERROR2I_RET(a->virtualBox, COMGETTER(PerformanceCollector)(performanceCollector.asOutParam()), RTEXITCODE_FAILURE);
 
+    RTEXITCODE rcExit;
     if (!strcmp(a->argv[0], "list"))
-        rc = handleMetricsList(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsList(a->argc, a->argv, a->virtualBox, performanceCollector);
     else if (!strcmp(a->argv[0], "setup"))
-        rc = handleMetricsSetup(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsSetup(a->argc, a->argv, a->virtualBox, performanceCollector);
     else if (!strcmp(a->argv[0], "query"))
-        rc = handleMetricsQuery(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsQuery(a->argc, a->argv, a->virtualBox, performanceCollector);
     else if (!strcmp(a->argv[0], "collect"))
-        rc = handleMetricsCollect(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsCollect(a->argc, a->argv, a->virtualBox, performanceCollector);
     else if (!strcmp(a->argv[0], "enable"))
-        rc = handleMetricsEnable(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsEnable(a->argc, a->argv, a->virtualBox, performanceCollector);
     else if (!strcmp(a->argv[0], "disable"))
-        rc = handleMetricsDisable(a->argc, a->argv, a->virtualBox, performanceCollector);
+        rcExit = handleMetricsDisable(a->argc, a->argv, a->virtualBox, performanceCollector);
     else
         return errorSyntax(USAGE_METRICS, "Invalid subcommand '%s'", a->argv[0]);
 
-    return rc;
+    return rcExit;
 }
 
 #endif /* VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp
index 7a95814..ba0d2e6 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageMisc.cpp
@@ -58,7 +58,7 @@ using namespace com;
 
 
 
-int handleRegisterVM(HandlerArg *a)
+RTEXITCODE handleRegisterVM(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -76,10 +76,7 @@ int handleRegisterVM(HandlerArg *a)
         char szVMFileAbs[RTPATH_MAX] = "";
         int vrc = RTPathAbs(a->argv[0], szVMFileAbs, sizeof(szVMFileAbs));
         if (RT_FAILURE(vrc))
-        {
-            RTMsgError("Cannot convert filename \"%s\" to absolute path", a->argv[0]);
-            return 1;
-        }
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot convert filename \"%s\" to absolute path: %Rrc", a->argv[0], vrc);
         CHECK_ERROR(a->virtualBox, OpenMachine(Bstr(szVMFileAbs).raw(),
                                                machine.asOutParam()));
     }
@@ -91,7 +88,7 @@ int handleRegisterVM(HandlerArg *a)
         ASSERT(machine);
         CHECK_ERROR(a->virtualBox, RegisterMachine(machine));
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aUnregisterVMOptions[] =
@@ -100,7 +97,7 @@ static const RTGETOPTDEF g_aUnregisterVMOptions[] =
     { "-delete",        'd', RTGETOPT_REQ_NOTHING },    // deprecated
 };
 
-int handleUnregisterVM(HandlerArg *a)
+RTEXITCODE handleUnregisterVM(HandlerArg *a)
 {
     HRESULT rc;
     const char *VMName = NULL;
@@ -197,7 +194,7 @@ static const RTGETOPTDEF g_aCreateVMOptions[] =
     { "-register",        'r', RTGETOPT_REQ_NOTHING },
 };
 
-int handleCreateVM(HandlerArg *a)
+RTEXITCODE handleCreateVM(HandlerArg *a)
 {
     HRESULT rc;
     Bstr bstrBaseFolder;
@@ -291,7 +288,7 @@ int handleCreateVM(HandlerArg *a)
     }
     while (0);
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 static const RTGETOPTDEF g_aCloneVMOptions[] =
@@ -354,7 +351,7 @@ static int parseCloneOptions(const char *psz, com::SafeArray<CloneOptions_T> *op
     return rc;
 }
 
-int handleCloneVM(HandlerArg *a)
+RTEXITCODE handleCloneVM(HandlerArg *a)
 {
     HRESULT                        rc;
     const char                    *pszSrcName       = NULL;
@@ -493,7 +490,7 @@ int handleCloneVM(HandlerArg *a)
     return RTEXITCODE_SUCCESS;
 }
 
-int handleStartVM(HandlerArg *a)
+RTEXITCODE handleStartVM(HandlerArg *a)
 {
     HRESULT rc = S_OK;
     std::list<const char *> VMs;
@@ -628,10 +625,10 @@ int handleStartVM(HandlerArg *a)
             rc = rc2;
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleDiscardState(HandlerArg *a)
+RTEXITCODE handleDiscardState(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -657,10 +654,10 @@ int handleDiscardState(HandlerArg *a)
         } while (0);
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleAdoptState(HandlerArg *a)
+RTEXITCODE handleAdoptState(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -675,10 +672,7 @@ int handleAdoptState(HandlerArg *a)
         char szStateFileAbs[RTPATH_MAX] = "";
         int vrc = RTPathAbs(a->argv[1], szStateFileAbs, sizeof(szStateFileAbs));
         if (RT_FAILURE(vrc))
-        {
-            RTMsgError("Cannot convert filename \"%s\" to absolute path", a->argv[0]);
-            return 1;
-        }
+            return RTMsgErrorExit(RTEXITCODE_FAILURE, "Cannot convert filename \"%s\" to absolute path: %Rrc", a->argv[0], vrc);
 
         do
         {
@@ -694,10 +688,10 @@ int handleAdoptState(HandlerArg *a)
         } while (0);
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleGetExtraData(HandlerArg *a)
+RTEXITCODE handleGetExtraData(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -773,10 +767,10 @@ int handleGetExtraData(HandlerArg *a)
             }
         }
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleSetExtraData(HandlerArg *a)
+RTEXITCODE handleSetExtraData(HandlerArg *a)
 {
     HRESULT rc = S_OK;
 
@@ -804,10 +798,10 @@ int handleSetExtraData(HandlerArg *a)
         if (machine)
         {
             /* open an existing session for the VM */
-            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
             /* get the session machine */
             ComPtr<IMachine> sessionMachine;
-            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), 1);
+            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), RTEXITCODE_FAILURE);
             /** @todo passing NULL is deprecated */
             if (a->argc < 3)
                 CHECK_ERROR(sessionMachine, SetExtraData(Bstr(a->argv[1]).raw(),
@@ -819,10 +813,10 @@ int handleSetExtraData(HandlerArg *a)
                 return errorSyntax(USAGE_SETEXTRADATA, "Too many parameters");
         }
     }
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleSetProperty(HandlerArg *a)
+RTEXITCODE handleSetProperty(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -915,10 +909,10 @@ int handleSetProperty(HandlerArg *a)
     else
         return errorSyntax(USAGE_SETPROPERTY, "Invalid parameter '%s'", a->argv[0]);
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
-int handleSharedFolder(HandlerArg *a)
+RTEXITCODE handleSharedFolder(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -926,11 +920,11 @@ int handleSharedFolder(HandlerArg *a)
     if (a->argc < 2)
         return errorSyntax(USAGE_SHAREDFOLDER, "Not enough parameters");
 
+    const char *pszMachineName = a->argv[1];
     ComPtr<IMachine> machine;
-    CHECK_ERROR(a->virtualBox, FindMachine(Bstr(a->argv[1]).raw(),
-                                           machine.asOutParam()));
+    CHECK_ERROR(a->virtualBox, FindMachine(Bstr(pszMachineName).raw(), machine.asOutParam()));
     if (!machine)
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     if (!strcmp(a->argv[0], "add"))
     {
@@ -995,25 +989,27 @@ int handleSharedFolder(HandlerArg *a)
             ComPtr<IConsole> console;
 
             /* open an existing session for the VM */
-            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
 
             /* get the session machine */
             ComPtr<IMachine> sessionMachine;
-            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), 1);
+            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), RTEXITCODE_FAILURE);
 
             /* get the session console */
-            CHECK_ERROR_RET(a->session, COMGETTER(Console)(console.asOutParam()), 1);
+            CHECK_ERROR_RET(a->session, COMGETTER(Console)(console.asOutParam()), RTEXITCODE_FAILURE);
+            if (console.isNull())
+                return RTMsgErrorExit(RTEXITCODE_FAILURE,
+                                      "Machine '%s' is not currently running.\n", pszMachineName);
 
             CHECK_ERROR(console, CreateSharedFolder(Bstr(name).raw(),
                                                     Bstr(hostpath).raw(),
                                                     fWritable, fAutoMount));
-            if (console)
-                a->session->UnlockMachine();
+            a->session->UnlockMachine();
         }
         else
         {
             /* open a session for the VM */
-            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), 1);
+            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), RTEXITCODE_FAILURE);
 
             /* get the mutable session machine */
             ComPtr<IMachine> sessionMachine;
@@ -1062,25 +1058,26 @@ int handleSharedFolder(HandlerArg *a)
 
         if (fTransient)
         {
-            ComPtr<IConsole> console;
-
             /* open an existing session for the VM */
-            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
             /* get the session machine */
             ComPtr<IMachine> sessionMachine;
-            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), 1);
+            CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), RTEXITCODE_FAILURE);
             /* get the session console */
-            CHECK_ERROR_RET(a->session, COMGETTER(Console)(console.asOutParam()), 1);
+            ComPtr<IConsole> console;
+            CHECK_ERROR_RET(a->session, COMGETTER(Console)(console.asOutParam()), RTEXITCODE_FAILURE);
+            if (console.isNull())
+                return RTMsgErrorExit(RTEXITCODE_FAILURE,
+                                      "Machine '%s' is not currently running.\n", pszMachineName);
 
             CHECK_ERROR(console, RemoveSharedFolder(Bstr(name).raw()));
 
-            if (console)
-                a->session->UnlockMachine();
+            a->session->UnlockMachine();
         }
         else
         {
             /* open a session for the VM */
-            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), 1);
+            CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), RTEXITCODE_FAILURE);
 
             /* get the mutable session machine */
             ComPtr<IMachine> sessionMachine;
@@ -1096,16 +1093,16 @@ int handleSharedFolder(HandlerArg *a)
     else
         return errorSyntax(USAGE_SHAREDFOLDER, "Invalid parameter '%s'", Utf8Str(a->argv[0]).c_str());
 
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
-int handleExtPack(HandlerArg *a)
+RTEXITCODE handleExtPack(HandlerArg *a)
 {
     if (a->argc < 1)
         return errorSyntax(USAGE_EXTPACK, "Incorrect number of parameters");
 
     ComObjPtr<IExtPackManager> ptrExtPackMgr;
-    CHECK_ERROR2_RET(a->virtualBox, COMGETTER(ExtensionPackManager)(ptrExtPackMgr.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR2I_RET(a->virtualBox, COMGETTER(ExtensionPackManager)(ptrExtPackMgr.asOutParam()), RTEXITCODE_FAILURE);
 
     RTGETOPTSTATE   GetState;
     RTGETOPTUNION   ValueUnion;
@@ -1152,10 +1149,10 @@ int handleExtPack(HandlerArg *a)
         Bstr bstrTarball(szPath);
         Bstr bstrName;
         ComPtr<IExtPackFile> ptrExtPackFile;
-        CHECK_ERROR2_RET(ptrExtPackMgr, OpenExtPackFile(bstrTarball.raw(), ptrExtPackFile.asOutParam()), RTEXITCODE_FAILURE);
-        CHECK_ERROR2_RET(ptrExtPackFile, COMGETTER(Name)(bstrName.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(ptrExtPackMgr, OpenExtPackFile(bstrTarball.raw(), ptrExtPackFile.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(ptrExtPackFile, COMGETTER(Name)(bstrName.asOutParam()), RTEXITCODE_FAILURE);
         ComPtr<IProgress> ptrProgress;
-        CHECK_ERROR2_RET(ptrExtPackFile, Install(fReplace, NULL, ptrProgress.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(ptrExtPackFile, Install(fReplace, NULL, ptrProgress.asOutParam()), RTEXITCODE_FAILURE);
         hrc = showProgress(ptrProgress);
         CHECK_PROGRESS_ERROR_RET(ptrProgress, ("Failed to install \"%s\"", szPath), RTEXITCODE_FAILURE);
 
@@ -1195,7 +1192,7 @@ int handleExtPack(HandlerArg *a)
 
         Bstr bstrName(pszName);
         ComPtr<IProgress> ptrProgress;
-        CHECK_ERROR2_RET(ptrExtPackMgr, Uninstall(bstrName.raw(), fForced, NULL, ptrProgress.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(ptrExtPackMgr, Uninstall(bstrName.raw(), fForced, NULL, ptrProgress.asOutParam()), RTEXITCODE_FAILURE);
         hrc = showProgress(ptrProgress);
         CHECK_PROGRESS_ERROR_RET(ptrProgress, ("Failed to uninstall \"%s\"", pszName), RTEXITCODE_FAILURE);
 
@@ -1206,7 +1203,7 @@ int handleExtPack(HandlerArg *a)
         if (a->argc > 1)
             return errorSyntax(USAGE_EXTPACK, "Too many parameters given to \"extpack cleanup\"");
 
-        CHECK_ERROR2_RET(ptrExtPackMgr, Cleanup(), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(ptrExtPackMgr, Cleanup(), RTEXITCODE_FAILURE);
         RTPrintf("Successfully performed extension pack cleanup\n");
     }
     else
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
index 5fb0f31..f501677 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
@@ -454,7 +454,7 @@ static int parseNum(uint32_t uIndex, unsigned cMaxIndex, const char *pszName)
     return 0;
 }
 
-int handleModifyVM(HandlerArg *a)
+RTEXITCODE handleModifyVM(HandlerArg *a)
 {
     int c;
     HRESULT rc;
@@ -468,18 +468,18 @@ int handleModifyVM(HandlerArg *a)
     /* try to find the given sessionMachine */
     ComPtr<IMachine> machine;
     CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[0]).raw(),
-                                               machine.asOutParam()), 1);
+                                               machine.asOutParam()), RTEXITCODE_FAILURE);
 
 
     /* Get the number of network adapters */
     ULONG NetworkAdapterCount = getMaxNics(a->virtualBox, machine);
 
     /* open a session for the VM */
-    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), 1);
+    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), RTEXITCODE_FAILURE);
 
     /* get the mutable session sessionMachine */
     ComPtr<IMachine> sessionMachine;
-    CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), 1);
+    CHECK_ERROR_RET(a->session, COMGETTER(Machine)(sessionMachine.asOutParam()), RTEXITCODE_FAILURE);
 
     ComPtr<IBIOSSettings> biosSettings;
     sessionMachine->COMGETTER(BIOSSettings)(biosSettings.asOutParam());
@@ -2870,7 +2870,7 @@ int handleModifyVM(HandlerArg *a)
     /* it's important to always close sessions */
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageNATNetwork.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageNATNetwork.cpp
index 17ef137..304e689 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageNATNetwork.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageNATNetwork.cpp
@@ -58,7 +58,7 @@
 
 using namespace com;
 
-typedef enum enMainOpCodes
+typedef enum
 {
     OP_ADD = 1000,
     OP_REMOVE,
@@ -67,21 +67,6 @@ typedef enum enMainOpCodes
     OP_STOP
 } OPCODE;
 
-static const RTGETOPTDEF g_aNATNetworkIPOptions[]
-    = {
-        { "--netname",          't', RTGETOPT_REQ_STRING },
-        { "--network",          'n', RTGETOPT_REQ_STRING },
-        { "--dhcp",             'h', RTGETOPT_REQ_BOOL },
-        { "--ipv6",             '6', RTGETOPT_REQ_BOOL},
-        { "--enable",           'e', RTGETOPT_REQ_NOTHING },
-        { "--disable",          'd', RTGETOPT_REQ_NOTHING },
-        { "--port-forward-4",   'p', RTGETOPT_REQ_STRING },
-        { "--port-forward-6",   'P', RTGETOPT_REQ_STRING },
-        { "--loopback-4",       'l', RTGETOPT_REQ_STRING },
-        { "--loopback-6",       'L', RTGETOPT_REQ_STRING },
-
-      };
-
 typedef struct PFNAME2DELETE
 {
     char szName[PF_NAMELEN];
@@ -97,14 +82,11 @@ typedef VPF2ADD::const_iterator VPF2ADDITERATOR;
 typedef std::vector<std::string>  LOOPBACK2DELETEADD;
 typedef LOOPBACK2DELETEADD::iterator LOOPBACK2DELETEADDITERATOR;
 
-static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
+static RTEXITCODE handleOp(HandlerArg *a, OPCODE enmCode)
 {
-    if (a->argc - iStart < 2)
+    if (a->argc - 1 <= 1)
         return errorSyntax(USAGE_NATNETWORK, "Not enough parameters");
 
-    int index = iStart;
-    HRESULT rc;
-
     const char *pNetName = NULL;
     const char *pNetworkCidr = NULL;
     int enable = -1;
@@ -119,47 +101,52 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
 
     LONG loopback6Offset = 0; /* ignore me */
 
+    static const RTGETOPTDEF g_aNATNetworkIPOptions[] =
+    {
+        { "--netname",          't', RTGETOPT_REQ_STRING  },
+        { "--network",          'n', RTGETOPT_REQ_STRING  },
+        { "--dhcp",             'h', RTGETOPT_REQ_BOOL    },
+        { "--ipv6",             '6', RTGETOPT_REQ_BOOL    },
+        { "--enable",           'e', RTGETOPT_REQ_NOTHING },
+        { "--disable",          'd', RTGETOPT_REQ_NOTHING },
+        { "--port-forward-4",   'p', RTGETOPT_REQ_STRING  },
+        { "--port-forward-6",   'P', RTGETOPT_REQ_STRING  },
+        { "--loopback-4",       'l', RTGETOPT_REQ_STRING  },
+        { "--loopback-6",       'L', RTGETOPT_REQ_STRING  },
+    };
+
     int c;
     RTGETOPTUNION ValueUnion;
     RTGETOPTSTATE GetState;
-
-    RTGetOptInit(&GetState,
-                 a->argc,
-                 a->argv,
-                 g_aNATNetworkIPOptions,
+    RTGetOptInit(&GetState, a->argc, a->argv, g_aNATNetworkIPOptions,
                  enmCode != OP_REMOVE ? RT_ELEMENTS(g_aNATNetworkIPOptions) : 4, /* we use only --netname and --ifname for remove*/
-                 index,
-                 RTGETOPTINIT_FLAGS_NO_STD_OPTS);
-    while ((c = RTGetOpt(&GetState, &ValueUnion)))
+                 1, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
+    while ((c = RTGetOpt(&GetState, &ValueUnion)) != 0)
     {
         switch (c)
         {
             case 't':   // --netname
                 if (pNetName)
                     return errorSyntax(USAGE_NATNETWORK, "You can only specify --netname only once.");
-                else
-                    pNetName = ValueUnion.psz;
+                pNetName = ValueUnion.psz;
                 break;
 
             case 'n':   // --network
                 if (pNetworkCidr)
                     return errorSyntax(USAGE_NATNETWORK, "You can only specify --network only once.");
-                else
-                    pNetworkCidr = ValueUnion.psz;
+                pNetworkCidr = ValueUnion.psz;
                 break;
 
             case 'e':   // --enable
                 if (enable >= 0)
                     return errorSyntax(USAGE_NATNETWORK, "You can specify either --enable or --disable once.");
-                else
-                    enable = 1;
+                enable = 1;
                 break;
 
             case 'd':   // --disable
                 if (enable >= 0)
                     return errorSyntax(USAGE_NATNETWORK, "You can specify either --enable or --disable once.");
-                else
-                    enable = 0;
+                enable = 0;
                 break;
 
             case 'h':
@@ -198,12 +185,13 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
                         vLoopback2Delete.push_back(std::string(Addr2Delete.psz));
                     }
                 }
-                else /* addition */
+                else
                 {
+                    /* addition */
                     if (c == 'L')
-                      loopback6Offset = ValueUnion.u32;
+                        loopback6Offset = ValueUnion.u32;
                     else
-                      vLoopback2Add.push_back(std::string(ValueUnion.psz));
+                        vLoopback2Add.push_back(std::string(ValueUnion.psz));
                 }
                 break;
 
@@ -212,83 +200,52 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
             {
                 if (RTStrCmp(ValueUnion.psz, "delete") != 0)
                 {
-                    PORTFORWARDRULE Pfr;
-
+                    /* addition */
                     /* netPfStrToPf will clean up the Pfr */
+                    PORTFORWARDRULE Pfr;
                     int irc = netPfStrToPf(ValueUnion.psz, (c == 'P'), &Pfr);
                     if (RT_FAILURE(irc))
-                        return errorSyntax(USAGE_NATNETWORK,
-                                           "Invalid port-forward rule %s\n",
-                                           ValueUnion.psz);
+                        return errorSyntax(USAGE_NATNETWORK, "Invalid port-forward rule %s\n", ValueUnion.psz);
 
                     vPf2Add.push_back(Pfr);
                 }
                 else
                 {
-                    int vrc;
-                    RTGETOPTUNION NamePf2DeleteUnion;
-                    PFNAME2DELETE Name2Delete;
-
+                    /* deletion */
                     if (enmCode != OP_MODIFY)
                         return errorSyntax(USAGE_NATNETWORK,
                                            "Port-forward could be deleted on modify \n");
 
-                    vrc = RTGetOptFetchValue(&GetState,
-                                             &NamePf2DeleteUnion,
-                                             RTGETOPT_REQ_STRING);
+                    RTGETOPTUNION NamePf2DeleteUnion;
+                    int vrc = RTGetOptFetchValue(&GetState, &NamePf2DeleteUnion, RTGETOPT_REQ_STRING);
                     if (RT_FAILURE(vrc))
-                        return errorSyntax(USAGE_NATNETWORK,
-                                           "Not enough parmaters\n");
+                        return errorSyntax(USAGE_NATNETWORK, "Not enough parmaters\n");
 
                     if (strlen(NamePf2DeleteUnion.psz) > PF_NAMELEN)
-                        return errorSyntax(USAGE_NATNETWORK,
-                                           "Port-forward rule name is too long\n");
+                        return errorSyntax(USAGE_NATNETWORK, "Port-forward rule name is too long\n");
 
+                    PFNAME2DELETE Name2Delete;
                     RT_ZERO(Name2Delete);
                     RTStrCopy(Name2Delete.szName, PF_NAMELEN, NamePf2DeleteUnion.psz);
                     Name2Delete.fIPv6 = (c == 'P');
-
                     vPfName2Delete.push_back(Name2Delete);
                 }
                 break;
             }
 
-            case VINF_GETOPT_NOT_OPTION:
-                return errorSyntax(USAGE_NATNETWORK,
-                                   "unhandled parameter: %s",
-                                   ValueUnion.psz);
-
             default:
-                if (c > 0)
-                {
-                    if (RT_C_IS_GRAPH(c))
-                        return errorSyntax(USAGE_NATNETWORK,
-                                           "unhandled option: -%c", c);
-                    else
-                        return errorSyntax(USAGE_NATNETWORK,
-                                           "unhandled option: %i", c);
-                }
-                else if (c == VERR_GETOPT_UNKNOWN_OPTION)
-                    return errorSyntax(USAGE_NATNETWORK,
-                                       "unknown option: %s", ValueUnion.psz);
-                else if (ValueUnion.pDef)
-                    return errorSyntax(USAGE_NATNETWORK,
-                                       "%s: %Rrs", ValueUnion.pDef->pszLong, c);
-                else
-                    return errorSyntax(USAGE_NATNETWORK, "%Rrs", c);
+                return errorGetOpt(USAGE_NATNETWORK, c, &ValueUnion);
         }
     }
 
     if (!pNetName)
-        return errorSyntax(USAGE_NATNETWORK,
-                           "You need to specify the --netname option");
+        return errorSyntax(USAGE_NATNETWORK, "You need to specify the --netname option");
     /* verification */
     switch (enmCode)
     {
         case OP_ADD:
             if (!pNetworkCidr)
-                return errorSyntax(USAGE_NATNETWORK,
-                                   "You need to specify the --network option");
+                return errorSyntax(USAGE_NATNETWORK, "You need to specify the --network option");
             break;
         case OP_MODIFY:
         case OP_REMOVE:
@@ -296,9 +253,10 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
         case OP_STOP:
             break;
         default:
-            AssertMsgFailedReturn(("Unknown operation (:%d)", enmCode), VERR_NOT_IMPLEMENTED);
+            AssertMsgFailedReturn(("Unknown operation (:%d)", enmCode), RTEXITCODE_FAILURE);
     }
 
+    HRESULT rc;
     Bstr NetName;
     NetName = Bstr(pNetName);
 
@@ -383,7 +341,7 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
                 if (loopback6Offset == -1)
                     loopback6Offset = 0; /* deletion */
 
-                CHECK_ERROR_RET(net, COMSETTER(LoopbackIp6)(loopback6Offset), rc);
+                CHECK_ERROR_RET(net, COMSETTER(LoopbackIp6)(loopback6Offset), RTEXITCODE_FAILURE);
             }
 
             /* addLocalMapping (hostid, offset) */
@@ -410,7 +368,7 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
 
                     bstrAddress = Bstr(address.c_str());
 
-                    CHECK_ERROR_RET(net, AddLocalMapping(bstrAddress.raw(), lOffset), rc);
+                    CHECK_ERROR_RET(net, AddLocalMapping(bstrAddress.raw(), lOffset), RTEXITCODE_FAILURE);
                 }
             }
 
@@ -425,7 +383,7 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
                     Bstr bstrAddress;
                     bstrAddress = Bstr(it->c_str());
 
-                    CHECK_ERROR_RET(net, AddLocalMapping(bstrAddress.raw(), 0), rc);
+                    CHECK_ERROR_RET(net, AddLocalMapping(bstrAddress.raw(), 0), RTEXITCODE_FAILURE);
                 }
             }
 
@@ -460,31 +418,29 @@ static int handleOp(HandlerArg *a, OPCODE enmCode, int iStart, int *pcProcessed)
         }
         default:;
     }
-    return 0;
+    return RTEXITCODE_SUCCESS;
 }
 
 
-int handleNATNetwork(HandlerArg *a)
+RTEXITCODE handleNATNetwork(HandlerArg *a)
 {
     if (a->argc < 1)
         return errorSyntax(USAGE_NATNETWORK, "Not enough parameters");
 
-    int result;
-    int cProcessed;
+    RTEXITCODE rcExit;
     if (strcmp(a->argv[0], "modify") == 0)
-        result = handleOp(a, OP_MODIFY, 1, &cProcessed);
+        rcExit = handleOp(a, OP_MODIFY);
     else if (strcmp(a->argv[0], "add") == 0)
-        result = handleOp(a, OP_ADD, 1, &cProcessed);
+        rcExit = handleOp(a, OP_ADD);
     else if (strcmp(a->argv[0], "remove") == 0)
-        result = handleOp(a, OP_REMOVE, 1, &cProcessed);
+        rcExit = handleOp(a, OP_REMOVE);
     else if (strcmp(a->argv[0], "start") == 0)
-        result = handleOp(a, OP_START, 1, &cProcessed);
+        rcExit = handleOp(a, OP_START);
     else if (strcmp(a->argv[0], "stop") == 0)
-        result = handleOp(a, OP_STOP, 1, &cProcessed);
+        rcExit = handleOp(a, OP_STOP);
     else
-        result = errorSyntax(USAGE_NATNETWORK, "Invalid parameter '%s'", Utf8Str(a->argv[0]).c_str());
-
-    return result;
+        rcExit = errorSyntax(USAGE_NATNETWORK, "Invalid parameter '%s'", Utf8Str(a->argv[0]).c_str());
+    return rcExit;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageSnapshot.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageSnapshot.cpp
index aed3be3..e5be880 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageSnapshot.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageSnapshot.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2006-2014 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -28,6 +28,7 @@
 
 #include <iprt/stream.h>
 #include <iprt/getopt.h>
+#include <iprt/time.h>
 
 #include "VBoxManage.h"
 using namespace com;
@@ -197,7 +198,7 @@ static RTEXITCODE handleSnapshotList(HandlerArg *pArgs, ComPtr<IMachine> &pMachi
     if (pSnapshot)
     {
         ComPtr<ISnapshot> pCurrentSnapshot;
-        CHECK_ERROR2_RET(pMachine, COMGETTER(CurrentSnapshot)(pCurrentSnapshot.asOutParam()), RTEXITCODE_FAILURE);
+        CHECK_ERROR2I_RET(pMachine, COMGETTER(CurrentSnapshot)(pCurrentSnapshot.asOutParam()), RTEXITCODE_FAILURE);
         hrc = showSnapshots(pSnapshot, pCurrentSnapshot, enmDetails);
         if (FAILED(hrc))
             return RTEXITCODE_FAILURE;
@@ -259,12 +260,57 @@ void DumpSnapshot(ComPtr<IMachine> &pMachine)
     } while (0);
 }
 
+typedef enum SnapshotUniqueFlags
+{
+    SnapshotUniqueFlags_Null = 0,
+    SnapshotUniqueFlags_Number = RT_BIT(1),
+    SnapshotUniqueFlags_Timestamp = RT_BIT(2),
+    SnapshotUniqueFlags_Space = RT_BIT(16),
+    SnapshotUniqueFlags_Force = RT_BIT(30)
+} SnapshotUniqueFlags;
+
+static int parseSnapshotUniqueFlags(const char *psz, SnapshotUniqueFlags *pUnique)
+{
+    int rc = VINF_SUCCESS;
+    unsigned uUnique = 0;
+    while (psz && *psz && RT_SUCCESS(rc))
+    {
+        size_t len;
+        const char *pszComma = strchr(psz, ',');
+        if (pszComma)
+            len = pszComma - psz;
+        else
+            len = strlen(psz);
+        if (len > 0)
+        {
+            if (!RTStrNICmp(psz, "number", len))
+                uUnique |= SnapshotUniqueFlags_Number;
+            else if (!RTStrNICmp(psz, "timestamp", len))
+                uUnique |= SnapshotUniqueFlags_Timestamp;
+            else if (!RTStrNICmp(psz, "space", len))
+                uUnique |= SnapshotUniqueFlags_Space;
+            else if (!RTStrNICmp(psz, "force", len))
+                uUnique |= SnapshotUniqueFlags_Force;
+            else
+                rc = VERR_PARSE_ERROR;
+        }
+        if (pszComma)
+            psz += len + 1;
+        else
+            psz += len;
+    }
+
+    if (RT_SUCCESS(rc))
+        *pUnique = (SnapshotUniqueFlags)uUnique;
+    return rc;
+}
+
 /**
  * Implementation for all VBoxManage snapshot ... subcommands.
  * @param a
  * @return
  */
-int handleSnapshot(HandlerArg *a)
+RTEXITCODE handleSnapshot(HandlerArg *a)
 {
     HRESULT rc;
 
@@ -278,10 +324,10 @@ int handleSnapshot(HandlerArg *a)
     CHECK_ERROR(a->virtualBox, FindMachine(bstrMachine.raw(),
                                            pMachine.asOutParam()));
     if (!pMachine)
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     /* we have to open a session for this task (new or shared) */
-    CHECK_ERROR_RET(pMachine, LockMachine(a->session, LockType_Shared), 1);
+    CHECK_ERROR_RET(pMachine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
     do
     {
         /* replace the (read-only) IMachine object by a writable one */
@@ -307,19 +353,22 @@ int handleSnapshot(HandlerArg *a)
             /* parse the optional arguments */
             Bstr desc;
             bool fPause = true; /* default is NO live snapshot */
+            SnapshotUniqueFlags enmUnique = SnapshotUniqueFlags_Null;
             static const RTGETOPTDEF s_aTakeOptions[] =
             {
                 { "--description", 'd', RTGETOPT_REQ_STRING },
                 { "-description",  'd', RTGETOPT_REQ_STRING },
                 { "-desc",         'd', RTGETOPT_REQ_STRING },
                 { "--pause",       'p', RTGETOPT_REQ_NOTHING },
-                { "--live",        'l', RTGETOPT_REQ_NOTHING }
+                { "--live",        'l', RTGETOPT_REQ_NOTHING },
+                { "--uniquename",  'u', RTGETOPT_REQ_STRING }
             };
             RTGETOPTSTATE GetOptState;
             RTGetOptInit(&GetOptState, a->argc, a->argv, s_aTakeOptions, RT_ELEMENTS(s_aTakeOptions),
                          3, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
             int ch;
             RTGETOPTUNION Value;
+            int vrc;
             while (   SUCCEEDED(rc)
                    && (ch = RTGetOpt(&GetOptState, &Value)))
             {
@@ -337,6 +386,12 @@ int handleSnapshot(HandlerArg *a)
                         desc = Value.psz;
                         break;
 
+                    case 'u':
+                        vrc = parseSnapshotUniqueFlags(Value.psz, &enmUnique);
+                        if (RT_FAILURE(vrc))
+                            return errorArgument("Invalid unique name description '%s'", Value.psz);
+                        break;
+
                     default:
                         errorGetOpt(USAGE_SNAPSHOT, ch, &Value);
                         rc = E_FAIL;
@@ -346,13 +401,75 @@ int handleSnapshot(HandlerArg *a)
             if (FAILED(rc))
                 break;
 
+            if (enmUnique & (SnapshotUniqueFlags_Number | SnapshotUniqueFlags_Timestamp))
+            {
+                ComPtr<ISnapshot> pSnapshot;
+                rc = sessionMachine->FindSnapshot(name.raw(),
+                                                  pSnapshot.asOutParam());
+                if (SUCCEEDED(rc) || (enmUnique & SnapshotUniqueFlags_Force))
+                {
+                    /* there is a duplicate, need to create a unique name */
+                    uint32_t count = 0;
+                    RTTIMESPEC now;
+
+                    if (enmUnique & SnapshotUniqueFlags_Number)
+                    {
+                        if (enmUnique & SnapshotUniqueFlags_Force)
+                            count = 1;
+                        else
+                            count = 2;
+                    }
+                    else
+                        RTTimeNow(&now);
+
+                    while (count < 500)
+                    {
+                        Utf8Str suffix;
+                        if (enmUnique & SnapshotUniqueFlags_Number)
+                            suffix = Utf8StrFmt("%u", count);
+                        else
+                        {
+                            RTTIMESPEC nowplus = now;
+                            RTTimeSpecAddSeconds(&nowplus, count);
+                            RTTIME stamp;
+                            RTTimeExplode(&stamp, &nowplus);
+                            suffix = Utf8StrFmt("%04u-%02u-%02uT%02u:%02u:%02uZ", stamp.i32Year, stamp.u8Month, stamp.u8MonthDay, stamp.u8Hour, stamp.u8Minute, stamp.u8Second);
+                        }
+                        Bstr tryName = name;
+                        if (enmUnique & SnapshotUniqueFlags_Space)
+                            tryName = BstrFmt("%ls %s", name.raw(), suffix.c_str());
+                        else
+                            tryName = BstrFmt("%ls%s", name.raw(), suffix.c_str());
+                        count++;
+                        rc = sessionMachine->FindSnapshot(tryName.raw(),
+                                                          pSnapshot.asOutParam());
+                        if (FAILED(rc))
+                        {
+                            name = tryName;
+                            break;
+                        }
+                    }
+                    if (SUCCEEDED(rc))
+                    {
+                        errorArgument("Failed to generate a unique snapshot name");
+                        rc = E_FAIL;
+                        break;
+                    }
+                }
+                rc = S_OK;
+            }
+
             ComPtr<IProgress> progress;
+            Bstr snapId;
             CHECK_ERROR_BREAK(sessionMachine, TakeSnapshot(name.raw(), desc.raw(),
-                                                           fPause,
+                                                           fPause, snapId.asOutParam(),
                                                            progress.asOutParam()));
 
             rc = showProgress(progress);
-            CHECK_PROGRESS_ERROR(progress, ("Failed to take snapshot"));
+            if (SUCCEEDED(rc))
+                RTPrintf("Snapshot taken. UUID: %ls\n", snapId.raw());
+            else
+                CHECK_PROGRESS_ERROR(progress, ("Failed to take snapshot"));
         }
         else if (    (fDelete = !strcmp(a->argv[1], "delete"))
                   || (fRestore = !strcmp(a->argv[1], "restore"))
@@ -388,7 +505,7 @@ int handleSnapshot(HandlerArg *a)
             {
                 // restore or delete snapshot: then resolve cmd line argument to snapshot instance
                 CHECK_ERROR_BREAK(sessionMachine, FindSnapshot(Bstr(a->argv[2]).raw(),
-                                                         pSnapshot.asOutParam()));
+                                                               pSnapshot.asOutParam()));
             }
 
             CHECK_ERROR_BREAK(pSnapshot, COMGETTER(Id)(bstrSnapGuid.asOutParam()));
@@ -396,7 +513,7 @@ int handleSnapshot(HandlerArg *a)
             if (fDelete)
             {
                 CHECK_ERROR_BREAK(sessionMachine, DeleteSnapshot(bstrSnapGuid.raw(),
-                                                           pProgress.asOutParam()));
+                                                                 pProgress.asOutParam()));
             }
             else
             {
@@ -427,7 +544,7 @@ int handleSnapshot(HandlerArg *a)
             else
             {
                 CHECK_ERROR_BREAK(sessionMachine, FindSnapshot(Bstr(a->argv[2]).raw(),
-                                                         pSnapshot.asOutParam()));
+                                                               pSnapshot.asOutParam()));
             }
 
             /* parse options */
@@ -501,6 +618,6 @@ int handleSnapshot(HandlerArg *a)
 
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp
index f285191..932dbb1 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp
@@ -72,7 +72,7 @@ static const RTGETOPTDEF g_aStorageAttachOptions[] =
     { "--intnet",           'I', RTGETOPT_REQ_NOTHING },
 };
 
-int handleStorageAttach(HandlerArg *a)
+RTEXITCODE handleStorageAttach(HandlerArg *a)
 {
     int c = VERR_INTERNAL_ERROR;        /* initialized to shut up gcc */
     HRESULT rc = S_OK;
@@ -311,20 +311,20 @@ int handleStorageAttach(HandlerArg *a)
     }
 
     if (FAILED(rc))
-        return 1;
+        return RTEXITCODE_FAILURE;
 
     if (!pszCtl)
         return errorSyntax(USAGE_STORAGEATTACH, "Storage controller name not specified");
 
     /* get the virtualbox system properties */
-    CHECK_ERROR_RET(a->virtualBox, COMGETTER(SystemProperties)(systemProperties.asOutParam()), 1);
+    CHECK_ERROR_RET(a->virtualBox, COMGETTER(SystemProperties)(systemProperties.asOutParam()), RTEXITCODE_FAILURE);
 
     // find the machine, lock it, get the mutable session machine
     CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[0]).raw(),
-                                               machine.asOutParam()), 1);
-    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), 1);
+                                               machine.asOutParam()), RTEXITCODE_FAILURE);
+    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
     SessionType_T st;
-    CHECK_ERROR_RET(a->session, COMGETTER(Type)(&st), 1);
+    CHECK_ERROR_RET(a->session, COMGETTER(Type)(&st), RTEXITCODE_FAILURE);
     a->session->COMGETTER(Machine)(machine.asOutParam());
 
     try
@@ -346,11 +346,11 @@ int handleStorageAttach(HandlerArg *a)
             throw Utf8StrFmt("Could not find a controller named '%s'\n", pszCtl);
 
         StorageBus_T storageBus = StorageBus_Null;
-        CHECK_ERROR_RET(storageCtl, COMGETTER(Bus)(&storageBus), 1);
+        CHECK_ERROR_RET(storageCtl, COMGETTER(Bus)(&storageBus), RTEXITCODE_FAILURE);
         ULONG maxPorts = 0;
-        CHECK_ERROR_RET(systemProperties, GetMaxPortCountForStorageBus(storageBus, &maxPorts), 1);
+        CHECK_ERROR_RET(systemProperties, GetMaxPortCountForStorageBus(storageBus, &maxPorts), RTEXITCODE_FAILURE);
         ULONG maxDevices = 0;
-        CHECK_ERROR_RET(systemProperties, GetMaxDevicesPerPortForStorageBus(storageBus, &maxDevices), 1);
+        CHECK_ERROR_RET(systemProperties, GetMaxDevicesPerPortForStorageBus(storageBus, &maxDevices), RTEXITCODE_FAILURE);
 
         if (port == ~0U)
         {
@@ -935,7 +935,7 @@ int handleStorageAttach(HandlerArg *a)
 leave:
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 
@@ -950,10 +950,9 @@ static const RTGETOPTDEF g_aStorageControllerOptions[] =
     { "--bootable",         'b', RTGETOPT_REQ_STRING },
 };
 
-int handleStorageController(HandlerArg *a)
+RTEXITCODE handleStorageController(HandlerArg *a)
 {
     int               c;
-    HRESULT           rc             = S_OK;
     const char       *pszCtl         = NULL;
     const char       *pszBusType     = NULL;
     const char       *pszCtlType     = NULL;
@@ -973,80 +972,54 @@ int handleStorageController(HandlerArg *a)
     RTGetOptInit (&GetState, a->argc, a->argv, g_aStorageControllerOptions,
                   RT_ELEMENTS(g_aStorageControllerOptions), 1, RTGETOPTINIT_FLAGS_NO_STD_OPTS);
 
-    while (   SUCCEEDED(rc)
-           && (c = RTGetOpt(&GetState, &ValueUnion)))
+    while ((c = RTGetOpt(&GetState, &ValueUnion)) != 0)
     {
         switch (c)
         {
             case 'n':   // controller name
-            {
-                if (ValueUnion.psz)
-                    pszCtl = ValueUnion.psz;
-                else
-                    rc = E_FAIL;
+                Assert(ValueUnion.psz);
+                pszCtl = ValueUnion.psz;
                 break;
-            }
 
             case 'a':   // controller bus type <ide/sata/scsi/floppy>
-            {
-                if (ValueUnion.psz)
-                    pszBusType = ValueUnion.psz;
-                else
-                    rc = E_FAIL;
+                Assert(ValueUnion.psz);
+                pszBusType = ValueUnion.psz;
                 break;
-            }
 
             case 'c':   // controller <lsilogic/buslogic/intelahci/piix3/piix4/ich6/i82078>
-            {
-                if (ValueUnion.psz)
-                    pszCtlType = ValueUnion.psz;
-                else
-                    rc = E_FAIL;
+                Assert(ValueUnion.psz);
+                pszCtlType = ValueUnion.psz;
                 break;
-            }
 
             case 'p':   // portcount
-            {
                 portcount = ValueUnion.u32;
                 break;
-            }
 
             case 'r':   // remove controller
-            {
                 fRemoveCtl = true;
                 break;
-            }
 
             case 'i':
-            {
                 pszHostIOCache = ValueUnion.psz;
                 break;
-            }
 
             case 'b':
-            {
                 pszBootable = ValueUnion.psz;
                 break;
-            }
 
             default:
-            {
-                errorGetOpt(USAGE_STORAGECONTROLLER, c, &ValueUnion);
-                rc = E_FAIL;
-                break;
-            }
+                return errorGetOpt(USAGE_STORAGECONTROLLER, c, &ValueUnion);
         }
     }
 
-    if (FAILED(rc))
-        return 1;
+    HRESULT rc;
 
     /* try to find the given machine */
     CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[0]).raw(),
-                                               machine.asOutParam()), 1);
+                                               machine.asOutParam()), RTEXITCODE_FAILURE);
 
     /* open a session for the VM */
-    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), 1);
+    CHECK_ERROR_RET(machine, LockMachine(a->session, LockType_Write), RTEXITCODE_FAILURE);
 
     /* get the mutable session machine */
     a->session->COMGETTER(Machine)(machine.asOutParam());
@@ -1055,8 +1028,7 @@ int handleStorageController(HandlerArg *a)
     {
         /* it's important to always close sessions */
         a->session->UnlockMachine();
-        errorSyntax(USAGE_STORAGECONTROLLER, "Storage controller name not specified\n");
-        return 1;
+        return errorSyntax(USAGE_STORAGECONTROLLER, "Storage controller name not specified\n");
     }
 
     if (fRemoveCtl)
@@ -1255,7 +1227,7 @@ int handleStorageController(HandlerArg *a)
     /* it's important to always close sessions */
     a->session->UnlockMachine();
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 
 #endif /* !VBOX_ONLY_DOCS */
diff --git a/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp b/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp
index 08f0d43..49375f7 100644
--- a/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp
+++ b/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp
@@ -165,7 +165,7 @@ struct USBFilterCmd
     USBFilter mFilter;
 };
 
-int handleUSBFilter(HandlerArg *a)
+RTEXITCODE handleUSBFilter(HandlerArg *a)
 {
     HRESULT rc = S_OK;
     USBFilterCmd cmd;
@@ -221,7 +221,7 @@ int handleUSBFilter(HandlerArg *a)
                     {
                         /* assume it's a UUID of a machine */
                         CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[i]).raw(),
-                                                                   cmd.mMachine.asOutParam()), 1);
+                                                                   cmd.mMachine.asOutParam()), RTEXITCODE_FAILURE);
                     }
                 }
                 else if (   !strcmp(a->argv[i], "--name")
@@ -370,7 +370,7 @@ int handleUSBFilter(HandlerArg *a)
                     else
                     {
                         CHECK_ERROR_RET(a->virtualBox, FindMachine(Bstr(a->argv[i]).raw(),
-                                                                   cmd.mMachine.asOutParam()), 1);
+                                                                   cmd.mMachine.asOutParam()), RTEXITCODE_FAILURE);
                     }
                 }
             }
@@ -390,15 +390,15 @@ int handleUSBFilter(HandlerArg *a)
     ComPtr<IHost> host;
     ComPtr<IUSBDeviceFilters> flts;
     if (cmd.mGlobal)
-        CHECK_ERROR_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), 1);
+        CHECK_ERROR_RET(a->virtualBox, COMGETTER(Host)(host.asOutParam()), RTEXITCODE_FAILURE);
     else
     {
         /* open a session for the VM */
-        CHECK_ERROR_RET(cmd.mMachine, LockMachine(a->session, LockType_Shared), 1);
+        CHECK_ERROR_RET(cmd.mMachine, LockMachine(a->session, LockType_Shared), RTEXITCODE_FAILURE);
         /* get the mutable session machine */
         a->session->COMGETTER(Machine)(cmd.mMachine.asOutParam());
         /* and get the USB device filters */
-        CHECK_ERROR_RET(cmd.mMachine, COMGETTER(USBDeviceFilters)(flts.asOutParam()), 1);
+        CHECK_ERROR_RET(cmd.mMachine, COMGETTER(USBDeviceFilters)(flts.asOutParam()), RTEXITCODE_FAILURE);
     }
 
     switch (cmd.mAction)
@@ -544,6 +544,6 @@ int handleUSBFilter(HandlerArg *a)
         a->session->UnlockMachine();
     }
 
-    return SUCCEEDED(rc) ? 0 : 1;
+    return SUCCEEDED(rc) ? RTEXITCODE_SUCCESS : RTEXITCODE_FAILURE;
 }
 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp b/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
index 72d0c07..b9ff676 100644
--- a/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
+++ b/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
@@ -2342,7 +2342,7 @@ DECLEXPORT(int) TrustedMain(int argc, char **argv, char **envp)
 
                     default:
                     {
-                        LogBird(("VBoxSDL: Unknown SDL event %d (pre)\n", event.type));
+                        Log8(("VBoxSDL: Unknown SDL event %d (pre)\n", event.type));
                         break;
                     }
                 }
@@ -2904,7 +2904,7 @@ DECLEXPORT(int) TrustedMain(int argc, char **argv, char **envp)
 
             default:
             {
-                LogBird(("unknown SDL event %d\n", event.type));
+                Log8(("unknown SDL event %d\n", event.type));
                 break;
             }
         }
@@ -4957,9 +4957,10 @@ static int HandleHostKey(const SDL_KeyboardEvent *pEv)
             RTStrPrintf(pszSnapshotName, sizeof(pszSnapshotName), "Snapshot %d", cSnapshots + 1);
             gpProgress = NULL;
             HRESULT rc;
+            Bstr snapId;
             CHECK_ERROR(gpMachine, TakeSnapshot(Bstr(pszSnapshotName).raw(),
                                                 Bstr("Taken by VBoxSDL").raw(),
-						TRUE,
+                                                TRUE, snapId.asOutParam(),
                                                 gpProgress.asOutParam()));
             if (FAILED(rc))
             {
diff --git a/src/VBox/Frontends/VBoxShell/vboxshell.py b/src/VBox/Frontends/VBoxShell/vboxshell.py
index f7a3cfd..b5835f7 100755
--- a/src/VBox/Frontends/VBoxShell/vboxshell.py
+++ b/src/VBox/Frontends/VBoxShell/vboxshell.py
@@ -30,7 +30,7 @@ Foundation, in version 2 as it comes in the "COPYING" file of the
 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
 """
-__version__ = "$Revision: 99520 $"
+__version__ = "$Revision: 100511 $"
 
 
 import os, sys
@@ -2634,7 +2634,7 @@ def snapshotCmd(ctx, args):
             desc = args[4]
         else:
             desc = ""
-        cmdAnyVm(ctx, mach, lambda ctx, mach, console, args: progressBar(ctx, mach.takeSnapshot(name, desc, true)))
+        cmdAnyVm(ctx, mach, lambda ctx, mach, console, args: progressBar(ctx, mach.takeSnapshot(name, desc, true)[1]))
         return 0
 
     if cmd == 'restore':
diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk
index 327431a..c047618 100644
--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
@@ -283,6 +283,7 @@ VirtualBox_QT_MOCHDRS = \
 	src/extensions/QITreeWidget.h \
 	src/extensions/QIWidgetValidator.h \
 	src/extensions/QIAdvancedToolBar.h \
+	src/extensions/graphics/QIGraphicsView.h \
 	src/extensions/graphics/QIGraphicsWidget.h \
 	src/extradata/UIExtraDataDefs.h \
 	src/extradata/UIExtraDataManager.h \
@@ -558,6 +559,7 @@ VirtualBox_SOURCES = \
 	src/extensions/QITreeWidget.cpp \
 	src/extensions/QIWidgetValidator.cpp \
 	src/extensions/QIAdvancedToolBar.cpp \
+	src/extensions/graphics/QIGraphicsView.cpp \
 	src/extensions/graphics/QIGraphicsWidget.cpp \
 	src/extradata/UIExtraDataDefs.cpp \
 	src/extradata/UIExtraDataManager.cpp \
@@ -920,14 +922,13 @@ $(VBOX_VIRTUALBOX4_OUT_DIR)/VirtualBoxBrand.qrc: \
 # Precompiled header - non-functional atm.
 #
 ifdef VBOX_WITH_PRECOMPILED_HEADERS
- VirtualBox_DEFS          += VBOX_WITH_PRECOMPILED_HEADERS
+ VirtualBox_DEFS           += VBOX_WITH_PRECOMPILED_HEADERS
+ VirtualBox_INCS           <= $(VirtualBoxPch_0_OUTDIR)/src
  if1of ($(KBUILD_TARGET),win)
- # VirtualBox_CXXFLAGS      += -Winvalid-pch -fpch-preprocess
- # VirtualBox_INCS          <= $(VirtualBoxPch_0_OUTDIR)/src
- # VirtualBox_INTERMEDIATES += $(VirtualBox_0_OUTDIR)/include/precomp.h.gch
+  VirtualBox_CXXFLAGS      += -Yuprecomp.h -Fp$$(VirtualBoxPch_0_OUTDIR)/src/precomp.pch
+  VirtualBox_INTERMEDIATES += $(VirtualBoxPch_0_OUTDIR)/src/precomp.pch
  else
   VirtualBox_CXXFLAGS      += -Winvalid-pch -fpch-preprocess
-  VirtualBox_INCS          <= $(VirtualBoxPch_0_OUTDIR)/src
   $(foreach x,$(filter-out include/COMWrappers.cpp, $(filter %.cpp, \
   	$(VirtualBox_SOURCES) \
 	$(VirtualBox_SOURCES.$(KBUILD_TARGET)) \
@@ -944,12 +945,14 @@ endif
  VirtualBoxPch_EXTENDS = VirtualBox
  VirtualBoxPch_LDTOOL   = VirtualBoxPchLinker
  VirtualBoxPch_INSTTYPE = none
- VirtualBoxPch_INTERMEDIATES   = $(filter-out %.h.gch, $(VirtualBox_INTERMEDIATES))
  VirtualBoxPch_NAME            = VirtualBoxPch
  if1of ($(KBUILD_TARGET),win)
+  VirtualBoxPch_INTERMEDIATES  = $(filter-out %.pch, $(VirtualBox_INTERMEDIATES))
   VirtualBoxPch_SOURCES        = src/precomp.cpp
-  VirtualBoxPch_CXXFLAGS       = $(filter-out -Winvalid-pch -fpch-preprocess, $(VirtualBox_CXXFLAGS))
+  VirtualBoxPch_CXXFLAGS       = $(filter-out -Yu%, $(VirtualBox_CXXFLAGS)) -Ycprecomp.h -Yd -FR\tmp\foo.sbr
+  $$(VirtualBoxPch_0_OUTDIR)/src/precomp.pch: $$(VirtualBoxPch_0_OUTDIR)/src/precomp.obj
  else
+  VirtualBoxPch_INTERMEDIATES  = $(filter-out %.h.gch, $(VirtualBox_INTERMEDIATES))
   VirtualBoxPch_SOURCES        = src/precomp.h
   VirtualBoxPch_CXXFLAGS       = $(filter-out -Winvalid-pch -fpch-preprocess, $(VirtualBox_CXXFLAGS)) -x c++-header
   VirtualBoxPch_CXXOBJSUFF     = .h.gch
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox1.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox1.qrc
index a232ac6..b5d6c0e 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox1.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox1.qrc
@@ -279,6 +279,5 @@
         <file alias="os_turbolinux_64.png">images/os_turbolinux_64.png</file>
         <file alias="os_type_16px.png">images/os_type_16px.png</file>
         <file alias="os_ubuntu.png">images/os_ubuntu.png</file>
-        <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
     </qresource>
 </RCC>
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox1_hidpi.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox1_hidpi.qrc
index 715cdce..3755b73 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox1_hidpi.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox1_hidpi.qrc
@@ -195,8 +195,12 @@
         <file alias="machine_abstract_16px_hidpi.png">images/hidpi/machine_abstract_16px_hidpi.png</file>
         <file alias="machine_warning_16px_hidpi.png">images/hidpi/machine_warning_16px_hidpi.png</file>
         <file alias="meditation_32px_hidpi.png">images/hidpi/meditation_32px_hidpi.png</file>
+        <file alias="menubar_16px_hidpi.png">images/hidpi/menubar_16px_hidpi.png</file>
+        <file alias="menubar_disabled_16px_hidpi.png">images/hidpi/menubar_disabled_16px_hidpi.png</file>
         <file alias="menubar_on_16px_hidpi.png">images/hidpi/menubar_on_16px_hidpi.png</file>
         <file alias="menubar_on_disabled_16px_hidpi.png">images/hidpi/menubar_on_disabled_16px_hidpi.png</file>
+        <file alias="menubar_settings_16px_hidpi.png">images/hidpi/menubar_settings_16px_hidpi.png</file>
+        <file alias="menubar_settings_disabled_16px_hidpi.png">images/hidpi/menubar_settings_disabled_16px_hidpi.png</file>
         <file alias="minimize_16px_hidpi.png">images/hidpi/minimize_16px_hidpi.png</file>
         <file alias="mouse_16px_hidpi.png">images/hidpi/mouse_16px_hidpi.png</file>
         <file alias="mouse_can_seamless_16px_hidpi.png">images/hidpi/mouse_can_seamless_16px_hidpi.png</file>
@@ -267,7 +271,5 @@
         <file alias="os_os2warp4_hidpi.png">images/hidpi/os_os2warp4_hidpi.png</file>
         <file alias="os_other_64_hidpi.png">images/hidpi/os_other_64_hidpi.png</file>
         <file alias="os_other_hidpi.png">images/hidpi/os_other_hidpi.png</file>
-        <file alias="os_qnx_hidpi.png">images/hidpi/os_qnx_hidpi.png</file>
-        <file alias="os_redhat_64_hidpi.png">images/hidpi/os_redhat_64_hidpi.png</file>
     </qresource>
 </RCC>
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
index bd47d16..fefe756 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
@@ -1,5 +1,6 @@
 <RCC>
     <qresource prefix="/">
+        <file alias="os_ubuntu_64.png">images/os_ubuntu_64.png</file>
         <file alias="os_win10.png">images/os_win10.png</file>
         <file alias="os_win10_64.png">images/os_win10_64.png</file>
         <file alias="os_win2k.png">images/os_win2k.png</file>
@@ -229,9 +230,7 @@
         <file alias="vm_open_filemanager_16px.png">images/vm_open_filemanager_16px.png</file>
         <file alias="vm_open_filemanager_disabled_16px.png">images/vm_open_filemanager_disabled_16px.png</file>
         <file alias="vm_pause_16px.png">images/vm_pause_16px.png</file>
-        <file alias="vm_pause_32px.png">images/vm_pause_32px.png</file>
         <file alias="vm_pause_disabled_16px.png">images/vm_pause_disabled_16px.png</file>
-        <file alias="vm_pause_disabled_32px.png">images/vm_pause_disabled_32px.png</file>
         <file alias="vm_pause_on_16px.png">images/vm_pause_on_16px.png</file>
         <file alias="vm_pause_on_disabled_16px.png">images/vm_pause_on_disabled_16px.png</file>
         <file alias="vm_poweroff_16px.png">images/vm_poweroff_16px.png</file>
diff --git a/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc b/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc
index d330d48..3c22848 100644
--- a/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc
+++ b/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc
@@ -1,10 +1,13 @@
 <RCC>
     <qresource prefix="/">
+        <file alias="os_qnx_hidpi.png">images/hidpi/os_qnx_hidpi.png</file>
+        <file alias="os_redhat_64_hidpi.png">images/hidpi/os_redhat_64_hidpi.png</file>
         <file alias="os_redhat_hidpi.png">images/hidpi/os_redhat_hidpi.png</file>
         <file alias="os_solaris_64_hidpi.png">images/hidpi/os_solaris_64_hidpi.png</file>
         <file alias="os_solaris_hidpi.png">images/hidpi/os_solaris_hidpi.png</file>
         <file alias="os_turbolinux_64_hidpi.png">images/hidpi/os_turbolinux_64_hidpi.png</file>
         <file alias="os_turbolinux_hidpi.png">images/hidpi/os_turbolinux_hidpi.png</file>
+        <file alias="os_type_16px_hidpi.png">images/hidpi/os_type_16px_hidpi.png</file>
         <file alias="os_ubuntu_64_hidpi.png">images/hidpi/os_ubuntu_64_hidpi.png</file>
         <file alias="os_ubuntu_hidpi.png">images/hidpi/os_ubuntu_hidpi.png</file>
         <file alias="os_win10_64_hidpi.png">images/hidpi/os_win10_64_hidpi.png</file>
@@ -235,9 +238,7 @@
         <file alias="vm_open_filemanager_16px_hidpi.png">images/hidpi/vm_open_filemanager_16px_hidpi.png</file>
         <file alias="vm_open_filemanager_disabled_16px_hidpi.png">images/hidpi/vm_open_filemanager_disabled_16px_hidpi.png</file>
         <file alias="vm_pause_16px_hidpi.png">images/hidpi/vm_pause_16px_hidpi.png</file>
-        <file alias="vm_pause_32px_hidpi.png">images/hidpi/vm_pause_32px_hidpi.png</file>
         <file alias="vm_pause_disabled_16px_hidpi.png">images/hidpi/vm_pause_disabled_16px_hidpi.png</file>
-        <file alias="vm_pause_disabled_32px_hidpi.png">images/hidpi/vm_pause_disabled_32px_hidpi.png</file>
         <file alias="vm_pause_on_16px_hidpi.png">images/hidpi/vm_pause_on_16px_hidpi.png</file>
         <file alias="vm_pause_on_disabled_16px_hidpi.png">images/hidpi/vm_pause_on_disabled_16px_hidpi.png</file>
         <file alias="vm_poweroff_16px_hidpi.png">images/hidpi/vm_poweroff_16px_hidpi.png</file>
@@ -271,5 +272,7 @@
         <file alias="vtx_amdv_disabled_16px_hidpi.png">images/hidpi/vtx_amdv_disabled_16px_hidpi.png</file>
         <file alias="web_camera_16px_hidpi.png">images/hidpi/web_camera_16px_hidpi.png</file>
         <file alias="web_camera_disabled_16px_hidpi.png">images/hidpi/web_camera_disabled_16px_hidpi.png</file>
+        <file alias="web_camera_unavailable_16px_hidpi.png">images/hidpi/web_camera_unavailable_16px_hidpi.png</file>
+        <file alias="web_camera_unavailable_disabled_16px_hidpi.png">images/hidpi/web_camera_unavailable_disabled_16px_hidpi.png</file>
     </qresource>
 </RCC>
diff --git a/src/VBox/Frontends/VirtualBox/images/guesttools_16px.png b/src/VBox/Frontends/VirtualBox/images/guesttools_16px.png
index 10244c8..f2d1d98 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/guesttools_16px.png and b/src/VBox/Frontends/VirtualBox/images/guesttools_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/guesttools_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/guesttools_16px_hidpi.png
index 768ee0b..6e720a7 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/guesttools_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/guesttools_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_16px_hidpi.png
index 7a0dc2d..bfff018 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_24px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_24px_hidpi.png
index a74a88d..48a9a85 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_24px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_24px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_32px_hidpi.png
index 63b0f4c..46674c5 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_32px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_32px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_16px_hidpi.png
index 04311bd..d6bc427 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_pressed_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_pressed_16px_hidpi.png
index 5bb57db..da0c0e7 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_pressed_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_captured_pressed_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_pressed_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_pressed_16px_hidpi.png
index 7c30d75..ba71a0c 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_pressed_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_pressed_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_warning_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_warning_16px_hidpi.png
index ec688db..475d116 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_warning_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/hostkey_warning_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_16px_hidpi.png
index c015ae9..17ecec7 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_24px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_24px_hidpi.png
index a95e26f..7a92085 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_24px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_24px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_32px_hidpi.png
index fa14992..87b9a6c 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_32px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_32px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_settings_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_settings_16px_hidpi.png
index bed81ee..8dcc7a5 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_settings_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/keyboard_settings_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_16px_hidpi.png
new file mode 100644
index 0000000..304c0bd
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_disabled_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_disabled_16px_hidpi.png
new file mode 100644
index 0000000..30b2b60
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_disabled_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_16px_hidpi.png
new file mode 100644
index 0000000..04b222c
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_disabled_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_disabled_16px_hidpi.png
new file mode 100644
index 0000000..eec5ba8
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/menubar_settings_disabled_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/os_type_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/os_type_16px_hidpi.png
new file mode 100644
index 0000000..1f6c879
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/os_type_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_16px_hidpi.png
index 09a7f11..973fd89 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_24px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_24px_hidpi.png
index 64deadb..3523424 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_24px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_24px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_32px_hidpi.png
index d41542d..68eee72 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_32px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_32px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_warning_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_warning_16px_hidpi.png
index 5775d94..2a6c62b 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_warning_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/proxy_warning_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_16px_hidpi.png
index 25f9933..d365641 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_22px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_22px_hidpi.png
index 7ef7c01..c3a2058 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_22px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_22px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_24px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_24px_hidpi.png
index 84916a3..2ab29e0 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_24px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_24px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_32px_hidpi.png
index 857b63d..c56d33c 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_32px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_32px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_warning_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_warning_16px_hidpi.png
index 1075701..bb45ef3 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_warning_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/refresh_warning_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/shared_clipboard_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/shared_clipboard_16px_hidpi.png
index 0cacf53..798f12b 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/shared_clipboard_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/shared_clipboard_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_16px_hidpi.png
index 179959a..46e80de 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_on_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_on_16px_hidpi.png
index 79c734d..a7f33ac 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_on_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_on_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_poweroff_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_poweroff_16px_hidpi.png
index 272ba41..4cafda3 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_poweroff_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/vm_poweroff_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_16px_hidpi.png
index 4d4db5d..e9e1b96 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_16px_hidpi.png and b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_16px_hidpi.png
new file mode 100644
index 0000000..be0a385
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_disabled_16px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_disabled_16px_hidpi.png
new file mode 100644
index 0000000..4ddce93
Binary files /dev/null and b/src/VBox/Frontends/VirtualBox/images/hidpi/web_camera_unavailable_disabled_16px_hidpi.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_16px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_16px.png
index 92bb038..3243290 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_16px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_24px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_24px.png
index 3a261b1..9e7cfbf 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_24px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_24px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_32px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_32px.png
index 1b0c5ca..1a27a6f 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_32px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_32px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_captured_16px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_captured_16px.png
index bc9f978..b37efb0 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_captured_16px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_captured_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_captured_pressed_16px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_captured_pressed_16px.png
index 711b8ce..33dd0e2 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_captured_pressed_16px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_captured_pressed_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_pressed_16px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_pressed_16px.png
index 2eae833..0117e74 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_pressed_16px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_pressed_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/hostkey_warning_16px.png b/src/VBox/Frontends/VirtualBox/images/hostkey_warning_16px.png
index 7e5ec19..b8d5d45 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/hostkey_warning_16px.png and b/src/VBox/Frontends/VirtualBox/images/hostkey_warning_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/keyboard_16px.png b/src/VBox/Frontends/VirtualBox/images/keyboard_16px.png
index 4778056..0799224 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/keyboard_16px.png and b/src/VBox/Frontends/VirtualBox/images/keyboard_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/keyboard_24px.png b/src/VBox/Frontends/VirtualBox/images/keyboard_24px.png
index a1ae107..762f486 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/keyboard_24px.png and b/src/VBox/Frontends/VirtualBox/images/keyboard_24px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/keyboard_32px.png b/src/VBox/Frontends/VirtualBox/images/keyboard_32px.png
index 854c168..c27bc6d 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/keyboard_32px.png and b/src/VBox/Frontends/VirtualBox/images/keyboard_32px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/keyboard_settings_16px.png b/src/VBox/Frontends/VirtualBox/images/keyboard_settings_16px.png
index c3f0592..13b7158 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/keyboard_settings_16px.png and b/src/VBox/Frontends/VirtualBox/images/keyboard_settings_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/proxy_16px.png b/src/VBox/Frontends/VirtualBox/images/proxy_16px.png
index cb05406..329bc86 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/proxy_16px.png and b/src/VBox/Frontends/VirtualBox/images/proxy_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/proxy_24px.png b/src/VBox/Frontends/VirtualBox/images/proxy_24px.png
index e0740cb..2c3a403 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/proxy_24px.png and b/src/VBox/Frontends/VirtualBox/images/proxy_24px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/proxy_32px.png b/src/VBox/Frontends/VirtualBox/images/proxy_32px.png
index 42cfeef..6bde680 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/proxy_32px.png and b/src/VBox/Frontends/VirtualBox/images/proxy_32px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/proxy_warning_16px.png b/src/VBox/Frontends/VirtualBox/images/proxy_warning_16px.png
index c24a969..ec1480e 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/proxy_warning_16px.png and b/src/VBox/Frontends/VirtualBox/images/proxy_warning_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/refresh_16px.png b/src/VBox/Frontends/VirtualBox/images/refresh_16px.png
index 2f33f81..806af74 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/refresh_16px.png and b/src/VBox/Frontends/VirtualBox/images/refresh_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/refresh_22px.png b/src/VBox/Frontends/VirtualBox/images/refresh_22px.png
index 68361b4..783eaf2 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/refresh_22px.png and b/src/VBox/Frontends/VirtualBox/images/refresh_22px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/refresh_24px.png b/src/VBox/Frontends/VirtualBox/images/refresh_24px.png
index 12b767f..4febef0 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/refresh_24px.png and b/src/VBox/Frontends/VirtualBox/images/refresh_24px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/refresh_32px.png b/src/VBox/Frontends/VirtualBox/images/refresh_32px.png
index 1140e01..dce7564 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/refresh_32px.png and b/src/VBox/Frontends/VirtualBox/images/refresh_32px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/refresh_warning_16px.png b/src/VBox/Frontends/VirtualBox/images/refresh_warning_16px.png
index 54a6b5c..f38b6d1 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/refresh_warning_16px.png and b/src/VBox/Frontends/VirtualBox/images/refresh_warning_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/shared_clipboard_16px.png b/src/VBox/Frontends/VirtualBox/images/shared_clipboard_16px.png
index cc36294..c5dd838 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/shared_clipboard_16px.png and b/src/VBox/Frontends/VirtualBox/images/shared_clipboard_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/vm_pause_32px.png b/src/VBox/Frontends/VirtualBox/images/unused/vm_pause_32px.png
similarity index 100%
rename from src/VBox/Frontends/VirtualBox/images/vm_pause_32px.png
rename to src/VBox/Frontends/VirtualBox/images/unused/vm_pause_32px.png
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/unused/vm_pause_32px_hidpi.png
similarity index 100%
rename from src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_32px_hidpi.png
rename to src/VBox/Frontends/VirtualBox/images/unused/vm_pause_32px_hidpi.png
diff --git a/src/VBox/Frontends/VirtualBox/images/vm_pause_disabled_32px.png b/src/VBox/Frontends/VirtualBox/images/unused/vm_pause_disabled_32px.png
similarity index 100%
rename from src/VBox/Frontends/VirtualBox/images/vm_pause_disabled_32px.png
rename to src/VBox/Frontends/VirtualBox/images/unused/vm_pause_disabled_32px.png
diff --git a/src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_disabled_32px_hidpi.png b/src/VBox/Frontends/VirtualBox/images/unused/vm_pause_disabled_32px_hidpi.png
similarity index 100%
rename from src/VBox/Frontends/VirtualBox/images/hidpi/vm_pause_disabled_32px_hidpi.png
rename to src/VBox/Frontends/VirtualBox/images/unused/vm_pause_disabled_32px_hidpi.png
diff --git a/src/VBox/Frontends/VirtualBox/images/vm_pause_16px.png b/src/VBox/Frontends/VirtualBox/images/vm_pause_16px.png
index eea3a06..f808dd6 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/vm_pause_16px.png and b/src/VBox/Frontends/VirtualBox/images/vm_pause_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/vm_pause_on_16px.png b/src/VBox/Frontends/VirtualBox/images/vm_pause_on_16px.png
index dc4148b..2b81b92 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/vm_pause_on_16px.png and b/src/VBox/Frontends/VirtualBox/images/vm_pause_on_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/vm_poweroff_16px.png b/src/VBox/Frontends/VirtualBox/images/vm_poweroff_16px.png
index 92bab41..905fe00 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/vm_poweroff_16px.png and b/src/VBox/Frontends/VirtualBox/images/vm_poweroff_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/web_camera_16px.png b/src/VBox/Frontends/VirtualBox/images/web_camera_16px.png
index b1f8cee..d85adbb 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/web_camera_16px.png and b/src/VBox/Frontends/VirtualBox/images/web_camera_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/images/web_camera_unavailable_16px.png b/src/VBox/Frontends/VirtualBox/images/web_camera_unavailable_16px.png
index 2316b85..056004c 100644
Binary files a/src/VBox/Frontends/VirtualBox/images/web_camera_unavailable_16px.png and b/src/VBox/Frontends/VirtualBox/images/web_camera_unavailable_16px.png differ
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
index 14e4952..ddcae26 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts
@@ -260,7 +260,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Автоматично преоразмеряване на виртуалния изглед, когато прозорецът бъде преоразмерен (изисква Виртуални Добавки)</translation>
+        <translation type="obsolete">Автоматично преоразмеряване на виртуалния изглед, когато прозорецът бъде преоразмерен (изисква Виртуални Добавки)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -344,7 +344,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Изпраща събитието натискане на ACPI бутона за включване към виртуалната машина</translation>
+        <translation type="obsolete">Изпраща събитието натискане на ACPI бутона за включване към виртуалната машина</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -380,7 +380,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Промяна настройките на мрежовите адаптери</translation>
+        <translation type="obsolete">Промяна настройките на мрежовите адаптери</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -388,7 +388,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Отваряне на диалог за опериране със споделени папки</translation>
+        <translation type="obsolete">Отваряне на диалог за опериране със споделени папки</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -537,7 +537,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Управление на настройките на виртуалната машина</translation>
+        <translation type="obsolete">Управление на настройките на виртуалната машина</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -545,7 +545,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Показване на файловете със записки за избраната виртуална машина</translation>
+        <translation type="obsolete">Показване на файловете със записки за избраната виртуална машина</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -569,7 +569,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Показване управлението на мрежови операции</translation>
+        <translation type="obsolete">Показване управлението на мрежови операции</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -581,7 +581,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Показва диалога с информацията за продукта</translation>
+        <translation type="obsolete">Показва диалога с информацията за продукта</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -593,7 +593,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Вземане снимка на виртуалната машина</translation>
+        <translation type="obsolete">Вземане снимка на виртуалната машина</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -636,11 +636,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Предпочитания...</translation>
+        <translation type="obsolete">&Предпочитания...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Показва диалога за общите настройки</translation>
+        <translation type="obsolete">Показва диалога за общите настройки</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -656,15 +656,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Създаване на нова виртуална машина</translation>
+        <translation type="obsolete">Създаване на нова виртуална машина</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Добавяне на съществуваща виртуална машина</translation>
+        <translation type="obsolete">Добавяне на съществуваща виртуална машина</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Преименуване групата на избраната виртуална машина</translation>
+        <translation type="obsolete">Преименуване групата на избраната виртуална машина</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -684,15 +684,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>О&бновяване...</translation>
+        <translation type="obsolete">О&бновяване...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Обновява състоянието на достъпност на избраната виртуална машина</translation>
+        <translation type="obsolete">Обновява състоянието на достъпност на избраната виртуална машина</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Показване в Търсачката</translation>
+        <translation type="obsolete">Показване в Търсачката</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -700,7 +700,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Показване в Explorer</translation>
+        <translation type="obsolete">Показване в Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -708,11 +708,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Показване във файловия мениджър</translation>
+        <translation type="obsolete">Показване във файловия мениджър</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Показва описателния файл на VirtualBox за машината във файловия мениджър</translation>
+        <translation type="obsolete">Показва описателния файл на VirtualBox за машината във файловия мениджър</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -724,7 +724,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Добавяне на нова група, базирана на избраните елементи</translation>
+        <translation type="obsolete">Добавяне на нова група, базирана на избраните елементи</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -732,7 +732,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Клонира избраната виртуална машина</translation>
+        <translation type="obsolete">Клонира избраната виртуална машина</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -748,7 +748,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Из&чистване на запазеното състояние...</translation>
+        <translation type="obsolete">Из&чистване на запазеното състояние...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -756,7 +756,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Създаване на дубликат на работния плот</translation>
+        <translation type="obsolete">Създаване на дубликат на работния плот</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -764,7 +764,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Създаване на пряк път на работния плот</translation>
+        <translation type="obsolete">Създаване на пряк път на работния плот</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -796,59 +796,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Сортиране елементите на избраната група азбучно</translation>
+        <translation type="obsolete">Сортиране елементите на избраната група азбучно</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Премахва избраните виртуални машини</translation>
+        <translation type="obsolete">Премахва избраните виртуални машини</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Включва избраните виртуални машини</translation>
+        <translation type="obsolete">Включва избраните виртуални машини</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Превключва към прозорците на избраните виртуални машини</translation>
+        <translation type="obsolete">Превключва към прозорците на избраните виртуални машини</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Паузира изпълнението на избраните виртуални машини</translation>
+        <translation type="obsolete">Паузира изпълнението на избраните виртуални машини</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Обновява избраните виртуални машини</translation>
+        <translation type="obsolete">Обновява избраните виртуални машини</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Изчиства запазеното състояние на избраните виртуални машини</translation>
+        <translation type="obsolete">Изчиства запазеното състояние на избраните виртуални машини</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Показване на описателния файл на VirtualBox за машината в Търсачката</translation>
+        <translation type="obsolete">Показване на описателния файл на VirtualBox за машината в Търсачката</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Показване на описателния файл на VirtualBox за машината в Explorer</translation>
+        <translation type="obsolete">Показване на описателния файл на VirtualBox за машината в Explorer</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Създава файл за дубликат до описателния файл на VirtualBox за машината на работния плот</translation>
+        <translation type="obsolete">Създава файл за дубликат до описателния файл на VirtualBox за машината на работния плот</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Създава файл за пряк път до описателния файл на VirtualBox за машината на работния плот</translation>
+        <translation type="obsolete">Създава файл за пряк път до описателния файл на VirtualBox за машината на работния плот</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Запазване на състояние</translation>
+        <translation type="obsolete">Запазване на състояние</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Запазва състоянието на избраните виртуални машини</translation>
+        <translation type="obsolete">Запазва състоянието на избраните виртуални машини</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Изпраща събитието натискане на ACPI бутона за включване към избраните виртуални машини</translation>
+        <translation type="obsolete">Изпраща събитието натискане на ACPI бутона за включване към избраните виртуални машини</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -856,7 +856,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Изключва избраните виртуални машини</translation>
+        <translation type="obsolete">Изключва избраните виртуални машини</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -868,15 +868,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Ра&згрупиране...</translation>
+        <translation type="obsolete">Ра&згрупиране...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Разгрупира елементи от групата на избраната виртуална машина</translation>
+        <translation type="obsolete">Разгрупира елементи от групата на избраната виртуална машина</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Сортиране</translation>
+        <translation type="obsolete">Сортиране</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -884,7 +884,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Сортира групата на първата избрана машина азбучно</translation>
+        <translation type="obsolete">Сортира групата на първата избрана машина азбучно</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -896,7 +896,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Запазване състоянието на виртуалната машина</translation>
+        <translation type="obsolete">Запазване състоянието на виртуалната машина</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -916,7 +916,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Позволява връзки за отдалечен работен плот (RDP) към тази машина</translation>
+        <translation type="obsolete">Позволява връзки за отдалечен работен плот (RDP) към тази машина</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -924,7 +924,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Превключване на видео заснемане</translation>
+        <translation type="obsolete">Превключване на видео заснемане</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -932,7 +932,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Настройване на видео заснемане</translation>
+        <translation type="obsolete">Настройване на видео заснемане</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -940,7 +940,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Показване информационния диалог на сесията</translation>
+        <translation type="obsolete">Показване информационния диалог на сесията</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -952,7 +952,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Вкарване на диска Виртуални Добавки във виртуалното устройство</translation>
+        <translation type="obsolete">Вкарване на диска Виртуални Добавки във виртуалното устройство</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -968,7 +968,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>Отваря диалог за настройка на меню лентата</translation>
+        <translation type="obsolete">Отваря диалог за настройка на меню лентата</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -976,7 +976,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>Превключва видимостта на меню лентата за тази машина</translation>
+        <translation type="obsolete">Превключва видимостта на меню лентата за тази машина</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -988,7 +988,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>Отваря диалог за настройка на статус лентата</translation>
+        <translation type="obsolete">Отваря диалог за настройка на статус лентата</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -996,7 +996,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>Превключва видимостта на статус лентата за тази машина</translation>
+        <translation type="obsolete">Превключва видимостта на статус лентата за тази машина</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -1012,7 +1012,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>Показване на прозореца с глобални настройки за настройка на клавишните комбинации</translation>
+        <translation type="obsolete">Показване на прозореца с глобални настройки за настройка на клавишните комбинации</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -1020,19 +1020,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>&Твърди дискове</translation>
+        <translation type="obsolete">&Твърди дискове</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>Настройки на &твърди дискове...</translation>
+        <translation type="obsolete">Настройки на &твърди дискове...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>Промяна настройките на твърдите дискове</translation>
+        <translation type="obsolete">Промяна настройките на твърдите дискове</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>Мрежа</translation>
+        <translation type="obsolete">Мрежа</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -1040,7 +1040,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>Промяна настройките на USB устройствата</translation>
+        <translation type="obsolete">Промяна настройките на USB устройствата</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1073,7 +1073,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>Минимизиране на активния прозорец на машината</translation>
+        <translation type="obsolete">Минимизиране на активния прозорец на машината</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1093,7 +1093,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>&Вмъкване на %1</translation>
+        <translation type="obsolete">&Вмъкване на %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1121,7 +1121,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>Влачене и пускане</translation>
+        <translation type="obsolete">Влачене и пускане</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1138,7 +1138,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>Стартира избраната виртуална машина във фон</translation>
+        <translation type="obsolete">Стартира избраната виртуална машина във фон</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1146,7 +1146,316 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>Стартира избраната виртуална машина с опция на по-късен етап да се премести във фон</translation>
+        <translation type="obsolete">Стартира избраната виртуална машина с опция на по-късен етап да се премести във фон</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Предпочитания...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">&Вмъкване на %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Преоразмеряване към %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Преглед на монитор %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Няма свързани USB устройства</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Няма поддържани устройства, свързани към реалната машина</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Няма свързани уеб камери</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Няма поддържани уеб камери, свързани към реалния ПК</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1154,17 +1463,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>Включване</translation>
+        <translation type="obsolete">Включване</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>Преоразмеряване към %1x%2</translation>
+        <translation type="obsolete">Преоразмеряване към %1x%2</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1181,6 +1490,29 @@
             <numerusform>Тази виртуална машина е защитена с парола. Моля, въведете %n пароли на криптирането по-долу.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Статус</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Парола</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1234,15 +1566,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>IDE контролер на твърдия диск</translation>
+        <translation type="obsolete">IDE контролер на твърдия диск</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>SATA контролер на твърдия диск</translation>
+        <translation type="obsolete">SATA контролер на твърдия диск</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>SCSI контролер на твърдия диск</translation>
+        <translation type="obsolete">SCSI контролер на твърдия диск</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1300,7 +1632,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Контролер на твърд диск (SAS)</translation>
+        <translation type="obsolete">Контролер на твърд диск (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1310,6 +1642,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Реинициализиране MAC адреса на всички мрежови карти</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2001,7 +2349,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>Извличане на данни ...</translation>
+        <translation type="obsolete">Извличане на данни ...</translation>
     </message>
 </context>
 <context>
@@ -2010,6 +2358,10 @@
         <source>Dropping data ...</source>
         <translation>Отпадане на данни...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">Извличане на данни ...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2091,22 +2443,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>Статус</translation>
+        <translation type="obsolete">Статус</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>Парола</translation>
+        <translation type="obsolete">Парола</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>Използва се от следния %n твърд диск:</nobr><br>%1</numerusform>
             <numerusform><nobr>Използва се от следните %n твърди дискове:</nobr><br>%1</numerusform>
         </translation>
@@ -3079,47 +3431,47 @@ p, li { white-space: pre-wrap; </style></head><body style="
     <message>
         <source>Scale-factor</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">Фактор на мащаба</translation>
+        <translation>Фактор на мащаба</translation>
     </message>
     <message>
         <source>Unscaled HiDPI Video Output</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">Немащабиран HiDPI видео изход</translation>
+        <translation>Немащабиран HiDPI видео изход</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (display/Unscaled HiDPI Video Output)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Позволен</translation>
     </message>
     <message>
         <source>Menu-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Меню лента</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Позволена</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Забранена</translation>
     </message>
     <message>
         <source>Status-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Статус лента</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Позволена</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Забранена</translation>
     </message>
 </context>
 <context>
@@ -3330,7 +3682,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Указва максималната широчина, която виртуалният екран да заема.</translation>
+        <translation type="obsolete">Указва максималната широчина, която виртуалният екран да заема.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3338,7 +3690,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Указва максималната височина, която виртуалният екран да заема.</translation>
+        <translation type="obsolete">Указва максималната височина, която виртуалният екран да заема.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3373,12 +3725,24 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>Когато е избрано, прозорците на машината ще се активират, когато мишката застане върху тях.</translation>
+        <translation type="obsolete">Когато е избрано, прозорците на машината ще се активират, когато мишката застане върху тях.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>&Активиране на прозорец под мишката</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -3404,11 +3768,11 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Add package</source>
-        <translation>Добавяне на пакет</translation>
+        <translation type="obsolete">Добавяне на пакет</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Премахване на пакет</translation>
+        <translation type="obsolete">Премахване на пакет</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3426,6 +3790,22 @@ p, li { white-space: pre-wrap; </style></head><body style="
         <source>&Extension Packages</source>
         <translation>&Пакети с разширения</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3495,7 +3875,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>&Екранен предпазител:</translation>
+        <translation type="obsolete">&Екранен предпазител:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3503,7 +3883,15 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Забраняване, когато виртуалната машина е включена</translation>
+        <translation type="obsolete">Забраняване, когато виртуалната машина е включена</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3550,7 +3938,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>&VirtualBox Manager</source>
-        <translation>&VirtialBox Управление</translation>
+        <translation>&VirtualBox Управление</translation>
     </message>
     <message>
         <source>Virtual &Machine</source>
@@ -3558,11 +3946,19 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Извежда всички клавишни комбинации, които могат да бъдат зададени.</translation>
+        <translation type="obsolete">Извежда всички клавишни комбинации, които могат да бъдат зададени.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Въведете израз, за да филтрирате списъка с клавиши.</translation>
+        <translation type="obsolete">Въведете израз, за да филтрирате списъка с клавиши.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3741,15 +4137,15 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Добавяне на мрежа само-хост</translation>
+        <translation type="obsolete">&Добавяне на мрежа само-хост</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Премахване на мрежа само-хост</translation>
+        <translation type="obsolete">&Премахване на мрежа само-хост</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Редактиране на мрежа само-хост</translation>
+        <translation type="obsolete">&Редактиране на мрежа само-хост</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3891,15 +4287,63 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Добавяне на NAT мрежа</translation>
+        <translation type="obsolete">&Добавяне на NAT мрежа</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Премахване на NAT мрежа</translation>
+        <translation type="obsolete">&Премахване на NAT мрежа</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>&Редактиране на NAT мрежа</translation>
+        <translation type="obsolete">&Редактиране на NAT мрежа</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4013,7 +4457,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Използване на ръчна конфигурация за този само-хост мрежов адаптер.</translation>
+        <translation type="obsolete">Използване на ръчна конфигурация за този само-хост мрежов адаптер.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4057,7 +4501,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Показва дали DHCP сървърът да бъде активиран при стартирането на машината, или не.</translation>
+        <translation type="obsolete">Показва дали DHCP сървърът да бъде активиран при стартирането на машината, или не.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4091,6 +4535,14 @@ p, li { white-space: pre-wrap; </style></head><body style="
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Задава горната адресна граница, предлагана от DHCP сървъра, който обслужва мрежата, асоциирана с този само-хост адаптер.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4104,7 +4556,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Позволяване на тази NAT мрежа.</translation>
+        <translation type="obsolete">Позволяване на тази NAT мрежа.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4132,7 +4584,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Указва дали тази мрежа поддържа DHCP.</translation>
+        <translation type="obsolete">Указва дали тази мрежа поддържа DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4140,7 +4592,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Указва дали тази мрежа поддържа IPv6.</translation>
+        <translation type="obsolete">Указва дали тази мрежа поддържа IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4148,16 +4600,36 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Указва дали тази мрежа ще се обявява като IPv6 рутиране по подразбиране.</translation>
+        <translation type="obsolete">Указва дали тази мрежа ще се обявява като IPv6 рутиране по подразбиране.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Отваря диалог за управление на правилата за пренасочване на портове.</translation>
+        <translation type="obsolete">Отваря диалог за управление на правилата за пренасочване на портове.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&Пренасочване на портове</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4190,7 +4662,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Задава хоста на проксито.</translation>
+        <translation type="obsolete">Задава хоста на проксито.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4198,7 +4670,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Задава порта на проксито.</translation>
+        <translation type="obsolete">Задава порта на проксито.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4232,6 +4704,14 @@ p, li { white-space: pre-wrap; </style></head><body style="
         <source>No proxy port is currently specified.</source>
         <translation>Текущо няма указан прокси порт.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4249,7 +4729,7 @@ p, li { white-space: pre-wrap; </style></head><body style="
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Указва колко често ще бъде извършвана проверката за нова версия. Имайте предвид, че за да забраните напълно тази проверка, е достатъчно да махнете тази отметка.</translation>
+        <translation type="obsolete">Указва колко често ще бъде извършвана проверката за нова версия. Имайте предвид, че за да забраните напълно тази проверка, е достатъчно да махнете тази отметка.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4283,6 +4763,10 @@ p, li { white-space: pre-wrap; </style></head><body style="
         <source>All New Releases and &Pre-Releases</source>
         <translation>Всички нови издания и &предварителни версии</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4695,7 +5179,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Показва активността на виртуалните твърди дискове:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Показва активността на виртуалните твърди дискове:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4781,7 +5265,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Показва дали клавиатурата е прихваната от виртуалната ОС (<img src=:/hostkey_captured_16px.png/>) или не (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Показва дали клавиатурата е прихваната от виртуалната ОС (<img src=:/hostkey_captured_16px.png/>) или не (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4827,6 +5311,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Показва активността на флопи устройствата:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4847,11 +5340,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Преглед на монитор %1</translation>
+        <translation type="obsolete">Преглед на монитор %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Снимка %1</translation>
+        <translation type="obsolete">Снимка %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4887,11 +5380,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Няма свързани USB устройства</translation>
+        <translation type="obsolete">Няма свързани USB устройства</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Няма поддържани устройства, свързани към реалната машина</translation>
+        <translation type="obsolete">Няма поддържани устройства, свързани към реалната машина</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4899,19 +5392,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Няма свързани уеб камери</translation>
+        <translation type="obsolete">Няма свързани уеб камери</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>Няма поддържани уеб камери, свързани към реалния ПК</translation>
+        <translation type="obsolete">Няма поддържани уеб камери, свързани към реалния ПК</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>Свързване на мрежов адаптер</translation>
+        <translation type="obsolete">Свързване на мрежов адаптер</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>Свързване на мрежов адаптер %1</translation>
+        <translation type="obsolete">Свързване на мрежов адаптер %1</translation>
     </message>
 </context>
 <context>
@@ -4930,7 +5423,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Контролира драйвера за звуков изход. <b>Без звуков драйвер</b> позволява на виртуалната система да вижда звукова карта, но всеки достъп до нея ще бъде игнориран.</translation>
+        <translation type="obsolete">Контролира драйвера за звуков изход. <b>Без звуков драйвер</b> позволява на виртуалната система да вижда звукова карта, но всеки достъп до нея ще бъде игнориран.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4940,6 +5433,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Избира типа на виртуалната звукова карта. В зависимост от тази стойност, VirtualBox ще предостави различен звуков хардуер на виртуалната машина.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4949,7 +5446,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5005,7 +5502,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Указва метода за VRDP автентикация.</translation>
+        <translation type="obsolete">Указва метода за VRDP автентикация.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5013,7 +5510,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Указва просроченото време за автентикация към виртуалната машина, в милисекунди.</translation>
+        <translation type="obsolete">Указва просроченото време за автентикация към виртуалната машина, в милисекунди.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5029,7 +5526,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Номер на порта на VRDP сървъра. Можете да зададете <tt>0</tt> (нула), за да изберете порт 3389, стандартният порт за RDP.</translation>
+        <translation type="obsolete">Номер на порта на VRDP сървъра. Можете да зададете <tt>0</tt> (нула), за да изберете порт 3389, стандартният порт за RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5041,11 +5538,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Указва дали са позволени множество едновременни връзки към ВМ.</translation>
+        <translation type="obsolete">Указва дали са позволени множество едновременни връзки към ВМ.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5085,7 +5582,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Тази настройка указва името на файла, което VirtualBox използва за записаното съдържание.</translation>
+        <translation type="obsolete">Тази настройка указва името на файла, което VirtualBox използва за записаното съдържание.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5093,15 +5590,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Тази настройка указва разделителната способност (размер на кадъра) на записаното видео.</translation>
+        <translation type="obsolete">Тази настройка указва разделителната способност (размер на кадъра) на записаното видео.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Тази настройка указва <b>хоризонталната</b> разделителната способност (ширина на кадъра) на записаното видео.</translation>
+        <translation type="obsolete">Тази настройка указва <b>хоризонталната</b> разделителната способност (ширина на кадъра) на записаното видео.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Тази настройка указва <b>вертикалната</b> разделителната способност (височина на кадъра) на записаното видео.</translation>
+        <translation type="obsolete">Тази настройка указва <b>вертикалната</b> разделителната способност (височина на кадъра) на записаното видео.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5109,7 +5606,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Тази настройка указва максималният брой <b>кадри в секунда</b>. Допълнителните кадри ще бъдат пропускани. Намаляването на стойността ще увеличи броя пропуснати кадри и ще намали размера на файла.</translation>
+        <translation type="obsolete">Тази настройка указва максималният брой <b>кадри в секунда</b>. Допълнителните кадри ще бъдат пропускани. Намаляването на стойността ще увеличи броя пропуснати кадри и ще намали размера на файла.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5117,11 +5614,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Тази настройка указва <b>качеството</b>. Увеличаването ѝ ще направи видеото да изглежда по-добре, но за сметка на увеличен размер на файла.</translation>
+        <translation type="obsolete">Тази настройка указва <b>качеството</b>. Увеличаването ѝ ще направи видеото да изглежда по-добре, но за сметка на увеличен размер на файла.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Тази настройка указва скоростта на битовете в <b>килобити в секунда</b>. Увеличаването ѝ ще направи видеото да изглежда по-добре, но за сметка на увеличен размер на файла.</translation>
+        <translation type="obsolete">Тази настройка указва скоростта на битовете в <b>килобити в секунда</b>. Увеличаването ѝ ще направи видеото да изглежда по-добре, но за сметка на увеличен размер на файла.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5133,7 +5630,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Задали сте по-малко от <b>%1</b> за видео памет на виртуалната машина, което е минималното количество, нужно за превключването на виртуалната машина на цял екран или в безрамков режим.</translation>
+        <translation type="obsolete">Задали сте по-малко от <b>%1</b> за видео памет на виртуалната машина, което е минималното количество, нужно за превключването на виртуалната машина на цял екран или в безрамков режим.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5192,7 +5689,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Позволяване на видео заснемане на екран %1.</translation>
+        <translation type="obsolete">Позволяване на видео заснемане на екран %1.</translation>
     </message>
     <message>
         <source>Machine &Window</source>
@@ -5244,42 +5741,106 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Screen</source>
-        <translation type="unfinished"></translation>
+        <translation>&Екран</translation>
     </message>
     <message>
         <source>Scale Factor:</source>
-        <translation type="unfinished"></translation>
+        <translation>Фактор на мащаба:</translation>
     </message>
     <message>
         <source>Controls the guest screen scale factor.</source>
-        <translation type="unfinished"></translation>
+        <translation>Контролира фактора на мащаба на виртуалния екран.</translation>
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="unfinished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
+    </message>
+    <message>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <translation>Когато е избрано, съдържанието на виртуалния екран няма да бъде мащабирано за компенсация на високи разделителни способности на реалния екран.</translation>
+    </message>
+    <message>
+        <source>Use &Unscaled HiDPI Output</source>
+        <translation>Използване на &немащабиран HiDPI изход</translation>
+    </message>
+    <message>
+        <source>Acceleration:</source>
+        <translation>Ускорение:</translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished">Използване на &немащабиран HiDPI изход</translation>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5291,7 +5852,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Показва пътя, където да се пазят снимките на тази виртуална машина. Имайте предвид, че снимките могат да заемат много дисково пространство.</translation>
+        <translation type="obsolete">Показва пътя, където да се пазят снимките на тази виртуална машина. Имайте предвид, че снимките могат да заемат много дисково пространство.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5547,7 +6108,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>Задава шифъра, който да се използва за криптиране на дисковете на виртуалната машина.</translation>
+        <translation type="obsolete">Задава шифъра, който да се използва за криптиране на дисковете на виртуалната машина.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -5586,6 +6147,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation>Оставяне непроменено</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5631,15 +6200,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>Ако е избрано, ще се показва малка лента с инструменти при цял екран и безрамков режим.</translation>
+        <translation type="obsolete">Ако е избрано, ще се показва малка лента с инструменти при цял екран и безрамков режим.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>Показване при &Цял екран/Безрамков режим</translation>
+        <translation type="obsolete">Показване при &Цял екран/Безрамков режим</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>Ако е избрано, малката лента с инструменти ще се показва в горния край на екрана, вместо на стандартната ѝ позиция в долния край на екрана.</translation>
+        <translation type="obsolete">Ако е избрано, малката лента с инструменти ще се показва в горния край на екрана, вместо на стандартната ѝ позиция в долния край на екрана.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5649,6 +6218,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation>Позволява промяна на съдържанието на статус лентата на ВМ.</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5670,7 +6251,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Контролира как този виртуален адаптер да се закача към реалната мрежа на реалната ОС.</translation>
+        <translation type="obsolete">Контролира как този виртуален адаптер да се закача към реалната мрежа на реалната ОС.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -5711,7 +6292,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Показва или скрива допълнителните настройки на мрежовия адаптер.</translation>
+        <translation type="obsolete">Показва или скрива допълнителните настройки на мрежовия адаптер.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5727,7 +6308,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Показва дали виртуалният мрежов кабел да бъде свързан към машината или не.</translation>
+        <translation type="obsolete">Показва дали виртуалният мрежов кабел да бъде свързан към машината или не.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5735,7 +6316,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Отваря диалог за управление на правилата за пренасочване на портове.</translation>
+        <translation type="obsolete">Отваря диалог за управление на правилата за пренасочване на портове.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5755,7 +6336,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Въведете всички конфигурационни настройки за закачащия към мрежата драйвер, които ще използвате. Настройките трябва да са във формат <b>име=стойност</b> и ще зависят от драйвера. Използвайте <b>Shift+Enter</b>, за да добавите нова категория.</translation>
+        <translation type="obsolete">Въведете всички конфигурационни настройки за закачащия към мрежата драйвер, които ще използвате. Настройките трябва да са във формат <b>име=стойност</b> и ще зависят от драйвера. Използвайте <b>Shift+Enter</b>, за да добавите нова категория.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5821,6 +6402,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Задава името на NAT мрежата, към която тази мрежова карта ще се свърже. Можете да създавате и премахвате мрежи, като използвате глобалните мрежови настройки в прозореца за управление на виртуалните машини.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5904,6 +6505,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Показва основния I/O портов адрес за този паралелен порт. Валидни стойности са целочислени номера в диапазона от <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан I/O порт.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Два или повече порта имат еднакви настройки.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан път на порт.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Текущо има указани дублиращи се пътища на портове.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -5921,23 +6542,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Текущо не е указан IRQ.</translation>
+        <translation type="obsolete">Текущо не е указан IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Текущо не е указан I/O порт.</translation>
+        <translation type="obsolete">Текущо не е указан I/O порт.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Два или повече порта имат еднакви настройки.</translation>
+        <translation type="obsolete">Два или повече порта имат еднакви настройки.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Текущо не е указан път на порт.</translation>
+        <translation type="obsolete">Текущо не е указан път на порт.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Текущо има указани дублиращи се пътища на портове.</translation>
+        <translation type="obsolete">Текущо има указани дублиращи се пътища на портове.</translation>
     </message>
 </context>
 <context>
@@ -5948,27 +6569,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Тази таблица съдържа списък на правилата за пренасочване на портове.</translation>
+        <translation type="obsolete">Тази таблица съдържа списък на правилата за пренасочване на портове.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Вмъкване на ново правило</translation>
+        <translation type="obsolete">Вмъкване на ново правило</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Копиране на избраното правило</translation>
+        <translation type="obsolete">Копиране на избраното правило</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Изтриване на избраното правило</translation>
+        <translation type="obsolete">Изтриване на избраното правило</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Този бутон добавя ново правило за пренасочване на портове.</translation>
+        <translation type="obsolete">Този бутон добавя ново правило за пренасочване на портове.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Този бутон изтрива избраното правило за пренасочване на портове.</translation>
+        <translation type="obsolete">Този бутон изтрива избраното правило за пренасочване на портове.</translation>
     </message>
 </context>
 <context>
@@ -5987,15 +6608,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Добавя задание за нова споделена папка.</translation>
+        <translation type="obsolete">Добавя задание за нова споделена папка.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Редактира заданието на избраната споделена папка.</translation>
+        <translation type="obsolete">Редактира заданието на избраната споделена папка.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Премахва заданието на избраната споделена папка.</translation>
+        <translation type="obsolete">Премахва заданието на избраната споделена папка.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6035,15 +6656,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Добавяне на споделена папка</translation>
+        <translation type="obsolete">&Добавяне на споделена папка</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Редактиране на споделена папка</translation>
+        <translation type="obsolete">&Редактиране на споделена папка</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Премахване на споделена папка</translation>
+        <translation type="obsolete">&Премахване на споделена папка</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6057,6 +6678,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Да</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6106,7 +6751,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Ако е избрано, тази споделена папка ще бъде постоянна.</translation>
+        <translation type="obsolete">Ако е избрано, тази споделена папка ще бъде постоянна.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6154,7 +6803,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Контролира работния режим на този сериен порт. Ако изберете <b>Изключен</b>, виртуалната ОС ще засече сериен порт, но няма да може да оперира с него.</translation>
+        <translation type="obsolete">Контролира работния режим на този сериен порт. Ако изберете <b>Изключен</b>, виртуалната ОС ще засече сериен порт, но няма да може да оперира с него.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6186,7 +6835,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>Ако е избрано, виртуалната машина ще предполага, че проводът или сокетът, указан в полето <b>Път/Адрес</b>, съществува и ще пробва да го използва. В противен случай проводът или сокетът ще бъде създаден от виртуалната машина, когато бъде стартирана.</translation>
+        <translation type="obsolete">Ако е избрано, виртуалната машина ще предполага, че проводът или сокетът, указан в полето <b>Път/Адрес</b>, съществува и ще пробва да го използва. В противен случай проводът или сокетът ще бъде създаден от виртуалната машина, когато бъде стартирана.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -6200,6 +6849,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>В режим <b>Реален провод</b>: Указва пътя до провода на серийния порт на реалната машина. Примери: "\\.\pipe\myvbox" или "/tmp/myvbox", съответно за Windows и UNIX-подобни системи.</p><p>В режим <b>Реално устройство</b>: Указва името на реалното серийно устройство. Примери: "COM1" или "/dev/ttyS0".</p><p>В режим <b>Първичен файл</b>: Указва файловия път на реа [...]
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан I/O порт.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Два или повече порта имат еднакви настройки.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Текущо не е указан път на порт.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Текущо има указани дублиращи се пътища на портове.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6217,23 +6894,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Текущо не е указан IRQ.</translation>
+        <translation type="obsolete">Текущо не е указан IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Текущо не е указан I/O порт.</translation>
+        <translation type="obsolete">Текущо не е указан I/O порт.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Два или повече порта имат еднакви настройки.</translation>
+        <translation type="obsolete">Два или повече порта имат еднакви настройки.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Текущо не е указан път на порт.</translation>
+        <translation type="obsolete">Текущо не е указан път на порт.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Текущо има указани дублиращи се пътища на портове.</translation>
+        <translation type="obsolete">Текущо има указани дублиращи се пътища на портове.</translation>
     </message>
 </context>
 <context>
@@ -6308,11 +6985,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Разгъване/Сгъване&nbsp;на&nbsp;обекта</nobr></translation>
+        <translation type="obsolete"><nobr>Разгъване/Сгъване&nbsp;на&nbsp;обекта</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Добавяне&nbsp;на&nbsp;твърд&nbsp;диск</nobr></translation>
+        <translation type="obsolete"><nobr>Добавяне&nbsp;на&nbsp;твърд&nbsp;диск</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6376,19 +7053,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Добавя нов контролер към края на Дървото със съхранения.</translation>
+        <translation type="obsolete">Добавя нов контролер към края на Дървото със съхранения.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Премахва контролера, осветен в Дървото със съхранения.</translation>
+        <translation type="obsolete">Премахва контролера, осветен в Дървото със съхранения.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Добавя ново прикачване към края на Дървото със съхранения, използвайки избрания контролер като родителски.</translation>
+        <translation type="obsolete">Добавя ново прикачване към края на Дървото със съхранения, използвайки избрания контролер като родителски.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Премахва прикачването, осветено в Дървото със съхранения.</translation>
+        <translation type="obsolete">Премахва прикачването, осветено в Дървото със съхранения.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6424,7 +7101,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Съдържа всички съхраняващи контролери за тази машина и виртуалните изображения и реални устройства, закачени към тях.</translation>
+        <translation type="obsolete">Съдържа всички съхраняващи контролери за тази машина и виртуалните изображения и реални устройства, закачени към тях.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6444,7 +7121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Променя името на съхраняващия контролер, текущо избран в Дървото със съхранения.</translation>
+        <translation type="obsolete">Променя името на съхраняващия контролер, текущо избран в Дървото със съхранения.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6512,7 +7189,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Позволява използването на I/O кеширащите възможности на реалната машина.</translation>
+        <translation type="obsolete">Позволява използването на I/O кеширащите възможности на реалната машина.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6544,7 +7221,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Изображение</translation>
+        <translation type="obsolete">Изображение</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6552,7 +7229,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Настройване на виртуалния твърд диск</translation>
+        <translation type="obsolete">Настройване на виртуалния твърд диск</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6576,15 +7253,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Настройване на виртуалното флопи устройство</translation>
+        <translation type="obsolete">Настройване на виртуалното флопи устройство</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Създаване на нов твърд диск...</translation>
+        <translation type="obsolete">Създаване на нов твърд диск...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Изберете файл с виртуален твърд диск...</translation>
+        <translation type="obsolete">Изберете файл с виртуален твърд диск...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6596,11 +7273,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Изберете файл с виртуален флопи диск...</translation>
+        <translation type="obsolete">Изберете файл с виртуален флопи диск...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Когато е избрано, спира демонтирането на медията, когато виртуалната ОС я извади.</translation>
+        <translation type="obsolete">Когато е избрано, спира демонтирането на медията, когато виртуалната ОС я извади.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6608,7 +7285,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Когато е избрано, това маркира медията като механично статично съхранение (SSD).</translation>
+        <translation type="obsolete">Когато е избрано, това маркира медията като механично статично съхранение (SSD).</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6678,7 +7355,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>Когато е избрано, виртуалната система ще вижда виртуалния диск като горещо сменяемо устройство.</translation>
+        <translation type="obsolete">Когато е избрано, виртуалната система ще вижда виртуалния диск като горещо сменяемо устройство.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -6686,15 +7363,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>Избор на файл с виртуален оптичен диск...</translation>
+        <translation type="obsolete">Избор на файл с виртуален оптичен диск...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>Добавяне&nbsp;на&nbsp;оптично&nbsp;устройство</nobr></translation>
+        <translation type="obsolete"><nobr>Добавяне&nbsp;на&nbsp;оптично&nbsp;устройство</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>Добавяне&nbsp;на&nbsp;флопи&nbsp;устройство</nobr></translation>
+        <translation type="obsolete"><nobr>Добавяне&nbsp;на&nbsp;флопи&nbsp;устройство</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -6714,10 +7391,95 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>Настройване на виртуалното оптично устройство</translation>
+        <translation type="obsolete">Настройване на виртуалното оптично устройство</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
+        <translation>Криптиране с ключ:</translation>
+    </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Изображение</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6749,12 +7511,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;процесор</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;процесор</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6787,7 +7549,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Премести надолу (Ctrl-Down)</translation>
+        <translation type="obsolete">Премести надолу (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6795,7 +7557,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Премести нагоре (Ctrl-Up)</translation>
+        <translation type="obsolete">Премести нагоре (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6868,7 +7630,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;процесора</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;процесора</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6880,7 +7642,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Ако е избрано, RTC устройството ще съобщава времето в UTC, иначе - в локално (на реалната машина) време. Unix обикновено очаква хардуерният часовник да бъде зададен към UTC.</translation>
+        <translation type="obsolete">Ако е избрано, RTC устройството ще съобщава времето в UTC, иначе - в локално (на реалната машина) време. Unix обикновено очаква хардуерният часовник да бъде зададен към UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6929,12 +7691,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6996,56 +7758,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Хардуерната виртуализация текущо не е позволена в секцията Ускорение на страницата Система. Тя е нужна за поддръжката на повече от един виртуален процесор, колкото сте избрани за тази ВМ. Ще бъде позволена автоматично, ако потвърдите Вашите промени.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Добавяне на празен филтър</translation>
+        <translation type="obsolete">&Добавяне на празен филтър</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Д&обавяне на филтър от устройство</translation>
+        <translation type="obsolete">Д&обавяне на филтър от устройство</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Редактиране на филтър</translation>
+        <translation type="obsolete">&Редактиране на филтър</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Премахване на филтър</translation>
+        <translation type="obsolete">&Премахване на филтър</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Преместване на филтъра нагоре</translation>
+        <translation type="obsolete">&Преместване на филтъра нагоре</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Пр&еместване на филтъра надолу</translation>
+        <translation type="obsolete">Пр&еместване на филтъра надолу</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Добавя нов USB филтър с начално зададени празни полета. Имайте предвид, че такъв филтър ще съвпадне с всяко закачено USB устройство. </translation>
+        <translation type="obsolete">Добавя нов USB филтър с начално зададени празни полета. Имайте предвид, че такъв филтър ще съвпадне с всяко закачено USB устройство. </translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Добавя нов USB филтър със стойности на полетата, отговарящи на USB устройството, което е закачено към реалната машина.</translation>
+        <translation type="obsolete">Добавя нов USB филтър със стойности на полетата, отговарящи на USB устройството, което е закачено към реалната машина.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Редактира избрания USB филтър.</translation>
+        <translation type="obsolete">Редактира избрания USB филтър.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Премахва избрания USB филтър.</translation>
+        <translation type="obsolete">Премахва избрания USB филтър.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Премества избрания USB филтър нагоре.</translation>
+        <translation type="obsolete">Премества избрания USB филтър нагоре.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Премества избрания USB филтър надолу.</translation>
+        <translation type="obsolete">Премества избрания USB филтър надолу.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7062,7 +7850,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Когато е избрано, позволява виртуалния USB EHCI контролер за тази машина. USB EHCI контролерът предоставя поддръжка на USB 2.0.</translation>
+        <translation type="obsolete">Когато е избрано, позволява виртуалния USB EHCI контролер за тази машина. USB EHCI контролерът предоставя поддръжка на USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7134,7 +7922,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>Когато е избрано, позволява виртуалния USB OHCI контролер за тази машина. USB OHCI контролерът предоставя поддръжка на USB 1.0.</translation>
+        <translation type="obsolete">Когато е избрано, позволява виртуалния USB OHCI контролер за тази машина. USB OHCI контролерът предоставя поддръжка на USB 1.0.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -7146,7 +7934,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>Когато е избрано, позволява виртуалния USB xHCI контролер за тази машина. USB xHCI контролерът предоставя поддръжка на USB 3.0.</translation>
+        <translation type="obsolete">Когато е избрано, позволява виртуалния USB xHCI контролер за тази машина. USB xHCI контролерът предоставя поддръжка на USB 3.0.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -7156,6 +7944,66 @@ p, li { white-space: pre-wrap; }
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0 текущо е позволен за тази виртуална машина. Но това изисква <b>%1</b> да бъде инсталиран. Моля, инсталирайте пакета с разширения от сайта на VirtualBox или забранете USB 2.0/3.0, за да можете да стартирате машината.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -7188,7 +8036,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Указва филтър за производител ID. Форматът на стойността за <i>точно съвпадение</i> е <tt>XXXX</tt>, където <tt>X</tt> е шестнадесетична цифра. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за производител ID. Форматът на стойността за <i>точно съвпадение</i> е <tt>XXXX</tt>, където <tt>X</tt> е шестнадесетична цифра. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7196,7 +8044,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Указва филтър за продукт ID. Форматът на стойността за <i>точно съвпадение</i> е <tt>XXXX</tt>, където <tt>X</tt> е шестнадесетична цифра. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за продукт ID. Форматът на стойността за <i>точно съвпадение</i> е <tt>XXXX</tt>, където <tt>X</tt> е шестнадесетична цифра. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7204,7 +8052,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Указва филтър за номера на ревизията. Форматът на стойността за <i>точно съвпадение</i> е <tt>IIFF</tt>, където <tt>I</tt> е десетична целочислена цифра, а <tt>F</tt> е десетична дробна цифра. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за номера на ревизията. Форматът на стойността за <i>точно съвпадение</i> е <tt>IIFF</tt>, където <tt>I</tt> е десетична целочислена цифра, а <tt>F</tt> е десетична дробна цифра. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7212,7 +8060,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Указва филтър за фабрикант със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за фабрикант със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7220,7 +8068,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Указва филтър за име на продукта със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за име на продукта със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7228,7 +8076,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Указва филтър за сериен номер със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за сериен номер със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7236,7 +8084,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Указва филтър за реален USB порт със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
+        <translation type="obsolete">Указва филтър за реален USB порт със стойност <i>точно съвпадение</i>. Празна стойност ще съвпада с всички.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7244,7 +8092,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Указва дали този филтър се прилага за USB устройства, които са закачени локално към реалния компютър (<i>Не</i>), към компютъра на VRDP клиент (<i>Да</i>) или и двете (<i>Всяко</i>).</translation>
+        <translation type="obsolete">Указва дали този филтър се прилага за USB устройства, които са закачени локално към реалния компютър (<i>Не</i>), към компютъра на VRDP клиент (<i>Да</i>) или и двете (<i>Всяко</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7255,8 +8103,40 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Указва действие, извършено от реалния компютър, когато съвпадащо устройство е закачено: предоставяне на реалната ОС (<i>Игнориране</i>) или прихващане, за да бъде използвано от виртуалните машини по-късно (<i>Задържане</i>).</translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Детайли на USB филтър</translation>
+        <source>USB Filter Details</source>
+        <translation>Детайли на USB филтър</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7277,7 +8157,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Твърди дискове</translation>
+        <translation type="obsolete">&Твърди дискове</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7299,6 +8179,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation>Премахване на медия...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7755,7 +8639,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Не може да се премине в режим на цял екран, поради недостиг на виртуална видео памет.</p><p>Трябва да конфигурирате виртуалната машина с поне <b>%1</b> видео памет.</p><p>Натиснете <b>Игнориране</b>, за превключите към цял екран все пак, или натиснете <b>Отказ</b>, за да откажете тази операция.</p></translation>
+        <translation type="obsolete"><p>Не може да се премине в режим на цял екран, поради недостиг на виртуална видео памет.</p><p>Трябва да конфигурирате виртуалната машина с поне <b>%1</b> видео памет.</p><p>Натиснете <b>Игнориране</b>, за превключите към цял екран все пак, или натиснете <b>Отказ</b>, за да откажете тази операция.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7869,7 +8753,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Искате ли да изтриете файла на твърдия диск <nobr><b>%1</b></nobr>?</p><p>Ако изберете <b>Изтриване</b>, избраният файл ще бъде безвъзвратно изтрит. Тази операция <b>не може да бъде върната</b>.</p><p>Ако изберете <b>Запазване</b>, тогава само твърдият диск ще бъде премахнат от списъка с познати твърди дискове, но файлът му няма да бъде докосван, което Ви дава възможност да д [...]
+        <translation type="obsolete"><p>Искате ли да изтриете файла на твърдия диск <nobr><b>%1</b></nobr>?</p><p>Ако изберете <b>Изтриване</b>, избраният файл ще бъде безвъзвратно изтрит. Тази операция <b>не може да бъде върната</b>.</p><p>Ако изберете <b>Запазване</b>, тогава само твърдият диск ще бъде премахнат от списъка с познати твърди дискове, но файлът му няма да бъде докосван, което Ви дава [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8122,7 +9006,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>С изтриването на снимка, запазената информация в нея ще бъде премахната, и дисковите данни, разпръснати в няколко изображения, които VirtualBox е създал заедно със снимката, ще бъдат обединени в един файл. Това може да бъде продължителен процес, и информацията в снимката не може да бъде възстановена.</p><p>Сигурни ли сте, че искате да изтриете избраната снимка <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>С изтриването на снимка, запазената информация в нея ще бъде премахната, и дисковите данни, разпръснати в няколко изображения, които VirtualBox е създал заедно със снимката, ще бъдат обединени в един файл. Това може да бъде продължителен процес, и информацията в снимката не може да бъде възстановена.</p><p>Сигурни ли сте, че искате да изтриете избраната снимка <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8258,7 +9142,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Изтриването на снимката %1 временно ще се нуждае от повече дисково пространство. В най-лошия случай, размерът на изображението %2 ще нарасне с %3, а на тази файлова система има само %4 свободни.</p><p>Свършването на дисковото пространство по време на сливането може да причини счупване на изображението и конфигурацията на ВМ, като например загуба на ВМ и нейните данни.</p><p>Може да продължите с изтриването на снимката на ваша отговорн [...]
+        <translation type="obsolete"><p>Изтриването на снимката %1 временно ще се нуждае от повече дисково пространство. В най-лошия случай, размерът на изображението %2 ще нарасне с %3, а на тази файлова система има само %4 свободни.</p><p>Свършването на дисковото пространство по време на сливането може да причини счупване на изображението и конфигурацията на ВМ, като например загуба на ВМ и нейните данни.</p><p>Може да продължите с изтриването на снимката  [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8437,7 +9321,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Прозорецът на виртуалната машина ще бъде превключен към режим <b>на цял екран</b>. Можете да се върнете към прозоречен режим по всяко време чрез натискане на <b>%1</b>.</p><p> Имайте предвид, че за <i>Основен</i> клавиш в момента е зададен <b>%2</b>.</p><p>Имайте предвид, че лентата на основното меню е скрита в режим на цял екран. Можете да я достъпите чрез натискане на <b>Основен+ [...]
+        <translation type="obsolete"><p>Прозорецът на виртуалната машина ще бъде превключен към режим <b>на цял екран</b>. Можете да се върнете към прозоречен режим по всяко време чрез натискане на <b>%1</b>.</p><p> Имайте предвид, че за <i>Основен</i> клавиш в момента е зададен <b>%2</b>.</p><p>Имайте предвид, че лентата на основното меню е скрита в режим на цял екран. Можете да я достъпите чрез натискане на & [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8675,7 +9559,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Предстои да създадете нова виртуална машина без твърд диск. Няма да можете да инсталирате операционна система в машината, докато не добавите такъв. Междувременно ще можете да стартирате машината само с оптичен диск или от мрежата.</translation>
+        <translation type="obsolete">Предстои да създадете нова виртуална машина без твърд диск. Няма да можете да инсталирате операционна система в машината, докато не добавите такъв. Междувременно ще можете да стартирате машината само с оптичен диск или от мрежата.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -8795,15 +9679,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Сигурни ли сте, че искате да освободите виртуалния твърд диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Сигурни ли сте, че искате да освободите виртуалния твърд диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Сигурни ли сте, че искате да освободите виртуалния оптичен диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Сигурни ли сте, че искате да освободите виртуалния оптичен диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Сигурни ли сте, че искате да освободите виртуалния флопи диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Сигурни ли сте, че искате да освободите виртуалния флопи диск <nobr><b>%1</b></nobr>?</p><p>Това ще го разкачи от следните виртуални машини: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -8847,27 +9731,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Неуспешно отваряне на файла с твърд диск <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно отваряне на файла с твърд диск <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Неуспешно отваряне на файла с оптичен диск <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно отваряне на файла с оптичен диск <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Неуспешно отваряне на файла с флопи диск <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно отваряне на файла с флопи диск <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Неуспешно затваряне на файла с твърд диск <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно затваряне на файла с твърд диск <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Неуспешно затваряне на файла с оптичен диск <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно затваряне на файла с оптичен диск <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Неуспешно затваряне на файла с флопи диск <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Неуспешно затваряне на файла с флопи диск <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -8996,7 +9880,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Един или повече виртуални твърди дискове, оптични или флопи дискове не са достъпни в момента. В резултат на това, няма да можете да работите с виртуалните машини, които ги използват, докато не станат достъпни по-късно.</p><p>Натиснете <b>Проверка</b>, за да отворите прозореца на Управлението на виртуални дискове и да видите кои дискове са недостъпни, или натиснете <b>Игнориране</b>, за да игнорирате това съобщение.</p&g [...]
+        <translation type="obsolete"><p>Един или повече виртуални твърди дискове, оптични или флопи дискове не са достъпни в момента. В резултат на това, няма да можете да работите с виртуалните машини, които ги използват, докато не станат достъпни по-късно.</p><p>Натиснете <b>Проверка</b>, за да отворите прозореца на Управлението на виртуални дискове и да видите кои дискове са недостъпни, или натиснете <b>Игнориране</b>, за да игнорирате това съ [...]
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -9080,22 +9964,62 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Drag and drop operation from host to guest failed.</source>
-        <translation type="unfinished"></translation>
+        <translation>Неуспешна операция по влачене и пускане от реална към виртуална.</translation>
     </message>
     <message>
         <source>Unable to cancel host to guest drag and drop operation.</source>
-        <translation type="unfinished"></translation>
+        <translation>Неуспешно прекъсване на операцията по влачене и пускане от реална към виртуална.</translation>
     </message>
     <message>
         <source>Drag and drop operation from guest to host failed.</source>
-        <translation type="unfinished"></translation>
+        <translation>Неуспешна операция по влачене и пускане от виртуална към реална.</translation>
     </message>
     <message>
         <source>Failed to connect the network adapter cable of the virtual machine <b>%1</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Неуспешно свързване на кабела на мрежовия адаптер на виртуалната машина <b>%1</b>.</translation>
     </message>
     <message>
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <translation>Неуспешно откачване на кабела на мрежовия адаптер на виртуалната машина <b>%1</b>.</translation>
+    </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9984,27 +10908,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Име</translation>
+        <translation type="obsolete">Име</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Протокол</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP на хоста</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Порт на хоста</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Виртуално IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Виртуален порт</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Име</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Протокол</translation>
+        <translation type="unfinished">Протокол</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP на хоста</translation>
+        <translation type="unfinished">IP на хоста</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Порт на хоста</translation>
+        <translation type="unfinished">Порт на хоста</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Виртуално IP</translation>
+        <translation type="unfinished">Виртуално IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Виртуален порт</translation>
+        <translation type="unfinished">Виртуален порт</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10311,7 +11290,7 @@ p, li { white-space: pre-wrap; }
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr><b>Клик</b> за превключване показването на индикатора.</nobr><br><nobr><b>Влачене и пускане</b> за промяна позицията на индикатора.</nobr></translation>
+        <translation type="obsolete"><nobr><b>Клик</b> за превключване показването на индикатора.</nobr><br><nobr><b>Влачене и &пускане</b> за промяна позицията на индикатора.</nobr></translation>
     </message>
 </context>
 <context>
@@ -10324,6 +11303,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation>Позволяване на меню лентата</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>Клик</b> за превключване показването на индикатора.</nobr><br><nobr><b>Влачене и &пускане</b> за промяна позицията на индикатора.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10845,7 +11828,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Копиране на виртуален твърд диск</translation>
+        <translation type="obsolete">Копиране на виртуален твърд диск</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -10853,43 +11836,43 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Твърд диск за копиране</translation>
+        <translation type="obsolete">Твърд диск за копиране</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Моля, изберете виртуалния диск, който искате да копирате, ако вече не е избран. Можете да изберете един от списъка или използвайте иконата на папка до списъка, за да изберете файл с виртуален диск.</p></translation>
+        <translation type="obsolete"><p>Моля, изберете виртуалния диск, който искате да копирате, ако вече не е избран. Можете да изберете един от списъка или използвайте иконата на папка до списъка, за да изберете файл с виртуален диск.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Изберете файл с виртуален твърд диск за копиране...</translation>
+        <translation type="obsolete">Изберете файл с виртуален твърд диск за копиране...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Тип файл за виртуален диск</translation>
+        <translation type="obsolete">Тип файл за виртуален диск</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Моля, изберете типа на файла, който искате да използвате за новия виртуален диск! Ако нямате нужда да използвате този файл с друг виртуализационен софтуер, можете да оставите тази настройка непроменена.</translation>
+        <translation type="obsolete">Моля, изберете типа на файла, който искате да използвате за новия виртуален диск! Ако нямате нужда да използвате този файл с друг виртуализационен софтуер, можете да оставите тази настройка непроменена.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Съхранение на физически твърд диск</translation>
+        <translation type="obsolete">Съхранение на физически твърд диск</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Моля, изберете дали файлът на новия виртуален диск ще нараства, докато се използва (динамично зададен), или искате да бъде създаден в максималния си размер (фиксиран размер).</translation>
+        <translation type="obsolete">Моля, изберете дали файлът на новия виртуален диск ще нараства, докато се използва (динамично зададен), или искате да бъде създаден в максималния си размер (фиксиран размер).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Днамично зададен</b> файл на виртуален диск ще използва място на вашия физически твърд диск, само когато се запълни (но не повече от максималния <b>фиксиран размер</b>), но няма да се смали отново автоматично, когато се освободи място на него.</p></translation>
+        <translation type="obsolete"><p><b>Днамично зададен</b> файл на виртуален диск ще използва място на вашия физически твърд диск, само когато се запълни (но не повече от максималния <b>фиксиран размер</b>), но няма да се смали отново автоматично, когато се освободи място на него.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Файл с<b>фиксиран размер</b> на виртуален диск може да отнеме повече време при създаване на някои системи, но често е по-бърз при използване.</p></translation>
+        <translation type="obsolete"><p>Файл с<b>фиксиран размер</b> на виртуален диск може да отнеме повече време при създаване на някои системи, но често е по-бърз при използване.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Също така, можете да изберете да <b>разделите</b> виртуалния диск в няколко файла до 2ГБ всеки. Това е полезно, ако искате да съхраните виртуалната машина на преносими USB устройства или стар системи, някои от които не поддържат много големи файлове.</translation>
+        <translation type="obsolete"><p>Също така, можете да изберете да <b>разделите</b> виртуалния диск в няколко файла до 2ГБ всеки. Това е полезно, ако искате да съхраните виртуалната машина на преносими USB устройства или стар системи, някои от които не поддържат много големи файлове.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10905,19 +11888,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Моля, изберете папка за  новия виртуален твърд диск</translation>
+        <translation type="obsolete">Моля, изберете папка за  новия виртуален твърд диск</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Създаване на нов твърд диск</translation>
+        <translation type="obsolete">Създаване на нов твърд диск</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Моля, впишете името на файла на новия виртуален диск в кутийката по-долу, или щракнете на иконата с папка, за да изберете друга папка, в която да се създаде файлът.</translation>
+        <translation type="obsolete">Моля, впишете името на файла на новия виртуален диск в кутийката по-долу, или щракнете на иконата с папка, за да изберете друга папка, в която да се създаде файлът.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Избор на папка за  новия виртуален твърд диск...</translation>
+        <translation type="obsolete">Избор на папка за  новия виртуален твърд диск...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -10926,15 +11909,87 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Твърд диск за &копиране</translation>
+        <translation type="obsolete">Твърд диск за &копиране</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Създаване на нов твърд диск</translation>
+        <translation type="obsolete">&Създаване на нов твърд диск</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Тип файл за виртуален диск</translation>
+        <translation type="obsolete">&Тип файл за виртуален диск</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10977,7 +12032,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Моля, изберете типът на клонинга, който искате да създадете.</p><p>Ако изберете <b>Пълен клонинг</b>, ще бъде създадено точно копие (включително и всички виртуални твърди дискове) на оригиналната машина.</p><p>Ако изберете <b>Свързан клонинг</b>, ще бъде създадена нова машина но виртуалните твърди дискове ще сочат към виртуалните дискове на оригиналната машина и няма да можете да преместите новата виртуална маш [...]
+        <translation type="obsolete"><p>Моля, изберете типът на клонинга, който искате да създадете.</p><p>Ако изберете <b>Пълен клонинг</b>, ще бъде създадено точно копие (включително и всички виртуални твърди дискове) на оригиналната машина.</p><p>Ако изберете <b>Свързан клонинг</b>, ще бъде създадена нова машина но виртуалните твърди дискове ще сочат към виртуалните дискове на оригиналната машина и няма да можете да преместите нова [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11035,6 +12090,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation>&Свързан клонинг</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11311,7 +12370,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Създаване на виртуален твърд диск</translation>
+        <translation type="obsolete">Създаване на виртуален твърд диск</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11319,31 +12378,31 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Тип файл за виртуален диск</translation>
+        <translation type="obsolete">Тип файл за виртуален диск</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Моля, изберете типа на файла, който искате да използвате за новия виртуален диск. Ако нямате нужда да използвате този файл с друг виртуализационен софтуер, можете да оставите тази настройка непроменена.</translation>
+        <translation type="obsolete">Моля, изберете типа на файла, който искате да използвате за новия виртуален диск. Ако нямате нужда да използвате този файл с друг виртуализационен софтуер, можете да оставите тази настройка непроменена.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Съхранение на физически твърд диск</translation>
+        <translation type="obsolete">Съхранение на физически твърд диск</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Моля, изберете дали файлът на новия виртуален диск ще нараства, докато се използва (динамично зададен), или искате да бъде създаден в максималния си размер (фиксиран размер).</translation>
+        <translation type="obsolete">Моля, изберете дали файлът на новия виртуален диск ще нараства, докато се използва (динамично зададен), или искате да бъде създаден в максималния си размер (фиксиран размер).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Динамично зададен</b> файл на виртуален диск ще използва място на вашия физически твърд диск, само когато се запълни (но не повече от максималния <b>фиксиран размер</b>), но няма да се смали отново автоматично, когато се освободи място на него.</p></translation>
+        <translation type="obsolete"><p><b>Динамично зададен</b> файл на виртуален диск ще използва място на вашия физически твърд диск, само когато се запълни (но не повече от максималния <b>фиксиран размер</b>), но няма да се смали отново автоматично, когато се освободи място на него.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Файл с<b>фиксиран размер</b> на виртуален диск може да отнеме повече време при създаване на някои системи, но често е по-бърз при използване.</p></translation>
+        <translation type="obsolete"><p>Файл с<b>фиксиран размер</b> на виртуален диск може да отнеме повече време при създаване на някои системи, но често е по-бърз при използване.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Също така, можете да изберете да <b>разделите</b> виртуалния диск в няколко файла до 2ГБ всеки. Това е полезно, ако искате да съхраните виртуалната машина на преносими USB устройства или стар системи, някои от които не поддържат много големи файлове.</translation>
+        <translation type="obsolete"><p>Също така, можете да изберете да <b>разделите</b> виртуалния диск в няколко файла до 2ГБ всеки. Това е полезно, ако искате да съхраните виртуалната машина на преносими USB устройства или стар системи, някои от които не поддържат много големи файлове.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11367,15 +12426,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Моля, впишете името на файла на новия виртуален диск в кутийката по-долу, или щракнете на иконата с папка, за да изберете друга папка, в която да се създаде файлът.</translation>
+        <translation type="obsolete">Моля, впишете името на файла на новия виртуален диск в кутийката по-долу, или щракнете на иконата с папка, за да изберете друга папка, в която да се създаде файлът.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Избор на папка за  новия виртуален твърд диск...</translation>
+        <translation type="obsolete">Избор на папка за  новия виртуален твърд диск...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Избор на размера на виртуалния твърд диск в мегабайти. Този размер е лимитът на количеството данни, които виртуалната машина ще може да съхрани на този твърд диск.</translation>
+        <translation type="obsolete">Избор на размера на виртуалния твърд диск в мегабайти. Този размер е лимитът на количеството данни, които виртуалната машина ще може да съхрани на този твърд диск.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11387,7 +12446,55 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Тип файл за твърд диск</translation>
+        <translation type="obsolete">&Тип файл за твърд диск</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11438,15 +12545,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Твърд диск</translation>
+        <translation type="obsolete">Твърд диск</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Ако искате, можете да добавите виртуален твърд диск към новата машина. Можете също да създадете нов твърд диск или да изберете един от списъка или друго място, като използвате иконата с папка.</p><p>Ако имате нужда от по-комплексна настройка на съхранението, пропуснете тази стъпка и направете промените в настройките на машината, след като бъде създадена.</p><p>Препоръчителният размер за твърдия диск е <b>%1</b>.</p>< [...]
+        <translation type="obsolete"><p>Ако искате, можете да добавите виртуален твърд диск към новата машина. Можете също да създадете нов твърд диск или да изберете един от списъка или друго място, като използвате иконата с папка.</p><p>Ако имате нужда от по-комплексна настройка на съхранението, пропуснете тази стъпка и направете промените в настройките на машината, след като бъде създадена.</p><p>Препоръчителният размер за твърдия диск е <b>%1</b [...]
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Изберете файл с виртуален твърд диск...</translation>
+        <translation type="obsolete">Изберете файл с виртуален твърд диск...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -11454,15 +12561,39 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Да &не се добавя виртуален твърд диск</translation>
+        <translation type="obsolete">Да &не се добавя виртуален твърд диск</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Създаване на виртуален твърд диск сега</translation>
+        <translation type="obsolete">&Създаване на виртуален твърд диск сега</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Използване на съществуващ файл с виртуален твърд диск</translation>
+        <translation type="obsolete">&Използване на съществуващ файл с виртуален твърд диск</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Изберете файл с виртуален твърд диск...</translation>
     </message>
 </context>
 <context>
@@ -12125,7 +13256,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Отваря диалог за избор на друга папка.</translation>
+        <translation type="obsolete">Отваря диалог за избор на друга папка.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12133,7 +13264,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Отваря диалог за избор на друг файл.</translation>
+        <translation type="obsolete">Отваря диалог за избор на друг файл.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12145,16 +13276,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Моля, въведете желания път до папката тук.</translation>
+        <translation type="obsolete">Моля, въведете желания път до папката тук.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Моля, въведете желания път до файла тук.</translation>
+        <translation type="obsolete">Моля, въведете желания път до файла тук.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>Настоящо избраният път по подразбиране ще бъде показан, след като приемете промените и отворите този диалог отново.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13268,7 +14415,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Свързването на този твърд диск ще бъде извършено индиректно, като се използва новосъздаден различаващ твърд диск.</translation>
+        <translation type="unfinished">Свързването на този твърд диск ще бъде извършено индиректно, като се използва новосъздаден различаващ твърд диск.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -13278,7 +14425,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Този основен твърд диск е свързан индиректно като се използва следният различаващ твърд диск:</translation>
+        <translation type="unfinished">Този основен твърд диск е свързан индиректно като се използва следният различаващ твърд диск:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13833,11 +14980,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Моля, изберете файл с виртуален твърд диск</translation>
+        <translation type="obsolete">Моля, изберете файл с виртуален твърд диск</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Всички файлове с виртуални твърди дискове (%1)</translation>
+        <translation type="obsolete">Всички файлове с виртуални твърди дискове (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -13881,7 +15028,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Моля, изберете папка за  новия виртуален твърд диск</translation>
+        <translation type="obsolete">Моля, изберете папка за  новия виртуален твърд диск</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -14073,21 +15220,38 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>Свързването на този твърд диск ще бъде извършено индиректно, като се използва новосъздаден различаващ твърд диск.</translation>
+        <translation type="obsolete">Свързването на този твърд диск ще бъде извършено индиректно, като се използва новосъздаден различаващ твърд диск.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation><hr>Някои от файловете в тази верига от твърди дискове са недостъпни. Моля, използвайте Управлението на виртуални дискове, за да проверите тези файлове.</translation>
+        <translation type="obsolete"><hr>Някои от файловете в тази верига от твърди дискове са недостъпни. Моля, използвайте Управлението на виртуални дискове, за да проверите тези файлове.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>Този основен твърд диск е свързан индиректно, като се използва следният различаващ твърд диск:</translation>
+        <translation type="obsolete">Този основен твърд диск е свързан индиректно, като се използва следният различаващ твърд диск:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
+        <translation>Криптирано</translation>
+    </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -14402,11 +15566,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><i>Not&nbsp;Encrypted</i></source>
-        <translation type="unfinished"></translation>
+        <translation><i>Некриптирано</i></translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
-        <translation type="unfinished"></translation>
+        <translation>Криптиране с ключ:</translation>
     </message>
 </context>
 <context>
@@ -15029,7 +16193,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Показване детайлите на избраната снимка</translation>
+        <translation type="obsolete">Показване детайлите на избраната снимка</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -15073,11 +16237,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Възстановяване на избраната снимка на виртуалната машина</translation>
+        <translation type="obsolete">Възстановяване на избраната снимка на виртуалната машина</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Изтриване на избраната снимка на виртуалната машина</translation>
+        <translation type="obsolete">Изтриване на избраната снимка на виртуалната машина</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15089,7 +16253,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Клонира избраната виртуална машина</translation>
+        <translation type="obsolete">Клонира избраната виртуална машина</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15124,6 +16304,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>Внимание: Правите снимка на включена машина, която има %n непроменими изображения, закачени към нея. Докато работите с тази снимка, непроменимите изображения няма да бъдат занулени, за да се предотврати загуба на данни.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Снимка %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
index 64788f1..e480be1 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca.ts
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensiona automàticament la pantalla del client en canviar la mida de la finestra (requereix les Guest Additions)</translation>
+        <translation type="obsolete">Redimensiona automàticament la pantalla del client en canviar la mida de la finestra (requereix les Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envia a la màquina virtual l'esdeveniment de prémer el botó ACPI Power</translation>
+        <translation type="obsolete">Envia a la màquina virtual l'esdeveniment de prémer el botó ACPI Power</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -436,7 +436,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Canvia els paràmetres dels adaptadors de xarxa</translation>
+        <translation type="obsolete">Canvia els paràmetres dels adaptadors de xarxa</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -444,7 +444,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Obre el diàleg per operar amb les carpetes compartides</translation>
+        <translation type="obsolete">Obre el diàleg per operar amb les carpetes compartides</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -593,7 +593,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Gestiona els paràmetres de la màquina virtual</translation>
+        <translation type="obsolete">Gestiona els paràmetres de la màquina virtual</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -601,7 +601,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Mostra els fitxers de registre de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Mostra els fitxers de registre de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -625,7 +625,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Mostra el gestor d'operacions de xarxa</translation>
+        <translation type="obsolete">Mostra el gestor d'operacions de xarxa</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -637,7 +637,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Mostra un diàleg amb la informació del producte</translation>
+        <translation type="obsolete">Mostra un diàleg amb la informació del producte</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -649,7 +649,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Fa una captura de la màquina virtual</translation>
+        <translation type="obsolete">Fa una captura de la màquina virtual</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -692,11 +692,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Preferències...</translation>
+        <translation type="obsolete">&Preferències...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Mostra el diàleg de paràmetres globals</translation>
+        <translation type="obsolete">Mostra el diàleg de paràmetres globals</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -712,15 +712,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Crea una màquina virtual nova</translation>
+        <translation type="obsolete">Crea una màquina virtual nova</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Afegeix una màquina virtual existent</translation>
+        <translation type="obsolete">Afegeix una màquina virtual existent</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Canvia el nom del grup de màquina virtual seleccionat</translation>
+        <translation type="obsolete">Canvia el nom del grup de màquina virtual seleccionat</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -740,15 +740,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Actua&litza...</translation>
+        <translation type="obsolete">Actua&litza...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Actualitza l'estat d'accessibilitat de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Actualitza l'estat d'accessibilitat de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Mostra al Finder</translation>
+        <translation type="obsolete">Mostra al Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -756,7 +756,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Mostra a l'Explorer</translation>
+        <translation type="obsolete">Mostra a l'Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -764,11 +764,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Mostra al gestor de fitxers</translation>
+        <translation type="obsolete">Mostra al gestor de fitxers</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Mostra el fitxer de definició de la màquina VirtualBox al gestor de fitxers</translation>
+        <translation type="obsolete">Mostra el fitxer de definició de la màquina VirtualBox al gestor de fitxers</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -780,7 +780,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Afegeix un grup nou basat en els elements seleccionats</translation>
+        <translation type="obsolete">Afegeix un grup nou basat en els elements seleccionats</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -788,7 +788,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Clona la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -804,7 +804,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>D&escarta l'estat desat...</translation>
+        <translation type="obsolete">D&escarta l'estat desat...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -812,7 +812,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Crea un àlies a l'escriptori</translation>
+        <translation type="obsolete">Crea un àlies a l'escriptori</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -820,7 +820,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Crea una drecera a l'escriptori</translation>
+        <translation type="obsolete">Crea una drecera a l'escriptori</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -852,59 +852,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Ordena alfabèticament els elements del grup de la màquina seleccionada</translation>
+        <translation type="obsolete">Ordena alfabèticament els elements del grup de la màquina seleccionada</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Elimina les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Elimina les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Inicia les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Inicia les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Canvia a les finestres de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Canvia a les finestres de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspèn l'execució de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Suspèn l'execució de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reinicia les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Reinicia les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Descarta l'estat desat de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Descarta l'estat desat de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Mostra al Finder el fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Mostra al Finder el fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Mostra a l'Explorer el fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Mostra a l'Explorer el fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea un sobrenom a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Crea un sobrenom a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea una drecera a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Crea una drecera a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Desa l'estat</translation>
+        <translation type="obsolete">Desa l'estat</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Desa l'estat de la màquina de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Desa l'estat de la màquina de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Envia l'esdeveniment de prémer el botó d'inici ACPI a les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Envia l'esdeveniment de prémer el botó d'inici ACPI a les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -912,7 +912,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Apaga les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Apaga les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -924,15 +924,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Desagr&upa...</translation>
+        <translation type="obsolete">Desagr&upa...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Desagrupa els elements del grup de màquina virtual seleccionat</translation>
+        <translation type="obsolete">Desagrupa els elements del grup de màquina virtual seleccionat</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Ordena</translation>
+        <translation type="obsolete">Ordena</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -940,7 +940,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Ordena alfabèticament el grup de la primera màquina seleccionada</translation>
+        <translation type="obsolete">Ordena alfabèticament el grup de la primera màquina seleccionada</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -951,10 +951,6 @@
         <translation type="obsolete">Arrosega i deixa anar</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -971,242 +967,294 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Teclat</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Xarxa</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Mostra el &registre...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fitxer</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Teclat</translation>
+        <source>Switch between normal and full-screen mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Xarxa</translation>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Mostra el &registre...</translation>
+        <source>&Headless Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fitxer</translation>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferències...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Discos durs</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1218,9 +1266,185 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Previsualitza el monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">No hi ha cap dispositiu USB connectat</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Habilita</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1238,6 +1462,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1291,15 +1539,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlador de disc IDE</translation>
+        <translation type="obsolete">Controlador de disc IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlador de disc SATA</translation>
+        <translation type="obsolete">Controlador de disc SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlador de disc SCSI</translation>
+        <translation type="obsolete">Controlador de disc SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1357,7 +1605,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Mòdul de disc dur (SAS)</translation>
+        <translation type="obsolete">Mòdul de disc dur (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1367,6 +1615,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinicialitza l'adreça MAC de totes les targetes de xarxa</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2018,18 +2282,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>S'estan deixant anar les dades...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2135,33 +2396,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3383,7 +3617,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Especifica l'amplada màxima que el client pot utilitzar.</translation>
+        <translation type="obsolete">Especifica l'amplada màxima que el client pot utilitzar.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3391,7 +3625,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Especifica l'alçada màxima que el client pot utilitzar.</translation>
+        <translation type="obsolete">Especifica l'alçada màxima que el client pot utilitzar.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3425,11 +3659,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3457,11 +3699,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Afegeix un paquet</translation>
+        <translation type="obsolete">Afegeix un paquet</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Elimina el paquet</translation>
+        <translation type="obsolete">Elimina el paquet</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3480,6 +3722,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3540,15 +3798,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Inhabilita el protector de pantalla de l'a&mfitrió</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3603,11 +3861,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3787,15 +4045,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Afegeix xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Afegeix xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Elimina la xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Elimina la xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Edita xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Edita xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3895,56 +4153,92 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Active</source>
+        <comment>NAT network</comment>
+        <translation type="unfinished">Actiu</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
-        <translation type="unfinished">Actiu</translation>
-    </message>
-    <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4059,7 +4353,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Fes servir la configuració manual només per a l'adaptador de xarxa de l'amfitrió.</translation>
+        <translation type="obsolete">Fes servir la configuració manual només per a l'adaptador de xarxa de l'amfitrió.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4103,7 +4397,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indica si el servidor DHCP està habilitat en iniciar de la màquina o no.</translation>
+        <translation type="obsolete">Indica si el servidor DHCP està habilitat en iniciar de la màquina o no.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4137,6 +4431,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Mostra l'adreça límit superior oferida pel servidor DHCP de la xarxa associada a aquest adaptador de només l'amfitrió.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4149,10 +4451,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4177,32 +4475,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Obre el diàleg per gestionar les regles de reenviament de ports.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Reenviament de &ports</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Obre el diàleg per gestionar les regles de reenviament de ports.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Reenviament de &ports</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4236,7 +4542,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Canvia l'amfitrió del servidor intermediari.</translation>
+        <translation type="obsolete">Canvia l'amfitrió del servidor intermediari.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4244,7 +4550,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Canvia el port del servidor intermediari.</translation>
+        <translation type="obsolete">Canvia el port del servidor intermediari.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4278,6 +4584,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4295,7 +4609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Especifica amb quina periodicitat es comprovarà si hi ha noves versions. Si voleu desactivar aquesta acció, desmarqueu la casella de dalt.</translation>
+        <translation type="obsolete">Especifica amb quina periodicitat es comprovarà si hi ha noves versions. Si voleu desactivar aquesta acció, desmarqueu la casella de dalt.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4329,6 +4643,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Totes les &noves versions i també versions en desenvolupament</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4747,7 +5065,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indica l'activitat dels discos durs virtuals:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indica l'activitat dels discos durs virtuals:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4829,7 +5147,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica si el teclat és capturat pel sistema operatiu client (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica si el teclat és capturat pel sistema operatiu client (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4875,6 +5193,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4895,11 +5222,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Previsualitza el monitor %1</translation>
+        <translation type="obsolete">Previsualitza el monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Captura %1</translation>
+        <translation type="obsolete">Captura %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4935,32 +5262,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>No hi ha cap dispositiu USB connectat</translation>
+        <translation type="obsolete">No hi ha cap dispositiu USB connectat</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
+        <translation type="obsolete">No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Seleccioneu un nom de fitxer per a la captura...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4978,7 +5289,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Gestiona el controlador de sortida de so. El <b>controlador d'àudio Nul</b> fa que el client vegi una tarjeta de so, però l'accés a ella s'ignorarà.</translation>
+        <translation type="obsolete">Gestiona el controlador de sortida de so. El <b>controlador d'àudio Nul</b> fa que el client vegi una tarjeta de so, però l'accés a ella s'ignorarà.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4988,6 +5299,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selecciona el tipus de la targeta de so virtual. Segons aquest valor, el VirtualBox proveirà diferents dispositius de maquinari de so per al sistema client.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4997,7 +5312,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5053,7 +5368,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Defineix el mode d'autenticació del VRDP.</translation>
+        <translation type="obsolete">Defineix el mode d'autenticació del VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5061,7 +5376,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica el temps d'autenticació del client, en milisegons.</translation>
+        <translation type="obsolete">Especifica el temps d'autenticació del client, en milisegons.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5077,7 +5392,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>El número de port de servidor VRDP. Heu d'especificar <tt>0</tt> (cero) per a seleccionar el port 3389, el port estàndard per a RDP.</translation>
+        <translation type="obsolete">El número de port de servidor VRDP. Heu d'especificar <tt>0</tt> (cero) per a seleccionar el port 3389, el port estàndard per a RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5089,11 +5404,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Especifica si es permeten connexions simultànies múltiples a la màquina virtual.</translation>
+        <translation type="obsolete">Especifica si es permeten connexions simultànies múltiples a la màquina virtual.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5132,46 +5447,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5180,10 +5467,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5235,10 +5518,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Barra d'eines mini:</translation>
     </message>
@@ -5284,21 +5563,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5310,6 +5585,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5331,7 +5670,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Mostra el camí on les captures d'aquesta màquina virtual es desaran. Tingueu en compte que les captures poden ocupar prou quantitat d'espai al disc dur.</translation>
+        <translation type="obsolete">Mostra el camí on les captures d'aquesta màquina virtual es desaran. Tingueu en compte que les captures poden ocupar prou quantitat d'espai al disc dur.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5590,10 +5929,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5630,6 +5965,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5651,15 +5994,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Si està marcat, mostra la barra d'eines mini als modes fluid i de pantalla completa.</translation>
+        <translation type="obsolete">Si està marcat, mostra la barra d'eines mini als modes fluid i de pantalla completa.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Mostra en pantalla completa/&fluid</translation>
+        <translation type="obsolete">Mostra en pantalla completa/&fluid</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Si està marcat, mostra una barra d'eines petita a la part de dalt de la pantalla en lloc de a la posició per defecte a la part de sota.</translation>
+        <translation type="obsolete">Si està marcat, mostra una barra d'eines petita a la part de dalt de la pantalla en lloc de a la posició per defecte a la part de sota.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5669,6 +6012,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5766,7 +6121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla la forma en què aquest adaptador virtual es connecta a la xarxa real del sistema amfitrió.</translation>
+        <translation type="obsolete">Controla la forma en què aquest adaptador virtual es connecta a la xarxa real del sistema amfitrió.</translation>
     </message>
     <message>
         <source>Open additional options dialog for current attachment type.</source>
@@ -5810,7 +6165,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica si el cable de la xarxa virtual està connectat a l'inici de la màquina virtual o no.</translation>
+        <translation type="obsolete">Indica si el cable de la xarxa virtual està connectat a l'inici de la màquina virtual o no.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5858,7 +6213,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Mostra o amaga les opcions addicionals de l'adaptador de xarxa.</translation>
+        <translation type="obsolete">Mostra o amaga les opcions addicionals de l'adaptador de xarxa.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5870,7 +6225,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Obre el diàleg per gestionar les regles de reenviament de ports.</translation>
+        <translation type="obsolete">Obre el diàleg per gestionar les regles de reenviament de ports.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5890,7 +6245,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Introduïu qualsevol paràmetre de configuració per al mòdul de connexió de xarxa que fareu servir. Els paràmetres hauran de ser de la forma <b>name=valor</b> i dependran del mòdul. Feu servir <b>alt-intro</b> per afegir una nova entrada.</translation>
+        <translation type="obsolete">Introduïu qualsevol paràmetre de configuració per al mòdul de connexió de xarxa que fareu servir. Els paràmetres hauran de ser de la forma <b>name=valor</b> i dependran del mòdul. Feu servir <b>alt-intro</b> per afegir una nova entrada.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5952,6 +6307,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6110,21 +6485,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Mostra l'adreça base del port E/S d'aquest port paral·lel. Valors vàlids són nombres enters amb un rang entre <tt>0</tt> i <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">No s'ha especificat un camí al port</translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">S'ha introduït un camí al port duplicat</translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -6147,6 +6507,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">S'ha introduït un camí al port duplicat</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -6154,27 +6529,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Aquesta taula conté una llista de les regles de redireccionament de ports.</translation>
+        <translation type="obsolete">Aquesta taula conté una llista de les regles de redireccionament de ports.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Insereix una regla nova</translation>
+        <translation type="obsolete">Insereix una regla nova</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copia la regla seleccionada</translation>
+        <translation type="obsolete">Copia la regla seleccionada</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Elimina la regla seleccionada</translation>
+        <translation type="obsolete">Elimina la regla seleccionada</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Aquest botó afegeix una regla de reenviament de ports nova.</translation>
+        <translation type="obsolete">Aquest botó afegeix una regla de reenviament de ports nova.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Aquest botó elimina la regla de reenviament de ports seleccionada.</translation>
+        <translation type="obsolete">Aquest botó elimina la regla de reenviament de ports seleccionada.</translation>
     </message>
 </context>
 <context>
@@ -6193,15 +6568,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Afegeix una nova definició a la carpeta compartida.</translation>
+        <translation type="obsolete">Afegeix una nova definició a la carpeta compartida.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita la definició de la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Edita la definició de la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Elimina la definició de la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Elimina la definició de la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6241,27 +6616,51 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Afegeix una carpeta compartida</translation>
+        <translation type="obsolete">&Afegeix una carpeta compartida</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Edita la carpeta compartida</translation>
+        <translation type="obsolete">&Edita la carpeta compartida</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Elimina la ca&peta compartida</translation>
+        <translation type="obsolete">Elimina la ca&peta compartida</translation>
     </message>
     <message>
         <source>&Folders List</source>
         <translation>Llista de &carpetes</translation>
     </message>
     <message>
-        <source>Auto-mount</source>
-        <translation>Munta automàticament</translation>
+        <source>Auto-mount</source>
+        <translation>Munta automàticament</translation>
+    </message>
+    <message>
+        <source>Yes</source>
+        <translation>Sí</translation>
+    </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation>Sí</translation>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6312,7 +6711,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Si està marcat, aquesta carpeta compartida serà permanent.</translation>
+        <translation type="obsolete">Si està marcat, aquesta carpeta compartida serà permanent.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6360,7 +6763,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla el mode de treball d'aquest port en sèrie. Si seleccioneu <b>Desconnectat</b>, el sistema client detectarà el port en sèrie però no podrà operar amb ell.</translation>
+        <translation type="obsolete">Controla el mode de treball d'aquest port en sèrie. Si seleccioneu <b>Desconnectat</b>, el sistema client detectarà el port en sèrie però no podrà operar amb ell.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6391,10 +6794,6 @@ p, li { white-space: pre-wrap; }
         <translation>Mostra l'adreça base d'E/S d'aquest port en sèrie. Valors vàlids són nombres enter amb un rang entre <tt>0</tt> i <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6406,20 +6805,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">S'ha introduït un camí de port duplicat</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6443,6 +6835,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">S'ha introduït un camí de port duplicat</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6526,11 +6933,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Expandeix/redueix&nbsp;element</nobr></translation>
+        <translation type="obsolete"><nobr>Expandeix/redueix&nbsp;element</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Afegeix&nbsp;disc&nbsp;dur</nobr></translation>
+        <translation type="obsolete"><nobr>Afegeix&nbsp;disc&nbsp;dur</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6594,19 +7001,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Afegeix un nou controlador al final de l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Afegeix un nou controlador al final de l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Elimina el controlador realçat de l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Elimina el controlador realçat de l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Afegeix una nova adjunció a l'Arbre d'emmagatzematge fent servir el controlador seleccionat actualment com a pare.</translation>
+        <translation type="obsolete">Afegeix una nova adjunció a l'Arbre d'emmagatzematge fent servir el controlador seleccionat actualment com a pare.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Elimina l'adjunció realçada a l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Elimina l'adjunció realçada a l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6642,7 +7049,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Conté tots els controladors per a aquesta màquina i les imatges virtual i controladors d'amfitrió connectats a elles.</translation>
+        <translation type="obsolete">Conté tots els controladors per a aquesta màquina i les imatges virtual i controladors d'amfitrió connectats a elles.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6662,7 +7069,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Canvia el nom del controlador d'emmagatzematge actualment seleccionat a l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Canvia el nom del controlador d'emmagatzematge actualment seleccionat a l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6730,7 +7137,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permet l'utilització de les capacitats de captura E/S.</translation>
+        <translation type="obsolete">Permet l'utilització de les capacitats de captura E/S.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6762,7 +7169,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Imatge</translation>
+        <translation type="obsolete">Imatge</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6770,7 +7177,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Configura el disc dur virtual</translation>
+        <translation type="obsolete">Configura el disc dur virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6794,15 +7201,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configura el disquet virtual</translation>
+        <translation type="obsolete">Configura el disquet virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Crea un disc dur nou...</translation>
+        <translation type="obsolete">Crea un disc dur nou...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Selecciona un fitxer de disc dur virtual...</translation>
+        <translation type="obsolete">Selecciona un fitxer de disc dur virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6814,11 +7221,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Selecciona un fitxer de disquet virtual...</translation>
+        <translation type="obsolete">Selecciona un fitxer de disquet virtual...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Quan estigui marcat, el disc virtual no s'eliminarà quan el client l'expulsi.</translation>
+        <translation type="obsolete">Quan estigui marcat, el disc virtual no s'eliminarà quan el client l'expulsi.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6826,7 +7233,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Quan estigui marcat, el sistema client veurà el disc virtual com a un dispositiu d'estat sòlid.</translation>
+        <translation type="obsolete">Quan estigui marcat, el sistema client veurà el disc virtual com a un dispositiu d'estat sòlid.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6895,47 +7302,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Seleccioneu un fitxer de disc òptic virtual...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Seleccioneu un fitxer de disc òptic virtual...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imatge</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6967,12 +7443,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;processador</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processador</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -7005,7 +7481,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mou avall (Ctrl+Fletxa avall)</translation>
+        <translation type="obsolete">Mou avall (Ctrl+Fletxa avall)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7013,7 +7489,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mou amunt (Ctrl+Fletxa amunt)</translation>
+        <translation type="obsolete">Mou amunt (Ctrl+Fletxa amunt)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7086,7 +7562,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;processadors</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processadors</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7098,7 +7574,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Si està marcat, el dispositiu TRC informarà de l'hora en UTC, d'altra manera es mostrarà en hora local (amfitrió). Els sistemes Unix normalment s'esperen que el rellotge de maquinari estigui definiti com a UTC.</translation>
+        <translation type="obsolete">Si està marcat, el dispositiu TRC informarà de l'hora en UTC, d'altra manera es mostrarà en hora local (amfitrió). Els sistemes Unix normalment s'esperen que el rellotge de maquinari estigui definiti com a UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7147,12 +7623,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7210,56 +7686,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Afegeix un filtre buit</translation>
+        <translation type="obsolete">&Afegeix un filtre buit</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Afegeix un filtre des d'un &dispositiu</translation>
+        <translation type="obsolete">Afegeix un filtre des d'un &dispositiu</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Edita el filtre</translation>
+        <translation type="obsolete">&Edita el filtre</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Elimina el filt&re</translation>
+        <translation type="obsolete">Elimina el filt&re</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mou el filtre amunt</translation>
+        <translation type="obsolete">&Mou el filtre amunt</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&ou el filtre avall</translation>
+        <translation type="obsolete">M&ou el filtre avall</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Afegeix un filtre d'USB nou amb tots els camps definits inicialment com a cadenes buides. Tingueu en compte que un filtre com aquest concordarà amb qualsevol dispositiu USB connectat.</translation>
+        <translation type="obsolete">Afegeix un filtre d'USB nou amb tots els camps definits inicialment com a cadenes buides. Tingueu en compte que un filtre com aquest concordarà amb qualsevol dispositiu USB connectat.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Afegeix un filtre d'USB nou amb tots els camps definits amb els valors del dispositiu USB seleccionat dels que estan connectats a l'ordinador amfitrió.</translation>
+        <translation type="obsolete">Afegeix un filtre d'USB nou amb tots els camps definits amb els valors del dispositiu USB seleccionat dels que estan connectats a l'ordinador amfitrió.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edita el filtre d'USB seleccionat.</translation>
+        <translation type="obsolete">Edita el filtre d'USB seleccionat.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Elimina el filtre d'USB seleccionat.</translation>
+        <translation type="obsolete">Elimina el filtre d'USB seleccionat.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Mou el filtre d'USB seleccionat amunt.</translation>
+        <translation type="obsolete">Mou el filtre d'USB seleccionat amunt.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Mou el filtre d'USB seleccionat avall.</translation>
+        <translation type="obsolete">Mou el filtre d'USB seleccionat avall.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7276,7 +7778,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Quan estigui marcat, s'habilitarà el controlador virtual USB EHCI per a aquesta màquina. El controlador USB EHCI proveeix de suport USB 2.0.</translation>
+        <translation type="obsolete">Quan estigui marcat, s'habilitarà el controlador virtual USB EHCI per a aquesta màquina. El controlador USB EHCI proveeix de suport USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7343,27 +7845,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">L'USB 2.0 es troba activat per a aquesta màquina virtual. Tot i així, això requereix la instal·lació de <b>%1</b>. Instal·leu el paquet d'extensions des del lloc web de baixades del VirtualBox. Una vegada fet això, haureu de tornar a activar l'USB 2.0. Mentrestant es desactivarà a no ser que cancel·leu els canvis dels paràmetres actuals.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Elimina el filtre</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7398,7 +7952,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Defineix l'ID del venedor del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix l'ID del venedor del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7406,7 +7960,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Defineix el filtre ID del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre ID del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7414,7 +7968,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Defineix el número de revisió del filtre. El format de la cadena de <i>seqüència exacta</i> és <tt>IIFF</tt> a on <tt>I</tt> és un dígit decimal de la part entera i <tt>F</tt> és un dígit decimal d'una part de fracció. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el número de revisió del filtre. El format de la cadena de <i>seqüència exacta</i> és <tt>IIFF</tt> a on <tt>I</tt> és un dígit decimal de la part entera i <tt>F</tt> és un dígit decimal d'una part de fracció. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7422,7 +7976,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre del fabricant com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre del fabricant com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7430,7 +7984,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre de nom del producte com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre de nom del producte com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7438,7 +7992,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre del número de sèrie com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre del número de sèrie com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7446,7 +8000,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre de l'USB de l'amfitrió com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre de l'USB de l'amfitrió com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7454,7 +8008,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Defineix on s'aplica aquest filtre als dispositius USB connectats localment a l'amfitrió (<i>No</i>), al VRDP de la computadora client (<i>Sí</i>), o a ambdós (<i>Qualsevol</i>).</translation>
+        <translation type="obsolete">Defineix on s'aplica aquest filtre als dispositius USB connectats localment a l'amfitrió (<i>No</i>), al VRDP de la computadora client (<i>Sí</i>), o a ambdós (<i>Qualsevol</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7468,6 +8022,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Detalls del filtre USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7487,7 +8073,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Discos durs</translation>
+        <translation type="obsolete">&Discos durs</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7509,6 +8095,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8118,7 +8708,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>No es pot canviar al mode de pantalla completa perquè no hi ha suficient memòria de vídeo assignada a la màquina virtual.</p><p>Haureu d'establir la memòria de vídeo com a mínim a <b>%1</b>.</p><p>Premeu <b>Ignora</b> per canviar de totes maneres al mode de pantalla completa o premeu <b>Cancel·la</b> per a cancel·lar l'operació.</p></translation>
+        <translation type="obsolete"><p>No es pot canviar al mode de pantalla completa perquè no hi ha suficient memòria de vídeo assignada a la màquina virtual.</p><p>Haureu d'establir la memòria de vídeo com a mínim a <b>%1</b>.</p><p>Premeu <b>Ignora</b> per canviar de totes maneres al mode de pantalla completa o premeu <b>Cancel·la</b> per a cancel·lar l'operació.</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8285,7 +8875,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Voleu eliminar la unitat d'emmagatzematge del disc dur <nobr><b>%1</b></nobr>?</p><p>Si seleccioneu <b>Elimina</b>, la unitat especificada s'eliminarà de forma permanent. Aquesta operació <b>no es pot desfer</b>.</p><p>Si seleccioneu <b>Manté</b>, el disc dur s'eliminarà del llistat de discos durs coneguts, però la unitat d'emmagatzematge no s'elimina [...]
+        <translation type="obsolete"><p>Voleu eliminar la unitat d'emmagatzematge del disc dur <nobr><b>%1</b></nobr>?</p><p>Si seleccioneu <b>Elimina</b>, la unitat especificada s'eliminarà de forma permanent. Aquesta operació <b>no es pot desfer</b>.</p><p>Si seleccioneu <b>Manté</b>, el disc dur s'eliminarà del llistat de discos durs coneguts, però la unitat d'emmagatzematge n [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8494,7 +9084,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Si s'esborra una captura, la informació d'estat desada a la mateixa es perdrà i les dades del disc, repartides en diversos fitxers d'imatge que VirtualBox ha creat juntament amb la captura es fusionaran en un sol fitxer. Això pot ser un procés llarg, i la informació de la captura no es podrà recuperar. </p><p>Segur que voleu eliminar la captura seleccionada <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Si s'esborra una captura, la informació d'estat desada a la mateixa es perdrà i les dades del disc, repartides en diversos fitxers d'imatge que VirtualBox ha creat juntament amb la captura es fusionaran en un sol fitxer. Això pot ser un procés llarg, i la informació de la captura no es podrà recuperar. </p><p>Segur que voleu eliminar la captura seleccionada <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8630,7 +9220,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>L'eliminació de la captura %1 necessitarà de forma temporal més espai al disc. En el pitjor cas la mida de la imatge %2 creixerà un %3, tot i així en aquest sistema només hi ha %4 d'espai lliure.</p><p>Sobrepassar l'espai al disc durant l'operació d'unió pot resultar en una imatge i configuració de la màquina virtual corrompudes, -p.e. pèrdua de la màquina virtual i les seues dades.</p><p>Podeu continuar sota  [...]
+        <translation type="obsolete"><p>L'eliminació de la captura %1 necessitarà de forma temporal més espai al disc. En el pitjor cas la mida de la imatge %2 creixerà un %3, tot i així en aquest sistema només hi ha %4 d'espai lliure.</p><p>Sobrepassar l'espai al disc durant l'operació d'unió pot resultar en una imatge i configuració de la màquina virtual corrompudes, -p.e. pèrdua de la màquina virtual i les seues dades.</p><p>Podeu [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8810,7 +9400,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>La màquina virtual passarà ara al mode de <b>pantalla completa</b>. Podeu tornar enrere prement <b>%1</b>. Tingueu en compte que la <i>tecla d'amfitrió</i> està definida actualment com <b>%2</b>.</p><p>La barra de menú estarà amagada al mode de pantalla completa. Podreu accedir a ella prement <b>tecla d'amfitrió+Home</b>.</p></translation>
+        <translation type="obsolete"><p>La màquina virtual passarà ara al mode de <b>pantalla completa</b>. Podeu tornar enrere prement <b>%1</b>. Tingueu en compte que la <i>tecla d'amfitrió</i> està definida actualment com <b>%2</b>.</p><p>La barra de menú estarà amagada al mode de pantalla completa. Podreu accedir a ella prement <b>tecla d'amfitrió+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9045,7 +9635,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Ara creareu una màquina virtual nova sense disc dur. No podreu instal·lar un sistema operatiu fins que no n'afegiu un. Mentrestant, només podreu iniciar la màquina fent servir un disc òptic o des de la xarxa.</translation>
+        <translation type="obsolete">Ara creareu una màquina virtual nova sense disc dur. No podreu instal·lar un sistema operatiu fins que no n'afegiu un. Mentrestant, només podreu iniciar la màquina fent servir un disc òptic o des de la xarxa.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -9164,79 +9754,43 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Tria un dis&c</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Would you like to try to force insertion of this disk?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Would you like to try to force ejection of this disk?</p></source>
+        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Would you like to try to force insertion of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Would you like to try to force ejection of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
@@ -9358,10 +9912,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9433,6 +9983,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10525,27 +11115,82 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nom</translation>
+        <translation type="obsolete">Nom</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP de l'amfitrió</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Port de l'amfitrió</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP del client</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Port del client</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocol</translation>
+        <translation type="unfinished">Protocol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP de l'amfitrió</translation>
+        <translation type="unfinished">IP de l'amfitrió</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Port de l'amfitrió</translation>
+        <translation type="unfinished">Port de l'amfitrió</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP del client</translation>
+        <translation type="unfinished">IP del client</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Port del client</translation>
+        <translation type="unfinished">Port del client</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10849,13 +11494,6 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10865,6 +11503,10 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11462,7 +12104,7 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copia el disc virtual</translation>
+        <translation type="obsolete">Copia el disc virtual</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11470,43 +12112,43 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Disc que es copiarà</translation>
+        <translation type="obsolete">Disc que es copiarà</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Seleccioneu el disc virtual que voleu copiar si no es troba encara seleccionat. Podeu seleccionar un de la llista o fer servir la icona de carpeta al costat de la llista per seleccionar un fitxer de disc virtual.</p></translation>
+        <translation type="obsolete"><p>Seleccioneu el disc virtual que voleu copiar si no es troba encara seleccionat. Podeu seleccionar un de la llista o fer servir la icona de carpeta al costat de la llista per seleccionar un fitxer de disc virtual.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Seleccioneu el disc virtual que es copiarà...</translation>
+        <translation type="obsolete">Seleccioneu el disc virtual que es copiarà...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipus de fitxer de disc</translation>
+        <translation type="obsolete">Tipus de fitxer de disc</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Seleccioneu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb cap altre programari de virtualització, podeu deixar aquest paràmetre com està.</translation>
+        <translation type="obsolete">Seleccioneu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb cap altre programari de virtualització, podeu deixar aquest paràmetre com està.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Emmagatzematge al disc físic</translation>
+        <translation type="obsolete">Emmagatzematge al disc físic</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
+        <translation type="obsolete">Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
+        <translation type="obsolete"><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-se en alguns sistemes, però és més ràpid de fer servir.</p></translation>
+        <translation type="obsolete"><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-se en alguns sistemes, però és més ràpid de fer servir.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
+        <translation type="obsolete"><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11522,19 +12164,19 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Disc nou que es crearà</translation>
+        <translation type="obsolete">Disc nou que es crearà</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Introduïu el nom del fitxer de disc virtual nou a la caixa següent o feu clic a la icona de la carpeta per a seleccionar una carpeta diferent on es crearà el fitxer.</translation>
+        <translation type="obsolete">Introduïu el nom del fitxer de disc virtual nou a la caixa següent o feu clic a la icona de la carpeta per a seleccionar una carpeta diferent on es crearà el fitxer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11543,15 +12185,87 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Disc que es &copiarà</translation>
+        <translation type="obsolete">Disc que es &copiarà</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>Disc &nou que es crearà</translation>
+        <translation type="obsolete">Disc &nou que es crearà</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipus de fitxer de disc</translation>
+        <translation type="obsolete">&Tipus de fitxer de disc</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11594,7 +12308,7 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Seleccioneu el tipus de clonatge que voleu crear.</p><p>Si seleccioneu <b>Clonat complet</b>, es crearà una còpia exacta (incloent tots els fitxers de disc virtuals) de la màquina original.</p><p>Si seleccioneu <b>Clonat enllaçat</b>, es crearà una màquina nova, però els fitxers de disc s'enllaçaran als fitxers de disc de la màquina original i no podreu moure la màquina virtual a un ordinador diferent sens [...]
+        <translation type="obsolete"><p>Seleccioneu el tipus de clonatge que voleu crear.</p><p>Si seleccioneu <b>Clonat complet</b>, es crearà una còpia exacta (incloent tots els fitxers de disc virtuals) de la màquina original.</p><p>Si seleccioneu <b>Clonat enllaçat</b>, es crearà una màquina nova, però els fitxers de disc s'enllaçaran als fitxers de disc de la màquina original i no podreu moure la màquina virtual a un ordinad [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11652,6 +12366,10 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
         <source>&Linked Clone</source>
         <translation>Clonació &enllaçada</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11928,7 +12646,7 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Crea un disc virtual</translation>
+        <translation type="obsolete">Crea un disc virtual</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11936,31 +12654,31 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipus de fitxer de disc</translation>
+        <translation type="obsolete">Tipus de fitxer de disc</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Trieu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb un altre programari de virtualització, podeu deixar aquest paràmetre sense canviar.</translation>
+        <translation type="obsolete">Trieu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb un altre programari de virtualització, podeu deixar aquest paràmetre sense canviar.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Emmagatzematge al disc físic</translation>
+        <translation type="obsolete">Emmagatzematge al disc físic</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
+        <translation type="obsolete">Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
+        <translation type="obsolete"><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-se en alguns sistemes, però és més ràpid de fer servir.</p></translation>
+        <translation type="obsolete"><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-se en alguns sistemes, però és més ràpid de fer servir.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
+        <translation type="obsolete"><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11984,15 +12702,15 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Introduïi el nom del fitxer de disc virtual nou al camp següent o feu clic a la icona de carpeta per seleccionar una carpeta diferent on crear el fitxer.</translation>
+        <translation type="obsolete">Introduïi el nom del fitxer de disc virtual nou al camp següent o feu clic a la icona de carpeta per seleccionar una carpeta diferent on crear el fitxer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Seleccioneu la mida en megabytes del disc virtual. Aquesta mida és el límit de dades que la màquina podrà emmagatzemar al disc dur.</translation>
+        <translation type="obsolete">Seleccioneu la mida en megabytes del disc virtual. Aquesta mida és el límit de dades que la màquina podrà emmagatzemar al disc dur.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -12004,7 +12722,55 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipus de fitxer de disc</translation>
+        <translation type="obsolete">&Tipus de fitxer de disc</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12055,15 +12821,15 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Disc dur</translation>
+        <translation type="obsolete">Disc dur</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Si voleu, podeu afegir un disc virtual a la màquina nova. Podeu crear un fitxer de disc virtual nou o bé seleccionar-ne un de la llista o des d'una altra ubicació fent servir la icona de carpeta.</p><p>Si necessiteu una configuració d'emmagatzematge més complexa, podeu ometre aquest pas i fer els canvis als paràmetres de a màquina quan l'hàgiu creada.</p><p>La mida recomendada del disc és <b>%1</b> MB.</p [...]
+        <translation type="obsolete"><p>Si voleu, podeu afegir un disc virtual a la màquina nova. Podeu crear un fitxer de disc virtual nou o bé seleccionar-ne un de la llista o des d'una altra ubicació fent servir la icona de carpeta.</p><p>Si necessiteu una configuració d'emmagatzematge més complexa, podeu ometre aquest pas i fer els canvis als paràmetres de a màquina quan l'hàgiu creada.</p><p>La mida recomendada del disc és <b>%1< [...]
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Trieu un fitxer de disc virtual...</translation>
+        <translation type="obsolete">Trieu un fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12071,15 +12837,39 @@ pas i connectar discos durs més endavant, fent servir el diàleg de configuraci
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>No afegeixis un &disc virtual</translation>
+        <translation type="obsolete">No afegeixis un &disc virtual</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Crea un disc virtual nou</translation>
+        <translation type="obsolete">&Crea un disc virtual nou</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Fes servir &un fitxer de disc virtual existent</translation>
+        <translation type="obsolete">Fes servir &un fitxer de disc virtual existent</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13231,7 +14021,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Obre un quadre de diàleg per a seleccionar una carpeta diferent.</translation>
+        <translation type="obsolete">Obre un quadre de diàleg per a seleccionar una carpeta diferent.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13239,7 +14029,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Obre un quadre de diàleg per a seleccionar un fitxer diferent.</translation>
+        <translation type="obsolete">Obre un quadre de diàleg per a seleccionar un fitxer diferent.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13251,16 +14041,32 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Introduïu aquí el camí desitjat per a la carpeta.</translation>
+        <translation type="obsolete">Introduïu aquí el camí desitjat per a la carpeta.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Introduïu aquí el camí desitjat per al fitxer.</translation>
+        <translation type="obsolete">Introduïu aquí el camí desitjat per al fitxer.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14503,7 +15309,7 @@ Versió %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Si connecteu aquest disc dur es millorarà de forma indirecta fent servir un nou disc dur diferenciat.</translation>
+        <translation type="unfinished">Si connecteu aquest disc dur es millorarà de forma indirecta fent servir un nou disc dur diferenciat.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14513,7 +15319,7 @@ Versió %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Aquest disc dur base es connecta indirectament fent servir el disc dur diferenciat següent:</translation>
+        <translation type="unfinished">Aquest disc dur base es connecta indirectament fent servir el disc dur diferenciat següent:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -15074,11 +15880,11 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Trieu un fitxer de disc virtual</translation>
+        <translation type="obsolete">Trieu un fitxer de disc virtual</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Tots els fitxers de disc virtuals (%1)</translation>
+        <translation type="obsolete">Tots els fitxers de disc virtuals (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15122,7 +15928,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Trieu una ubicació per al fitxer de disc virtual nou</translation>
+        <translation type="obsolete">Trieu una ubicació per al fitxer de disc virtual nou</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -15302,25 +16108,27 @@ Versió %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -17114,7 +17922,7 @@ per accedir a ella des d'un sistema Linux. Aquesta característica requerei
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostra els detalls de la captura seleccionada</translation>
+        <translation type="obsolete">Mostra els detalls de la captura seleccionada</translation>
     </message>
     <message>
         <source>[snapshot]</source>
@@ -17216,11 +18024,11 @@ per accedir a ella des d'un sistema Linux. Aquesta característica requerei
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaura la captura seleccionada de la màquina virtual</translation>
+        <translation type="obsolete">Restaura la captura seleccionada de la màquina virtual</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Elimina la captura seleccionada de la màquina virtual</translation>
+        <translation type="obsolete">Elimina la captura seleccionada de la màquina virtual</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -17232,7 +18040,23 @@ per accedir a ella des d'un sistema Linux. Aquesta característica requerei
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Clona la màquina virtual seleccionada</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -17288,6 +18112,10 @@ per accedir a ella des d'un sistema Linux. Aquesta característica requerei
             <numerusform>Avís: esteu fent una captura d'una màquina que té %n imatge immutables connectades. Mentre treballeu amb aquesta captura, les imatges immutables no es reiniciaran per evitar la pèrdua de dades.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Captura %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
index 4e8a071..f813894 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ca_VA.ts
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensiona automàticament la pantalla del client en canviar la mida de la finestra (requereix les Guest Additions)</translation>
+        <translation type="obsolete">Redimensiona automàticament la pantalla del client en canviar la mida de la finestra (requereix les Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envia a la màquina virtual l'esdeveniment de prémer el botó ACPI Power</translation>
+        <translation type="obsolete">Envia a la màquina virtual l'esdeveniment de prémer el botó ACPI Power</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -436,7 +436,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Canvia els paràmetres dels adaptadors de xarxa</translation>
+        <translation type="obsolete">Canvia els paràmetres dels adaptadors de xarxa</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -444,7 +444,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Obri el diàleg per operar amb les carpetes compartides</translation>
+        <translation type="obsolete">Obri el diàleg per operar amb les carpetes compartides</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -593,7 +593,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Gestiona els paràmetres de la màquina virtual</translation>
+        <translation type="obsolete">Gestiona els paràmetres de la màquina virtual</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -601,7 +601,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Mostra els fitxers de registre de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Mostra els fitxers de registre de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -625,7 +625,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Mostra el gestor d'operacions de xarxa</translation>
+        <translation type="obsolete">Mostra el gestor d'operacions de xarxa</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -637,7 +637,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Mostra un diàleg amb la informació del producte</translation>
+        <translation type="obsolete">Mostra un diàleg amb la informació del producte</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -649,7 +649,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Fa una captura de la màquina virtual</translation>
+        <translation type="obsolete">Fa una captura de la màquina virtual</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -692,11 +692,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Preferències...</translation>
+        <translation type="obsolete">&Preferències...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Mostra el diàleg de paràmetres globals</translation>
+        <translation type="obsolete">Mostra el diàleg de paràmetres globals</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -712,15 +712,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Crea una màquina virtual nova</translation>
+        <translation type="obsolete">Crea una màquina virtual nova</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Afig una màquina virtual existent</translation>
+        <translation type="obsolete">Afig una màquina virtual existent</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Canvia el nom del grup de màquina virtual seleccionat</translation>
+        <translation type="obsolete">Canvia el nom del grup de màquina virtual seleccionat</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -740,15 +740,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Actua&litza...</translation>
+        <translation type="obsolete">Actua&litza...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Actualitza l'estat d'accessibilitat de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Actualitza l'estat d'accessibilitat de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Mostra al Finder</translation>
+        <translation type="obsolete">Mostra al Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -756,7 +756,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Mostra a l'Explorer</translation>
+        <translation type="obsolete">Mostra a l'Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -764,11 +764,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Mostra al gestor de fitxers</translation>
+        <translation type="obsolete">Mostra al gestor de fitxers</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Mostra el fitxer de definició de la màquina VirtualBox al gestor de fitxers</translation>
+        <translation type="obsolete">Mostra el fitxer de definició de la màquina VirtualBox al gestor de fitxers</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -780,7 +780,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Afig un grup nou basat en els elements seleccionats</translation>
+        <translation type="obsolete">Afig un grup nou basat en els elements seleccionats</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -788,7 +788,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Clona la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -804,7 +804,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>D&escarta l'estat alçat...</translation>
+        <translation type="obsolete">D&escarta l'estat alçat...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -812,7 +812,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Crea un àlies a l'escriptori</translation>
+        <translation type="obsolete">Crea un àlies a l'escriptori</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -820,7 +820,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Crea una drecera a l'escriptori</translation>
+        <translation type="obsolete">Crea una drecera a l'escriptori</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -852,59 +852,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Ordena alfabèticament els elements del grup de la màquina seleccionada</translation>
+        <translation type="obsolete">Ordena alfabèticament els elements del grup de la màquina seleccionada</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Elimina les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Elimina les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Inicia les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Inicia les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Canvia a les finestres de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Canvia a les finestres de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspèn l'execució de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Suspèn l'execució de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reinicia les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Reinicia les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Descarta l'estat alçat de les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Descarta l'estat alçat de les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Mostra al Finder el fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Mostra al Finder el fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Mostra a l'Explorer el fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Mostra a l'Explorer el fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea un sobrenom a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Crea un sobrenom a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea una drecera a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
+        <translation type="obsolete">Crea una drecera a l'escriptori del fitxer de definició de la màquina VirtualBox</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Alça l'estat</translation>
+        <translation type="obsolete">Alça l'estat</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Alça l'estat de la màquina de la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Alça l'estat de la màquina de la màquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Envia l'esdeveniment de prémer el botó d'inici ACPI a les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Envia l'esdeveniment de prémer el botó d'inici ACPI a les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -912,7 +912,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Apaga les màquines virtuals seleccionades</translation>
+        <translation type="obsolete">Apaga les màquines virtuals seleccionades</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -924,15 +924,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Desagr&upa...</translation>
+        <translation type="obsolete">Desagr&upa...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Desagrupa els elements del grup de màquina virtual seleccionat</translation>
+        <translation type="obsolete">Desagrupa els elements del grup de màquina virtual seleccionat</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Ordena</translation>
+        <translation type="obsolete">Ordena</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -940,7 +940,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Ordena alfabèticament el grup de la primera màquina seleccionada</translation>
+        <translation type="obsolete">Ordena alfabèticament el grup de la primera màquina seleccionada</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -951,10 +951,6 @@
         <translation type="obsolete">Arrosega i deixa anar</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -971,242 +967,294 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Teclat</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Xarxa</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Mostra el &registre...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fitxer</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Teclat</translation>
+        <source>Switch between normal and full-screen mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Xarxa</translation>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Mostra el &registre...</translation>
+        <source>&Headless Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fitxer</translation>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferències...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Discos durs</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1218,9 +1266,185 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Previsualitza el monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">No hi ha cap dispositiu USB connectat</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Habilita</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1238,6 +1462,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1291,15 +1539,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlador de disc IDE</translation>
+        <translation type="obsolete">Controlador de disc IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlador de disc SATA</translation>
+        <translation type="obsolete">Controlador de disc SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlador de disc SCSI</translation>
+        <translation type="obsolete">Controlador de disc SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1357,7 +1605,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Mòdul de disc dur (SAS)</translation>
+        <translation type="obsolete">Mòdul de disc dur (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1367,6 +1615,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinicialitza l'adreça MAC de totes les targetes de xarxa</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2018,18 +2282,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>S'estan deixant anar les dades...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2135,33 +2396,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3383,7 +3617,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Especifica l'amplada màxima que el client pot utilitzar.</translation>
+        <translation type="obsolete">Especifica l'amplada màxima que el client pot utilitzar.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3391,7 +3625,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Especifica l'alçada màxima que el client pot utilitzar.</translation>
+        <translation type="obsolete">Especifica l'alçada màxima que el client pot utilitzar.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3425,11 +3659,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3457,11 +3699,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Afig un paquet</translation>
+        <translation type="obsolete">Afig un paquet</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Elimina el paquet</translation>
+        <translation type="obsolete">Elimina el paquet</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3480,6 +3722,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3540,15 +3798,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Inhabilita el protector de pantalla de l'a&mfitrió</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3603,11 +3861,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3787,15 +4045,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Afig xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Afig xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Elimina la xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Elimina la xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Edita xarxa només per a l'amfitrió</translation>
+        <translation type="obsolete">&Edita xarxa només per a l'amfitrió</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3895,56 +4153,92 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Active</source>
+        <comment>NAT network</comment>
+        <translation type="unfinished">Actiu</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
-        <translation type="unfinished">Actiu</translation>
-    </message>
-    <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4059,7 +4353,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Fes servir la configuració manual només per a l'adaptador de xarxa de l'amfitrió.</translation>
+        <translation type="obsolete">Fes servir la configuració manual només per a l'adaptador de xarxa de l'amfitrió.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4103,7 +4397,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indica si el servidor DHCP està habilitat en iniciar de la màquina o no.</translation>
+        <translation type="obsolete">Indica si el servidor DHCP està habilitat en iniciar de la màquina o no.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4137,6 +4431,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Mostra l'adreça límit superior oferida pel servidor DHCP de la xarxa associada a este adaptador de només l'amfitrió.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4149,10 +4451,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4177,32 +4475,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Obri el diàleg per gestionar les regles de reenviament de ports.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Reenviament de &ports</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Obri el diàleg per gestionar les regles de reenviament de ports.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Reenviament de &ports</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4236,7 +4542,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Canvia l'amfitrió del servidor intermediari.</translation>
+        <translation type="obsolete">Canvia l'amfitrió del servidor intermediari.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4244,7 +4550,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Canvia el port del servidor intermediari.</translation>
+        <translation type="obsolete">Canvia el port del servidor intermediari.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4278,6 +4584,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4295,7 +4609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Especifica amb quina periodicitat es comprovarà si hi ha noves versions. Si voleu desactivar esta acció, desmarqueu la casella de dalt.</translation>
+        <translation type="obsolete">Especifica amb quina periodicitat es comprovarà si hi ha noves versions. Si voleu desactivar esta acció, desmarqueu la casella de dalt.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4329,6 +4643,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Totes les &noves versions i també versions en desenvolupament</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4747,7 +5065,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indica l'activitat dels discos durs virtuals:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indica l'activitat dels discos durs virtuals:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4829,7 +5147,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica si el teclat és capturat pel sistema operatiu client (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica si el teclat és capturat pel sistema operatiu client (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4875,6 +5193,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4895,11 +5222,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Previsualitza el monitor %1</translation>
+        <translation type="obsolete">Previsualitza el monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Captura %1</translation>
+        <translation type="obsolete">Captura %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4935,32 +5262,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>No hi ha cap dispositiu USB connectat</translation>
+        <translation type="obsolete">No hi ha cap dispositiu USB connectat</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
+        <translation type="obsolete">No hi ha dispositius suportats connectats a l'ordinador amfitrió</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Seleccioneu un nom de fitxer per a la captura...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4978,7 +5289,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Gestiona el controlador d'eixida de so. El <b>controlador d'àudio Nul</b> fa que el client veja una tarjeta de so, però l'accés a ella s'ignorarà.</translation>
+        <translation type="obsolete">Gestiona el controlador d'eixida de so. El <b>controlador d'àudio Nul</b> fa que el client veja una tarjeta de so, però l'accés a ella s'ignorarà.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4988,6 +5299,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selecciona el tipus de la targeta de so virtual. Segons este valor, el VirtualBox proveirà diferents dispositius de maquinari de so per al sistema client.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4997,7 +5312,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5053,7 +5368,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Defineix el mode d'autenticació del VRDP.</translation>
+        <translation type="obsolete">Defineix el mode d'autenticació del VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5061,7 +5376,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica el temps d'autenticació del client, en milisegons.</translation>
+        <translation type="obsolete">Especifica el temps d'autenticació del client, en milisegons.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5077,7 +5392,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>El número de port de servidor VRDP. Heu d'especificar <tt>0</tt> (cero) per a seleccionar el port 3389, el port estàndard per a RDP.</translation>
+        <translation type="obsolete">El número de port de servidor VRDP. Heu d'especificar <tt>0</tt> (cero) per a seleccionar el port 3389, el port estàndard per a RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5089,11 +5404,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Especifica si es permeten connexions simultànies múltiples a la màquina virtual.</translation>
+        <translation type="obsolete">Especifica si es permeten connexions simultànies múltiples a la màquina virtual.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5132,46 +5447,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5180,10 +5467,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5235,10 +5518,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Barra d'eines mini:</translation>
     </message>
@@ -5284,21 +5563,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5310,6 +5585,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5331,7 +5670,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Mostra el camí on les captures d'esta màquina virtual s'alçaran. Tingueu en compte que les captures poden ocupar prou quantitat d'espai al disc dur.</translation>
+        <translation type="obsolete">Mostra el camí on les captures d'esta màquina virtual s'alçaran. Tingueu en compte que les captures poden ocupar prou quantitat d'espai al disc dur.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5590,10 +5929,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5630,6 +5965,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5651,15 +5994,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Si està marcat, mostra la barra d'eines mini als modes fluid i de pantalla completa.</translation>
+        <translation type="obsolete">Si està marcat, mostra la barra d'eines mini als modes fluid i de pantalla completa.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Mostra en pantalla completa/&fluid</translation>
+        <translation type="obsolete">Mostra en pantalla completa/&fluid</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Si està marcat, mostra una barra d'eines petita a la part de dalt de la pantalla en lloc d'a la posició per defecte a la part de sota.</translation>
+        <translation type="obsolete">Si està marcat, mostra una barra d'eines petita a la part de dalt de la pantalla en lloc d'a la posició per defecte a la part de sota.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5669,6 +6012,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5766,7 +6121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla la forma en què este adaptador virtual es connecta a la xarxa real del sistema amfitrió.</translation>
+        <translation type="obsolete">Controla la forma en què este adaptador virtual es connecta a la xarxa real del sistema amfitrió.</translation>
     </message>
     <message>
         <source>Open additional options dialog for current attachment type.</source>
@@ -5810,7 +6165,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica si el cable de la xarxa virtual està connectat a l'inici de la màquina virtual o no.</translation>
+        <translation type="obsolete">Indica si el cable de la xarxa virtual està connectat a l'inici de la màquina virtual o no.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5858,7 +6213,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Mostra o amaga les opcions addicionals de l'adaptador de xarxa.</translation>
+        <translation type="obsolete">Mostra o amaga les opcions addicionals de l'adaptador de xarxa.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5870,7 +6225,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Obri el diàleg per gestionar les regles de reenviament de ports.</translation>
+        <translation type="obsolete">Obri el diàleg per gestionar les regles de reenviament de ports.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5890,7 +6245,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Introduïu qualsevol paràmetre de configuració per al mòdul de connexió de xarxa que fareu servir. Els paràmetres hauran de ser de la forma <b>name=valor</b> i dependran del mòdul. Feu servir <b>alt-intro</b> per afegir una nova entrada.</translation>
+        <translation type="obsolete">Introduïu qualsevol paràmetre de configuració per al mòdul de connexió de xarxa que fareu servir. Els paràmetres hauran de ser de la forma <b>name=valor</b> i dependran del mòdul. Feu servir <b>alt-intro</b> per afegir una nova entrada.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5952,6 +6307,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6110,21 +6485,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Mostra l'adreça base del port E/S d'este port paral·lel. Valors vàlids són nombres enters amb un rang entre <tt>0</tt> i <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">No s'ha especificat un camí al port</translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">S'ha introduït un camí al port duplicat</translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -6147,6 +6507,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">S'ha introduït un camí al port duplicat</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -6154,27 +6529,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Esta taula conté una llista de les regles de redireccionament de ports.</translation>
+        <translation type="obsolete">Esta taula conté una llista de les regles de redireccionament de ports.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Insereix una regla nova</translation>
+        <translation type="obsolete">Insereix una regla nova</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copia la regla seleccionada</translation>
+        <translation type="obsolete">Copia la regla seleccionada</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Elimina la regla seleccionada</translation>
+        <translation type="obsolete">Elimina la regla seleccionada</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Este botó afig una regla de reenviament de ports nova.</translation>
+        <translation type="obsolete">Este botó afig una regla de reenviament de ports nova.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Este botó elimina la regla de reenviament de ports seleccionada.</translation>
+        <translation type="obsolete">Este botó elimina la regla de reenviament de ports seleccionada.</translation>
     </message>
 </context>
 <context>
@@ -6193,15 +6568,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Afig una nova definició a la carpeta compartida.</translation>
+        <translation type="obsolete">Afig una nova definició a la carpeta compartida.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita la definició de la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Edita la definició de la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Elimina la definició de la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Elimina la definició de la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6241,27 +6616,51 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Afig una carpeta compartida</translation>
+        <translation type="obsolete">&Afig una carpeta compartida</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Edita la carpeta compartida</translation>
+        <translation type="obsolete">&Edita la carpeta compartida</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Elimina la ca&peta compartida</translation>
+        <translation type="obsolete">Elimina la ca&peta compartida</translation>
     </message>
     <message>
         <source>&Folders List</source>
         <translation>Llista de &carpetes</translation>
     </message>
     <message>
-        <source>Auto-mount</source>
-        <translation>Munta automàticament</translation>
+        <source>Auto-mount</source>
+        <translation>Munta automàticament</translation>
+    </message>
+    <message>
+        <source>Yes</source>
+        <translation>Sí</translation>
+    </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation>Sí</translation>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6312,7 +6711,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Si està marcat, esta carpeta compartida serà permanent.</translation>
+        <translation type="obsolete">Si està marcat, esta carpeta compartida serà permanent.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6360,7 +6763,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla el mode de treball d'este port en sèrie. Si seleccioneu <b>Desconnectat</b>, el sistema client detectarà el port en sèrie però no podrà operar amb ell.</translation>
+        <translation type="obsolete">Controla el mode de treball d'este port en sèrie. Si seleccioneu <b>Desconnectat</b>, el sistema client detectarà el port en sèrie però no podrà operar amb ell.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6391,10 +6794,6 @@ p, li { white-space: pre-wrap; }
         <translation>Mostra l'adreça base d'E/S d'este port en sèrie. Valors vàlids són nombres enter amb un rang entre <tt>0</tt> i <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6406,20 +6805,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">S'ha introduït un camí de port duplicat</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6443,6 +6835,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">S'ha seleccionat un número de port duplicat</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">No s'ha especificat un camí al port</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">S'ha introduït un camí de port duplicat</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6526,11 +6933,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Expandeix/redueix&nbsp;element</nobr></translation>
+        <translation type="obsolete"><nobr>Expandeix/redueix&nbsp;element</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Afig&nbsp;disc&nbsp;dur</nobr></translation>
+        <translation type="obsolete"><nobr>Afig&nbsp;disc&nbsp;dur</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6594,19 +7001,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Afig un nou controlador al final de l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Afig un nou controlador al final de l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Elimina el controlador realçat de l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Elimina el controlador realçat de l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Afig una nova adjunció a l'Arbre d'emmagatzematge fent servir el controlador seleccionat actualment com a pare.</translation>
+        <translation type="obsolete">Afig una nova adjunció a l'Arbre d'emmagatzematge fent servir el controlador seleccionat actualment com a pare.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Elimina l'adjunció realçada a l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Elimina l'adjunció realçada a l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6642,7 +7049,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Conté tots els controladors per a esta màquina i les imatges virtual i controladors d'amfitrió connectats a elles.</translation>
+        <translation type="obsolete">Conté tots els controladors per a esta màquina i les imatges virtual i controladors d'amfitrió connectats a elles.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6662,7 +7069,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Canvia el nom del controlador d'emmagatzematge actualment seleccionat a l'Arbre d'emmagatzematge.</translation>
+        <translation type="obsolete">Canvia el nom del controlador d'emmagatzematge actualment seleccionat a l'Arbre d'emmagatzematge.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6730,7 +7137,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permet l'utilització de les capacitats de captura E/S.</translation>
+        <translation type="obsolete">Permet l'utilització de les capacitats de captura E/S.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6762,7 +7169,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Imatge</translation>
+        <translation type="obsolete">Imatge</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6770,7 +7177,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Configura el disc dur virtual</translation>
+        <translation type="obsolete">Configura el disc dur virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6794,15 +7201,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configura el disquet virtual</translation>
+        <translation type="obsolete">Configura el disquet virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Crea un disc dur nou...</translation>
+        <translation type="obsolete">Crea un disc dur nou...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Selecciona un fitxer de disc dur virtual...</translation>
+        <translation type="obsolete">Selecciona un fitxer de disc dur virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6814,11 +7221,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Selecciona un fitxer de disquet virtual...</translation>
+        <translation type="obsolete">Selecciona un fitxer de disquet virtual...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Quan estiga marcat, el disc virtual no s'eliminarà quan el client l'expulse.</translation>
+        <translation type="obsolete">Quan estiga marcat, el disc virtual no s'eliminarà quan el client l'expulse.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6826,7 +7233,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Quan estiga marcat, el sistema client veurà el disc virtual com a un dispositiu d'estat sòlid.</translation>
+        <translation type="obsolete">Quan estiga marcat, el sistema client veurà el disc virtual com a un dispositiu d'estat sòlid.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6895,47 +7302,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Seleccioneu un fitxer de disc òptic virtual...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Seleccioneu un fitxer de disc òptic virtual...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imatge</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6967,12 +7443,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;processador</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processador</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -7005,7 +7481,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mou avall (Ctrl+Fletxa avall)</translation>
+        <translation type="obsolete">Mou avall (Ctrl+Fletxa avall)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7013,7 +7489,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mou amunt (Ctrl+Fletxa amunt)</translation>
+        <translation type="obsolete">Mou amunt (Ctrl+Fletxa amunt)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7086,7 +7562,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;processadors</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processadors</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7098,7 +7574,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Si està marcat, el dispositiu TRC informarà de l'hora en UTC, d'altra manera es mostrarà en hora local (amfitrió). Els sistemes Unix normalment s'esperen que el rellotge de maquinari estiga definiti com a UTC.</translation>
+        <translation type="obsolete">Si està marcat, el dispositiu TRC informarà de l'hora en UTC, d'altra manera es mostrarà en hora local (amfitrió). Els sistemes Unix normalment s'esperen que el rellotge de maquinari estiga definiti com a UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7147,12 +7623,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7210,56 +7686,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Afig un filtre buit</translation>
+        <translation type="obsolete">&Afig un filtre buit</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Afig un filtre des d'un &dispositiu</translation>
+        <translation type="obsolete">Afig un filtre des d'un &dispositiu</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Edita el filtre</translation>
+        <translation type="obsolete">&Edita el filtre</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Elimina el filt&re</translation>
+        <translation type="obsolete">Elimina el filt&re</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mou el filtre amunt</translation>
+        <translation type="obsolete">&Mou el filtre amunt</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&ou el filtre avall</translation>
+        <translation type="obsolete">M&ou el filtre avall</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Afig un filtre d'USB nou amb tots els camps definits inicialment com a cadenes buides. Tingueu en compte que un filtre com este concordarà amb qualsevol dispositiu USB connectat.</translation>
+        <translation type="obsolete">Afig un filtre d'USB nou amb tots els camps definits inicialment com a cadenes buides. Tingueu en compte que un filtre com este concordarà amb qualsevol dispositiu USB connectat.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Afig un filtre d'USB nou amb tots els camps definits amb els valors del dispositiu USB seleccionat dels que estan connectats a l'ordinador amfitrió.</translation>
+        <translation type="obsolete">Afig un filtre d'USB nou amb tots els camps definits amb els valors del dispositiu USB seleccionat dels que estan connectats a l'ordinador amfitrió.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edita el filtre d'USB seleccionat.</translation>
+        <translation type="obsolete">Edita el filtre d'USB seleccionat.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Elimina el filtre d'USB seleccionat.</translation>
+        <translation type="obsolete">Elimina el filtre d'USB seleccionat.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Mou el filtre d'USB seleccionat amunt.</translation>
+        <translation type="obsolete">Mou el filtre d'USB seleccionat amunt.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Mou el filtre d'USB seleccionat avall.</translation>
+        <translation type="obsolete">Mou el filtre d'USB seleccionat avall.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7276,7 +7778,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Quan estiga marcat, s'habilitarà el controlador virtual USB EHCI per a esta màquina. El controlador USB EHCI proveeix de suport USB 2.0.</translation>
+        <translation type="obsolete">Quan estiga marcat, s'habilitarà el controlador virtual USB EHCI per a esta màquina. El controlador USB EHCI proveeix de suport USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7343,27 +7845,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">L'USB 2.0 es troba activat per a esta màquina virtual. Tot i així, això requereix la instal·lació de <b>%1</b>. Instal·leu el paquet d'extensions des del lloc web de baixades del VirtualBox. Una vegada fet això, haureu de tornar a activar l'USB 2.0. Mentrestant es desactivarà a no ser que cancel·leu els canvis dels paràmetres actuals.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Elimina el filtre</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7398,7 +7952,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Defineix l'ID del venedor del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix l'ID del venedor del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7406,7 +7960,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Defineix el filtre ID del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre ID del producte. El format de la cadena de <i>seqüència exacta</i> és <tt>XXXX</tt> a on <tt>X</tt> és un dígit hexadecimal. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7414,7 +7968,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Defineix el número de revisió del filtre. El format de la cadena de <i>seqüència exacta</i> és <tt>IIFF</tt> a on <tt>I</tt> és un dígit decimal de la part entera i <tt>F</tt> és un dígit decimal d'una part de fracció. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el número de revisió del filtre. El format de la cadena de <i>seqüència exacta</i> és <tt>IIFF</tt> a on <tt>I</tt> és un dígit decimal de la part entera i <tt>F</tt> és un dígit decimal d'una part de fracció. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7422,7 +7976,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre del fabricant com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre del fabricant com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7430,7 +7984,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre de nom del producte com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre de nom del producte com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7438,7 +7992,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre del número de sèrie com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre del número de sèrie com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7446,7 +8000,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Defineix el filtre de l'USB de l'amfitrió com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
+        <translation type="obsolete">Defineix el filtre de l'USB de l'amfitrió com una cadena de <i>seqüència exacta</i>. Una cadena buida no tindrà cap valor.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7454,7 +8008,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Defineix on s'aplica este filtre als dispositius USB connectats localment a l'amfitrió (<i>No</i>), al VRDP de la computadora client (<i>Sí</i>), o a ambdós (<i>Qualsevol</i>).</translation>
+        <translation type="obsolete">Defineix on s'aplica este filtre als dispositius USB connectats localment a l'amfitrió (<i>No</i>), al VRDP de la computadora client (<i>Sí</i>), o a ambdós (<i>Qualsevol</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7468,6 +8022,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Detalls del filtre USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7487,7 +8073,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Discos durs</translation>
+        <translation type="obsolete">&Discos durs</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7509,6 +8095,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8118,7 +8708,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>No es pot canviar al mode de pantalla completa perquè no hi ha suficient memòria de vídeo assignada a la màquina virtual.</p><p>Haureu d'establir la memòria de vídeo com a mínim a <b>%1</b>.</p><p>Premeu <b>Ignora</b> per canviar de totes maneres al mode de pantalla completa o premeu <b>Cancel·la</b> per a cancel·lar l'operació.</p></translation>
+        <translation type="obsolete"><p>No es pot canviar al mode de pantalla completa perquè no hi ha suficient memòria de vídeo assignada a la màquina virtual.</p><p>Haureu d'establir la memòria de vídeo com a mínim a <b>%1</b>.</p><p>Premeu <b>Ignora</b> per canviar de totes maneres al mode de pantalla completa o premeu <b>Cancel·la</b> per a cancel·lar l'operació.</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8285,7 +8875,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Voleu eliminar la unitat d'emmagatzematge del disc dur <nobr><b>%1</b></nobr>?</p><p>Si seleccioneu <b>Elimina</b>, la unitat especificada s'eliminarà de forma permanent. Esta operació <b>no es pot desfer</b>.</p><p>Si seleccioneu <b>Manté</b>, el disc dur s'eliminarà del llistat de discos durs coneguts, però la unitat d'emmagatzematge no s'eliminarà  [...]
+        <translation type="obsolete"><p>Voleu eliminar la unitat d'emmagatzematge del disc dur <nobr><b>%1</b></nobr>?</p><p>Si seleccioneu <b>Elimina</b>, la unitat especificada s'eliminarà de forma permanent. Esta operació <b>no es pot desfer</b>.</p><p>Si seleccioneu <b>Manté</b>, el disc dur s'eliminarà del llistat de discos durs coneguts, però la unitat d'emmagatzematge no s [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8494,7 +9084,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Si s'esborra una captura, la informació d'estat alçada a la mateixa es perdrà i les dades del disc, repartides en diversos fitxers d'imatge que VirtualBox ha creat juntament amb la captura es fusionaran en un sol fitxer. Això pot ser un procés llarg, i la informació de la captura no es podrà recuperar. </p><p>Segur que voleu eliminar la captura seleccionada <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Si s'esborra una captura, la informació d'estat alçada a la mateixa es perdrà i les dades del disc, repartides en diversos fitxers d'imatge que VirtualBox ha creat juntament amb la captura es fusionaran en un sol fitxer. Això pot ser un procés llarg, i la informació de la captura no es podrà recuperar. </p><p>Segur que voleu eliminar la captura seleccionada <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8630,7 +9220,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>L'eliminació de la captura %1 necessitarà de forma temporal més espai al disc. En el pitjor cas la mida de la imatge %2 creixerà un %3, tot i així en este sistema només hi ha %4 d'espai lliure.</p><p>Sobrepassar l'espai al disc durant l'operació d'unió pot resultar en una imatge i configuració de la màquina virtual corrompudes, -p.e. pèrdua de la màquina virtual i les seues dades.</p><p>Podeu continuar sota el [...]
+        <translation type="obsolete"><p>L'eliminació de la captura %1 necessitarà de forma temporal més espai al disc. En el pitjor cas la mida de la imatge %2 creixerà un %3, tot i així en este sistema només hi ha %4 d'espai lliure.</p><p>Sobrepassar l'espai al disc durant l'operació d'unió pot resultar en una imatge i configuració de la màquina virtual corrompudes, -p.e. pèrdua de la màquina virtual i les seues dades.</p><p>Podeu c [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8810,7 +9400,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>La màquina virtual passarà ara al mode de <b>pantalla completa</b>. Podeu tornar arrere prement <b>%1</b>. Tingueu en compte que la <i>tecla d'amfitrió</i> està definida actualment com <b>%2</b>.</p><p>La barra de menú estarà amagada al mode de pantalla completa. Podreu accedir a ella prement <b>tecla d'amfitrió+Home</b>.</p></translation>
+        <translation type="obsolete"><p>La màquina virtual passarà ara al mode de <b>pantalla completa</b>. Podeu tornar arrere prement <b>%1</b>. Tingueu en compte que la <i>tecla d'amfitrió</i> està definida actualment com <b>%2</b>.</p><p>La barra de menú estarà amagada al mode de pantalla completa. Podreu accedir a ella prement <b>tecla d'amfitrió+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9045,7 +9635,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Ara creareu una màquina virtual nova sense disc dur. No podreu instal·lar un sistema operatiu fins que no n'afegiu un. Mentrestant, només podreu iniciar la màquina fent servir un disc òptic o des de la xarxa.</translation>
+        <translation type="obsolete">Ara creareu una màquina virtual nova sense disc dur. No podreu instal·lar un sistema operatiu fins que no n'afegiu un. Mentrestant, només podreu iniciar la màquina fent servir un disc òptic o des de la xarxa.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -9164,79 +9754,43 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Tria un dis&c</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Would you like to try to force insertion of this disk?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Would you like to try to force ejection of this disk?</p></source>
+        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Would you like to try to force insertion of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Would you like to try to force ejection of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
@@ -9358,10 +9912,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9433,6 +9983,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10525,27 +11115,82 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nom</translation>
+        <translation type="obsolete">Nom</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP de l'amfitrió</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Port de l'amfitrió</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP del client</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Port del client</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nom</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocol</translation>
+        <translation type="unfinished">Protocol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP de l'amfitrió</translation>
+        <translation type="unfinished">IP de l'amfitrió</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Port de l'amfitrió</translation>
+        <translation type="unfinished">Port de l'amfitrió</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP del client</translation>
+        <translation type="unfinished">IP del client</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Port del client</translation>
+        <translation type="unfinished">Port del client</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10849,13 +11494,6 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10865,6 +11503,10 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11462,7 +12104,7 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copia el disc virtual</translation>
+        <translation type="obsolete">Copia el disc virtual</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11470,43 +12112,43 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Disc que es copiarà</translation>
+        <translation type="obsolete">Disc que es copiarà</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Seleccioneu el disc virtual que voleu copiar si no es troba encara seleccionat. Podeu seleccionar un de la llista o fer servir la icona de carpeta al costat de la llista per seleccionar un fitxer de disc virtual.</p></translation>
+        <translation type="obsolete"><p>Seleccioneu el disc virtual que voleu copiar si no es troba encara seleccionat. Podeu seleccionar un de la llista o fer servir la icona de carpeta al costat de la llista per seleccionar un fitxer de disc virtual.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Seleccioneu el disc virtual que es copiarà...</translation>
+        <translation type="obsolete">Seleccioneu el disc virtual que es copiarà...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipus de fitxer de disc</translation>
+        <translation type="obsolete">Tipus de fitxer de disc</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Seleccioneu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb cap altre programari de virtualització, podeu deixar este paràmetre com està.</translation>
+        <translation type="obsolete">Seleccioneu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb cap altre programari de virtualització, podeu deixar este paràmetre com està.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Emmagatzematge al disc físic</translation>
+        <translation type="obsolete">Emmagatzematge al disc físic</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
+        <translation type="obsolete">Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
+        <translation type="obsolete"><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-s'en alguns sistemes, però és més ràpid de fer servir.</p></translation>
+        <translation type="obsolete"><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-s'en alguns sistemes, però és més ràpid de fer servir.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
+        <translation type="obsolete"><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11522,19 +12164,19 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Disc nou que es crearà</translation>
+        <translation type="obsolete">Disc nou que es crearà</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Introduïu el nom del fitxer de disc virtual nou a la caixa següent o feu clic a la icona de la carpeta per a seleccionar una carpeta diferent on es crearà el fitxer.</translation>
+        <translation type="obsolete">Introduïu el nom del fitxer de disc virtual nou a la caixa següent o feu clic a la icona de la carpeta per a seleccionar una carpeta diferent on es crearà el fitxer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11543,15 +12185,87 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Disc que es &copiarà</translation>
+        <translation type="obsolete">Disc que es &copiarà</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>Disc &nou que es crearà</translation>
+        <translation type="obsolete">Disc &nou que es crearà</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipus de fitxer de disc</translation>
+        <translation type="obsolete">&Tipus de fitxer de disc</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11594,7 +12308,7 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Seleccioneu el tipus de clonatge que voleu crear.</p><p>Si seleccioneu <b>Clonat complet</b>, es crearà una còpia exacta (incloent tots els fitxers de disc virtuals) de la màquina original.</p><p>Si seleccioneu <b>Clonat enllaçat</b>, es crearà una màquina nova, però els fitxers de disc s'enllaçaran als fitxers de disc de la màquina original i no podreu moure la màquina virtual a un ordinador diferent sens [...]
+        <translation type="obsolete"><p>Seleccioneu el tipus de clonatge que voleu crear.</p><p>Si seleccioneu <b>Clonat complet</b>, es crearà una còpia exacta (incloent tots els fitxers de disc virtuals) de la màquina original.</p><p>Si seleccioneu <b>Clonat enllaçat</b>, es crearà una màquina nova, però els fitxers de disc s'enllaçaran als fitxers de disc de la màquina original i no podreu moure la màquina virtual a un ordinad [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11652,6 +12366,10 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
         <source>&Linked Clone</source>
         <translation>Clonació &enllaçada</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11928,7 +12646,7 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Crea un disc virtual</translation>
+        <translation type="obsolete">Crea un disc virtual</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11936,31 +12654,31 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipus de fitxer de disc</translation>
+        <translation type="obsolete">Tipus de fitxer de disc</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Trieu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb un altre programari de virtualització, podeu deixar este paràmetre sense canviar.</translation>
+        <translation type="obsolete">Trieu el tipus de fitxer que voleu fer servir per al disc virtual nou. Si no necessiteu fer-lo servir amb un altre programari de virtualització, podeu deixar este paràmetre sense canviar.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Emmagatzematge al disc físic</translation>
+        <translation type="obsolete">Emmagatzematge al disc físic</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
+        <translation type="obsolete">Trieu si el disc de la màquina virtual ha de créixer conforme es fa servir (ubicat dinàmicament) o si s'ha de crear amb la mida màxima (mida fixa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
+        <translation type="obsolete"><p>Un disc virtual <b>ubicat de forma dinàmica</b> farà servir espai al disc dur conforme el necessiti (fins al màxim de la <b>mida fixa</b>). Tot i així, no s'encongirà quan s'alliberi espai.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-s'en alguns sistemes, però és més ràpid de fer servir.</p></translation>
+        <translation type="obsolete"><p>Un fitxer de disc virtual de <b>mida fixa</b> trigarà més en crear-s'en alguns sistemes, però és més ràpid de fer servir.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
+        <translation type="obsolete"><p>També podeu seleccionar <b>dividir</b> el disc virtual en molts fitxers fins a 2GB cada un. Això és útil principalment si voleu emmagatzemar la màquina virtual en dispositius extraïbles o sistemes antics, alguns dels quals no poden gestionar fitxers molt grans.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11984,15 +12702,15 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Introduïi el nom del fitxer de disc virtual nou al camp següent o feu clic a la icona de carpeta per seleccionar una carpeta diferent on crear el fitxer.</translation>
+        <translation type="obsolete">Introduïi el nom del fitxer de disc virtual nou al camp següent o feu clic a la icona de carpeta per seleccionar una carpeta diferent on crear el fitxer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
+        <translation type="obsolete">Seleccioneu una ubicació per al fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Seleccioneu la mida en megabytes del disc virtual. Esta mida és el límit de dades que la màquina podrà emmagatzemar al disc dur.</translation>
+        <translation type="obsolete">Seleccioneu la mida en megabytes del disc virtual. Esta mida és el límit de dades que la màquina podrà emmagatzemar al disc dur.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -12004,7 +12722,55 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipus de fitxer de disc</translation>
+        <translation type="obsolete">&Tipus de fitxer de disc</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12055,15 +12821,15 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Disc dur</translation>
+        <translation type="obsolete">Disc dur</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Si voleu, podeu afegir un disc virtual a la màquina nova. Podeu crear un fitxer de disc virtual nou o bé seleccionar-ne un de la llista o des d'una altra ubicació fent servir la icona de carpeta.</p><p>Si necessiteu una configuració d'emmagatzematge més complexa, podeu ometre este pas i fer els canvis als paràmetres d'a màquina quan l'hàgeu creada.</p><p>La mida recomendada del disc és <b>%1</b> MB.< [...]
+        <translation type="obsolete"><p>Si voleu, podeu afegir un disc virtual a la màquina nova. Podeu crear un fitxer de disc virtual nou o bé seleccionar-ne un de la llista o des d'una altra ubicació fent servir la icona de carpeta.</p><p>Si necessiteu una configuració d'emmagatzematge més complexa, podeu ometre este pas i fer els canvis als paràmetres d'a màquina quan l'hàgeu creada.</p><p>La mida recomendada del disc és <b>%1&l [...]
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Trieu un fitxer de disc virtual...</translation>
+        <translation type="obsolete">Trieu un fitxer de disc virtual...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12071,15 +12837,39 @@ pas i connectar discos durs més avant, fent servir el diàleg de configuració
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>No afiges un &disc virtual</translation>
+        <translation type="obsolete">No afiges un &disc virtual</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Crea un disc virtual nou</translation>
+        <translation type="obsolete">&Crea un disc virtual nou</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Fes servir &un fitxer de disc virtual existent</translation>
+        <translation type="obsolete">Fes servir &un fitxer de disc virtual existent</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13231,7 +14021,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Obri un quadre de diàleg per a seleccionar una carpeta diferent.</translation>
+        <translation type="obsolete">Obri un quadre de diàleg per a seleccionar una carpeta diferent.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13239,7 +14029,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Obri un quadre de diàleg per a seleccionar un fitxer diferent.</translation>
+        <translation type="obsolete">Obri un quadre de diàleg per a seleccionar un fitxer diferent.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13251,16 +14041,32 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Introduïu ací el camí desitjat per a la carpeta.</translation>
+        <translation type="obsolete">Introduïu ací el camí desitjat per a la carpeta.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Introduïu ací el camí desitjat per al fitxer.</translation>
+        <translation type="obsolete">Introduïu ací el camí desitjat per al fitxer.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14503,7 +15309,7 @@ Versió %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Si connecteu este disc dur es millorarà de forma indirecta fent servir un nou disc dur diferenciat.</translation>
+        <translation type="unfinished">Si connecteu este disc dur es millorarà de forma indirecta fent servir un nou disc dur diferenciat.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14513,7 +15319,7 @@ Versió %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Este disc dur base es connecta indirectament fent servir el disc dur diferenciat següent:</translation>
+        <translation type="unfinished">Este disc dur base es connecta indirectament fent servir el disc dur diferenciat següent:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -15074,11 +15880,11 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Trieu un fitxer de disc virtual</translation>
+        <translation type="obsolete">Trieu un fitxer de disc virtual</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Tots els fitxers de disc virtuals (%1)</translation>
+        <translation type="obsolete">Tots els fitxers de disc virtuals (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15122,7 +15928,7 @@ Versió %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Trieu una ubicació per al fitxer de disc virtual nou</translation>
+        <translation type="obsolete">Trieu una ubicació per al fitxer de disc virtual nou</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -15302,25 +16108,27 @@ Versió %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -17114,7 +17922,7 @@ per accedir a ella des d'un sistema Linux. Esta característica requereix G
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostra els detalls de la captura seleccionada</translation>
+        <translation type="obsolete">Mostra els detalls de la captura seleccionada</translation>
     </message>
     <message>
         <source>[snapshot]</source>
@@ -17216,11 +18024,11 @@ per accedir a ella des d'un sistema Linux. Esta característica requereix G
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaura la captura seleccionada de la màquina virtual</translation>
+        <translation type="obsolete">Restaura la captura seleccionada de la màquina virtual</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Elimina la captura seleccionada de la màquina virtual</translation>
+        <translation type="obsolete">Elimina la captura seleccionada de la màquina virtual</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -17232,7 +18040,23 @@ per accedir a ella des d'un sistema Linux. Esta característica requereix G
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la màquina virtual seleccionada</translation>
+        <translation type="obsolete">Clona la màquina virtual seleccionada</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -17288,6 +18112,10 @@ per accedir a ella des d'un sistema Linux. Esta característica requereix G
             <numerusform>Avís: esteu fent una captura d'una màquina que té %n imatge immutables connectades. Mentre treballeu amb esta captura, les imatges immutables no es reiniciaran per evitar la pèrdua de dades.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Captura %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
index 659f44f..5ea70b6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts
@@ -312,7 +312,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Automaticky přizpůsobuje velikost hostované obrazovky podle velikosti okna (vyžaduje Přídavky pro hosta)</translation>
+        <translation type="obsolete">Automaticky přizpůsobuje velikost hostované obrazovky podle velikosti okna (vyžaduje Přídavky pro hosta)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -404,7 +404,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Pošle ACPI událost stisku tlačítka vypnutí virtuálnímu počítači</translation>
+        <translation type="obsolete">Pošle ACPI událost stisku tlačítka vypnutí virtuálnímu počítači</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -440,7 +440,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Změní nastavení síťových karet</translation>
+        <translation type="obsolete">Změní nastavení síťových karet</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -448,7 +448,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Otevře dialog pro správu sdílených složek</translation>
+        <translation type="obsolete">Otevře dialog pro správu sdílených složek</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -548,7 +548,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Spravuje nastavení pro virtuální počítač</translation>
+        <translation type="obsolete">Spravuje nastavení pro virtuální počítač</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -557,11 +557,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Předvolby...</translation>
+        <translation type="obsolete">&Předvolby...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Zobrazí globalní nastavení</translation>
+        <translation type="obsolete">Zobrazí globalní nastavení</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -589,7 +589,7 @@
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Obnoví stav dostupnosti vybraného virtuálního počítače</translation>
+        <translation type="obsolete">Obnoví stav dostupnosti vybraného virtuálního počítače</translation>
     </message>
     <message>
         <source>S&how</source>
@@ -613,7 +613,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Zobrazí soubory se záznamy vybraného virtuálního počítače</translation>
+        <translation type="obsolete">Zobrazí soubory se záznamy vybraného virtuálního počítače</translation>
     </message>
     <message>
         <source>&Import Appliance...</source>
@@ -633,7 +633,7 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">&Aktualizovat</translation>
+        <translation type="unfinished">&Aktualizovat</translation>
     </message>
     <message>
         <source>&Virtual Media Manager...</source>
@@ -659,7 +659,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Přidá existující virtuální počítač</translation>
+        <translation type="obsolete">Přidá existující virtuální počítač</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -671,7 +671,7 @@
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Zobrazit ve Finderu</translation>
+        <translation type="obsolete">Zobrazit ve Finderu</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -679,7 +679,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Vytvořit alias na ploše</translation>
+        <translation type="obsolete">Vytvořit alias na ploše</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -687,7 +687,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Zobrazit v průzkumníkovi</translation>
+        <translation type="obsolete">Zobrazit v průzkumníkovi</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -695,7 +695,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Vytvořit zástupce na ploše</translation>
+        <translation type="obsolete">Vytvořit zástupce na ploše</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -703,11 +703,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Zobrazit ve správci souborů</translation>
+        <translation type="obsolete">Zobrazit ve správci souborů</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Zobrazí konfigurační soubor pro virtuální počítač ve správci souborů</translation>
+        <translation type="obsolete">Zobrazí konfigurační soubor pro virtuální počítač ve správci souborů</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -715,7 +715,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Naklonuje vybraný virtuální počítač</translation>
+        <translation type="obsolete">Naklonuje vybraný virtuální počítač</translation>
     </message>
     <message>
         <source>D&iscard Saved State</source>
@@ -723,7 +723,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Vytvoří nový virtuální počítač</translation>
+        <translation type="obsolete">Vytvoří nový virtuální počítač</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -735,7 +735,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Sejme obrazovku virtuálního počítače</translation>
+        <translation type="obsolete">Sejme obrazovku virtuálního počítače</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -783,7 +783,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Zobrazí správce síťových operací</translation>
+        <translation type="obsolete">Zobrazí správce síťových operací</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -795,7 +795,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Zobrazí dialog s informacemi pro produktu</translation>
+        <translation type="obsolete">Zobrazí dialog s informacemi pro produktu</translation>
     </message>
     <message>
         <source>&Group</source>
@@ -803,7 +803,7 @@
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Přejmenuje vybranou skupinu virtuálních počítačů</translation>
+        <translation type="obsolete">Přejmenuje vybranou skupinu virtuálních počítačů</translation>
     </message>
     <message>
         <source>Break the selected virtual machine group</source>
@@ -811,11 +811,11 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Aktualizovat...</translation>
+        <translation type="obsolete">&Aktualizovat...</translation>
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Přidá novou skupinu založenou na vybraných položkách</translation>
+        <translation type="obsolete">Přidá novou skupinu založenou na vybraných položkách</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -823,7 +823,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>&Zahodit uložený stav...</translation>
+        <translation type="obsolete">&Zahodit uložený stav...</translation>
     </message>
     <message>
         <source>Sort the parent group of the first selected item alphabetically</source>
@@ -859,7 +859,7 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Setřídí položky vybraného virtuálního počítače podle abecedy</translation>
+        <translation type="obsolete">Setřídí položky vybraného virtuálního počítače podle abecedy</translation>
     </message>
     <message>
         <source>&Add Group...</source>
@@ -867,43 +867,43 @@
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Odstraní vybraný virtuální počítač</translation>
+        <translation type="obsolete">Odstraní vybraný virtuální počítač</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Spustí vybraný virtuální počítač</translation>
+        <translation type="obsolete">Spustí vybraný virtuální počítač</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Přepne do oken vybraných virtuálních počítačů</translation>
+        <translation type="obsolete">Přepne do oken vybraných virtuálních počítačů</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Pozastaví chod vybraných virtuálních počítačů</translation>
+        <translation type="obsolete">Pozastaví chod vybraných virtuálních počítačů</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Ŕesetuje vybrané virtuální počítače</translation>
+        <translation type="obsolete">Ŕesetuje vybrané virtuální počítače</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Zahodí uložený stav vybraných virtuálních počítačů</translation>
+        <translation type="obsolete">Zahodí uložený stav vybraných virtuálních počítačů</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Zobrazí konfigurační soubory virtuálního počítače ve Finderu</translation>
+        <translation type="obsolete">Zobrazí konfigurační soubory virtuálního počítače ve Finderu</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Zobrazí definici pro virtuální počítač v průzkumníkovi</translation>
+        <translation type="obsolete">Zobrazí definici pro virtuální počítač v průzkumníkovi</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Vytvoří alias pro definici virtuálního počítače na vaší ploše</translation>
+        <translation type="obsolete">Vytvoří alias pro definici virtuálního počítače na vaší ploše</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Pro konfigurační soubory virtuálního počítače.vytvoří zástupce na pracovní ploše</translation>
+        <translation type="obsolete">Pro konfigurační soubory virtuálního počítače.vytvoří zástupce na pracovní ploše</translation>
     </message>
     <message>
         <source>Sort Parent Group</source>
@@ -911,19 +911,19 @@
     </message>
     <message>
         <source>Save State</source>
-        <translation>Uložit stav</translation>
+        <translation type="obsolete">Uložit stav</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Uloží stavy vybraných virtuálních počítačů</translation>
+        <translation type="obsolete">Uloží stavy vybraných virtuálních počítačů</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Pošle ACPI událost stisku tlačítka vypnutí vybraným virtuálním počítačům</translation>
+        <translation type="obsolete">Pošle ACPI událost stisku tlačítka vypnutí vybraným virtuálním počítačům</translation>
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Vypne vybrané virtuální počítače</translation>
+        <translation type="obsolete">Vypne vybrané virtuální počítače</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -939,15 +939,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>&Rozdělit skupinu...</translation>
+        <translation type="obsolete">&Rozdělit skupinu...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Rozdělí položky vybrané skupiny virtuálních počítačů</translation>
+        <translation type="obsolete">Rozdělí položky vybrané skupiny virtuálních počítačů</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Setřídit</translation>
+        <translation type="obsolete">Setřídit</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -955,7 +955,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Setřídí skupinu první vybrané položky podle abecedy</translation>
+        <translation type="obsolete">Setřídí skupinu první vybrané položky podle abecedy</translation>
     </message>
     <message>
         <source>Drag'n'Drop</source>
@@ -963,7 +963,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Uloží stavy vybraných virtuálních počítačů</translation>
+        <translation type="obsolete">Uloží stavy vybraných virtuálních počítačů</translation>
     </message>
     <message>
         <source>&Network Settings...</source>
@@ -979,7 +979,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Přepíná povolení připojení vzdálené plochy (RDP) na tento počítač</translation>
+        <translation type="obsolete">Přepíná povolení připojení vzdálené plochy (RDP) na tento počítač</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -987,7 +987,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Zapíná nebo vypíná zachytávání videa</translation>
+        <translation type="obsolete">Zapíná nebo vypíná zachytávání videa</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -995,225 +995,289 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Nastavení pro zachytávání videa</translation>
+        <translation type="obsolete">Nastavení pro zachytávání videa</translation>
     </message>
     <message>
         <source>Popup Menu</source>
         <translation>Vyskakovací nabídka</translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Klávesnice</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Network</source>
+        <translation type="obsolete">Síť</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Zobrazit &záznam...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Klávesnice</translation>
+        <source>&File</source>
+        <translation type="unfinished">&Soubor</translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Síť</translation>
+        <source>Send the %1 sequence to the virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&USB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">Zobrazit &záznam...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Soubor</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Předvolby...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Pevné disky</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1225,9 +1289,181 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Monitor pro náhled %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Není připojené žádné USB zařízení</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">K hostitelskému PC není připojeno žádné podporované zařízení</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Zapnout</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1252,6 +1488,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1305,15 +1565,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Řadič disku IDE</translation>
+        <translation type="obsolete">Řadič disku IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Řadič disku SATA</translation>
+        <translation type="obsolete">Řadič disku SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Řadič disku SCSI</translation>
+        <translation type="obsolete">Řadič disku SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1370,16 +1630,32 @@
         <translation type="obsolete">MB</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
-        <translation>Řadič disku SAS</translation>
+        <source>Hard Disk Controller (SAS)</source>
+        <translation type="obsolete">Řadič disku SAS</translation>
+    </message>
+    <message>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <translation>Je-li zatrženo, bude všem nastavovaným síťovým kartám přidělena nová unikátní MAC adresa.</translation>
+    </message>
+    <message>
+        <source>&Reinitialize the MAC address of all network cards</source>
+        <translation>&Reinicializovat MAC adresy všech síťových karet</translation>
+    </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
-        <translation>Je-li zatrženo, bude všem nastavovaným síťovým kartám přidělena nová unikátní MAC adresa.</translation>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
-        <translation>&Reinicializovat MAC adresy všech síťových karet</translation>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2033,18 +2309,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Zahazuji data...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2162,33 +2435,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3461,7 +3707,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Určuje maximální šířku obrazovky, kterou bude možné host využívat.</translation>
+        <translation type="obsolete">Určuje maximální šířku obrazovky, kterou bude možné host využívat.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3469,7 +3715,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Určuje maximální výšku obrazovky, kterou bude možné host využívat.</translation>
+        <translation type="obsolete">Určuje maximální výšku obrazovky, kterou bude možné host využívat.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3503,11 +3749,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3535,11 +3789,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Přidá balíček</translation>
+        <translation type="obsolete">Přidá balíček</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Odebere balíček</translation>
+        <translation type="obsolete">Odebere balíček</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3557,6 +3811,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>&Balíčky s rozšířením</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3630,7 +3900,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>Spořič obrazovky &hotitele:</translation>
+        <translation type="obsolete">Spořič obrazovky &hotitele:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3638,7 +3908,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Zakázat při běhu virtuálních počítačů</translation>
+        <translation type="obsolete">Zakázat při běhu virtuálních počítačů</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3693,11 +3971,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Vypíše všechny dostupné klávesové zkratky které lze nastavit.</translation>
+        <translation type="obsolete">Vypíše všechny dostupné klávesové zkratky které lze nastavit.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Zadejte sekvenci k vyfiltrování seznamu klávesových zkratek.</translation>
+        <translation type="obsolete">Zadejte sekvenci k vyfiltrování seznamu klávesových zkratek.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3876,15 +4162,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Přidat síť pouze mezi &hostem</translation>
+        <translation type="obsolete">Přidat síť pouze mezi &hostem</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>O&debrat síť mezi hostem</translation>
+        <translation type="obsolete">O&debrat síť mezi hostem</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Upravit síť mezi hostem</translation>
+        <translation type="obsolete">&Upravit síť mezi hostem</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -4026,15 +4312,63 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Přidat NAT síť</translation>
+        <translation type="obsolete">&Přidat NAT síť</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Odebrat NAT síť </translation>
+        <translation type="obsolete">&Odebrat NAT síť </translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>&Upravit NAT síť</translation>
+        <translation type="obsolete">&Upravit NAT síť</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4148,7 +4482,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Ruční nastavení tohot rozhraní pro síť mezi hostitelem.</translation>
+        <translation type="obsolete">Ruční nastavení tohot rozhraní pro síť mezi hostitelem.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4192,7 +4526,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Indikuje, zda je povolen DHCP server při startu počítače nebo ne.</translation>
+        <translation type="obsolete">Indikuje, zda je povolen DHCP server při startu počítače nebo ne.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4226,6 +4560,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Zobrazuje horní hranici rozsahu adres, které bude DHCP server nabízet pro toto síťové rozhraní.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4239,7 +4581,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Povolí NAT síť.</translation>
+        <translation type="obsolete">Povolí NAT síť.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4267,7 +4609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Definuje zda síť podporuje DHCP.</translation>
+        <translation type="obsolete">Definuje zda síť podporuje DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4275,7 +4617,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Definuje zda síť podporuje IPv6.</translation>
+        <translation type="obsolete">Definuje zda síť podporuje IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4283,16 +4625,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Definuje zda tato síť bude vysílána jako výchozí pro rouvání IPv6.</translation>
+        <translation type="obsolete">Definuje zda tato síť bude vysílána jako výchozí pro rouvání IPv6.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Otevře dialog pro správu pravidel předávaných portů.</translation>
+        <translation type="obsolete">Otevře dialog pro správu pravidel předávaných portů.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&Předávání portů</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4325,7 +4687,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Změní port pro proxy.</translation>
+        <translation type="obsolete">Změní port pro proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4333,7 +4695,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Změní port pro proxy.</translation>
+        <translation type="obsolete">Změní port pro proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4367,6 +4729,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>Nyní není zadán žádný port proxy serveru.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4384,7 +4754,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Udává, jak často se bude kontrolovat nová verze. Pokud chcete kontrolu verzí kompletně zakázat, odškrtněte políčko výše.</translation>
+        <translation type="obsolete">Udává, jak často se bude kontrolovat nová verze. Pokud chcete kontrolu verzí kompletně zakázat, odškrtněte políčko výše.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4418,6 +4788,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Všechny nové a &testovací verze</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4712,7 +5086,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indikuje aktivitu virtuálních pevných disků:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indikuje aktivitu virtuálních pevných disků:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4798,7 +5172,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indikuje, zda je klávesnice odchytávána hostovaným OS (<img src=:/hostkey_captured_16px.png/>) či nikoliv (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indikuje, zda je klávesnice odchytávána hostovaným OS (<img src=:/hostkey_captured_16px.png/>) či nikoliv (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4844,6 +5218,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4864,11 +5247,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Monitor pro náhled %1</translation>
+        <translation type="obsolete">Monitor pro náhled %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Snímek %1</translation>
+        <translation type="obsolete">Snímek %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4904,32 +5287,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Není připojené žádné USB zařízení</translation>
+        <translation type="obsolete">Není připojené žádné USB zařízení</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>K hostitelskému PC není připojeno žádné podporované zařízení</translation>
+        <translation type="obsolete">K hostitelskému PC není připojeno žádné podporované zařízení</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Vyberte soubor pro uložení snímku obrazovky...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4947,7 +5314,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Ovládá výstupní zvukový ovladač. <b>Prázdný zvukový ovladač</b>ukáže hostovanému OS zvukovou kartu, ale všechny výstupy budou ignorovány.</translation>
+        <translation type="obsolete">Ovládá výstupní zvukový ovladač. <b>Prázdný zvukový ovladač</b>ukáže hostovanému OS zvukovou kartu, ale všechny výstupy budou ignorovány.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4957,6 +5324,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Zvolte typ virtuální zvukové karty. Na základě této hodnoty poskytne VirtualBox odpovídající ovladač pro virtuální počítač.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4966,7 +5337,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5022,7 +5393,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Určuje autentizační metodu VRDP.</translation>
+        <translation type="obsolete">Určuje autentizační metodu VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5030,7 +5401,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Určuje čas vypršení autentizace hosta v milisekundách.</translation>
+        <translation type="obsolete">Určuje čas vypršení autentizace hosta v milisekundách.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5046,7 +5417,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Zobrazuje číslo portu pro VRDP server. Můžete uvést <tt>0</tt> (nulu) pro nastavení čísla portu na standardní hodnotu 3389.</translation>
+        <translation type="obsolete">Zobrazuje číslo portu pro VRDP server. Můžete uvést <tt>0</tt> (nulu) pro nastavení čísla portu na standardní hodnotu 3389.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5058,11 +5429,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Udává, zda je povoleno více současných připojení k virtuálnímu počítači.</translation>
+        <translation type="obsolete">Udává, zda je povoleno více současných připojení k virtuálnímu počítači.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5102,7 +5473,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Toto nastavení obsahuje název soubor kam VirtualBox bude ukládat nahraný obsah.</translation>
+        <translation type="obsolete">Toto nastavení obsahuje název soubor kam VirtualBox bude ukládat nahraný obsah.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5110,15 +5481,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Udává nastavení pro rozlišení (velikost obrazu) pro ukládané video.</translation>
+        <translation type="obsolete">Udává nastavení pro rozlišení (velikost obrazu) pro ukládané video.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Udává nastavení pro <b>horizontalní</b>rozlišení (šířku obrazu) pro ukládané video.</translation>
+        <translation type="obsolete">Udává nastavení pro <b>horizontalní</b>rozlišení (šířku obrazu) pro ukládané video.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Udává nastavení pro <b>vertikální</b>rozlišení (výšku obrazu) pro ukládané video.</translation>
+        <translation type="obsolete">Udává nastavení pro <b>vertikální</b>rozlišení (výšku obrazu) pro ukládané video.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5126,7 +5497,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Udává maximální počet <b>snímků za sekundu</b>. Další rámce budou přeskočeny. Snížení této hodnoty znamená přeskočení snímků a tím zmenšení velikosti velikosti souboru.</translation>
+        <translation type="obsolete">Udává maximální počet <b>snímků za sekundu</b>. Další rámce budou přeskočeny. Snížení této hodnoty znamená přeskočení snímků a tím zmenšení velikosti velikosti souboru.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5134,11 +5505,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Udává <b>kvalitu</b>. Zvýšení této hodnoty zmanená lepší kvalitu videa na úkor zvýšené velikosti souboru.</translation>
+        <translation type="obsolete">Udává <b>kvalitu</b>. Zvýšení této hodnoty zmanená lepší kvalitu videa na úkor zvýšené velikosti souboru.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Nastavení udává bitrate v <b>kilobitech zasekundu</b>. Zvýšení této hodnoty zmanená lepší videa ale zvětšuje také velikosti souboru.</translation>
+        <translation type="obsolete">Nastavení udává bitrate v <b>kilobitech zasekundu</b>. Zvýšení této hodnoty zmanená lepší videa ale zvětšuje také velikosti souboru.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5150,7 +5521,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Virtuální počítač má aktuálně přiřazeno méně než <b>%1</b> video paměti, což je minimum vyžadované pro přepnutí do celoobrazovkového nebo bezešvého režimu.</translation>
+        <translation type="obsolete">Virtuální počítač má aktuálně přiřazeno méně než <b>%1</b> video paměti, což je minimum vyžadované pro přepnutí do celoobrazovkového nebo bezešvého režimu.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5209,7 +5580,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Povolí nahrávání videa pro obrazovku %1.</translation>
+        <translation type="obsolete">Povolí nahrávání videa pro obrazovku %1.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -5257,21 +5628,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">3D {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">3D {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5283,6 +5650,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5304,7 +5735,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Zobrazuje cestu, kam jsou ukládány snímky virtuálního počítače. Snímky můžou zabrat velké množství diskového prostoru.</translation>
+        <translation type="obsolete">Zobrazuje cestu, kam jsou ukládány snímky virtuálního počítače. Snímky můžou zabrat velké množství diskového prostoru.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5563,10 +5994,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5603,6 +6030,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5624,22 +6059,34 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Je-li zatrženo, bude se v celoobrazovkovém a bezešvém režimu zobrazovat malá nástrojová lišta.</translation>
+        <translation type="obsolete">Je-li zatrženo, bude se v celoobrazovkovém a bezešvém režimu zobrazovat malá nástrojová lišta.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Zobrazit v &celoobrazovkovém/bezešvém režimu</translation>
+        <translation type="obsolete">Zobrazit v &celoobrazovkovém/bezešvém režimu</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Je-li zatrženo, bude se mini nabídková lišta zobrazovat nahoře na obrazovce místo na výchozí pozici dole na obrazovce.</translation>
+        <translation type="obsolete">Je-li zatrženo, bude se mini nabídková lišta zobrazovat nahoře na obrazovce místo na výchozí pozici dole na obrazovce.</translation>
+    </message>
+    <message>
+        <source>Show at &Top of Screen</source>
+        <translation type="unfinished">Zobrazit na&hoře na obrazovce</translation>
+    </message>
+    <message>
+        <source>Allows to modify VM status-bar contents.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
-        <translation type="unfinished">Zobrazit na&hoře na obrazovce</translation>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5739,7 +6186,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Ovládá způsob, jakým bude virtuální karta připojena k reálné síti hostitelského OS.</translation>
+        <translation type="obsolete">Ovládá způsob, jakým bude virtuální karta připojena k reálné síti hostitelského OS.</translation>
     </message>
     <message>
         <source>Open additional options dialog for current attachment type.</source>
@@ -5783,7 +6230,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indikuje, zda je virtuální síťový kabel připojen k počítači při startu či nikoliv.</translation>
+        <translation type="obsolete">Indikuje, zda je virtuální síťový kabel připojen k počítači při startu či nikoliv.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5831,7 +6278,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Zobrazí nebo skryje další možnosti síťové karty.</translation>
+        <translation type="obsolete">Zobrazí nebo skryje další možnosti síťové karty.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5843,7 +6290,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Otevře dialog pro správu pravidel předávaných portů.</translation>
+        <translation type="obsolete">Otevře dialog pro správu pravidel předávaných portů.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5863,7 +6310,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Zde zadejte nastavení pro síťový ovladač, který používáte. Nastavení by mělo být ve formátu <b>název=hodnota</b> a je závislé na použitém ovladači. Pro zadání další položky použijte <b>shift-enter</>b>.</translation>
+        <translation type="obsolete">Zde zadejte nastavení pro síťový ovladač, který používáte. Nastavení by mělo být ve formátu <b>název=hodnota</b> a je závislé na použitém ovladači. Pro zadání další položky použijte <b>shift-enter</>b>.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5925,6 +6372,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Obahuje název NAT sítě, ke které bude připojena síťová karta. Sítě můžete přidávat a odebírat v okně s globálním nastavením sítě ve správci virtuálních počítačů.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6083,6 +6550,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Zobrazuje základní adresu I/O portu tohoto paralelního portu. Platné hodnoty jsou celá čísla v rozsahu od <tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Nyní není zadáno žádné IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Nyní není zadán žádný I/O port.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Dva nebo více portů mají stejné nastavení.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Není zadána cesta k portu.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Existují duplicitní cesty pro nastavené porty.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6100,23 +6587,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Nyní není zadáno žádné IRQ.</translation>
+        <translation type="obsolete">Nyní není zadáno žádné IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Nyní není zadán žádný I/O port.</translation>
+        <translation type="obsolete">Nyní není zadán žádný I/O port.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Dva nebo více portů mají stejné nastavení.</translation>
+        <translation type="obsolete">Dva nebo více portů mají stejné nastavení.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Není zadána cesta k portu.</translation>
+        <translation type="obsolete">Není zadána cesta k portu.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Existují duplicitní cesty pro nastavené porty.</translation>
+        <translation type="obsolete">Existují duplicitní cesty pro nastavené porty.</translation>
     </message>
 </context>
 <context>
@@ -6127,27 +6614,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Tabulka obsahuje seznam pravidel pro přesměrování portů.</translation>
+        <translation type="obsolete">Tabulka obsahuje seznam pravidel pro přesměrování portů.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Vložit nové pravidlo</translation>
+        <translation type="obsolete">Vložit nové pravidlo</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Zkopírovat vybrané pravidlo</translation>
+        <translation type="obsolete">Zkopírovat vybrané pravidlo</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Smazat vybrané pravidlo</translation>
+        <translation type="obsolete">Smazat vybrané pravidlo</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Tlačítko přidá nové pravidlo pro přesměrování portů.</translation>
+        <translation type="obsolete">Tlačítko přidá nové pravidlo pro přesměrování portů.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Tlačítko smaže smaže pravidlo pro přesměrování portů.</translation>
+        <translation type="obsolete">Tlačítko smaže smaže pravidlo pro přesměrování portů.</translation>
     </message>
 </context>
 <context>
@@ -6166,15 +6653,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Přidá definici nové sdílené složky.</translation>
+        <translation type="obsolete">Přidá definici nové sdílené složky.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Upraví definici vybrané sdílené složky.</translation>
+        <translation type="obsolete">Upraví definici vybrané sdílené složky.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Odstraní definici vybraného sdílené složky.</translation>
+        <translation type="obsolete">Odstraní definici vybraného sdílené složky.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6214,15 +6701,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Přidat s&dílenou složku</translation>
+        <translation type="obsolete">Přidat s&dílenou složku</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Upravit sdílenou složku</translation>
+        <translation type="obsolete">&Upravit sdílenou složku</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Ode&brat sdílenou složku</translation>
+        <translation type="obsolete">Ode&brat sdílenou složku</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6236,6 +6723,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Ano</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6285,7 +6796,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Je-li zatrženo, sdílená složka bude připojena stále.</translation>
+        <translation type="obsolete">Je-li zatrženo, sdílená složka bude připojena stále.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6333,7 +6848,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Ovládá pracovní režim tohoto sériového portu. Pokud zvolíte <b>Odpojen</b>, hostovaný OS najde sériový port, ale nebude schopen ho ovládat.</translation>
+        <translation type="obsolete">Ovládá pracovní režim tohoto sériového portu. Pokud zvolíte <b>Odpojen</b>, hostovaný OS najde sériový port, ale nebude schopen ho ovládat.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6364,10 +6879,6 @@ p, li { white-space: pre-wrap; }
         <translation>Zobrazuje základní adresu I/O portu tohoto sériového portu. Platné hodnoty jsou celá čísla v rozsahu od <tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6379,6 +6890,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Nyní není zadáno žádné IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Nyní není zadán žádný I/O port.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Dva nebo více portů mají stejné nastavení.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Není zadána cesta k portu.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Existují duplicitní cesty pro nastavené porty.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6396,23 +6935,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Nyní není zadáno žádné IRQ.</translation>
+        <translation type="obsolete">Nyní není zadáno žádné IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Nyní není zadán žádný I/O port.</translation>
+        <translation type="obsolete">Nyní není zadán žádný I/O port.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Dva nebo více portů mají stejné nastavení.</translation>
+        <translation type="obsolete">Dva nebo více portů mají stejné nastavení.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Není zadána cesta k portu.</translation>
+        <translation type="obsolete">Není zadána cesta k portu.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Existují duplicitní cesty pro nastavené porty.</translation>
+        <translation type="obsolete">Existují duplicitní cesty pro nastavené porty.</translation>
     </message>
 </context>
 <context>
@@ -6499,11 +7038,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Rozbalit/Sbalit&nbsp;položku</nobr></translation>
+        <translation type="obsolete"><nobr>Rozbalit/Sbalit&nbsp;položku</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Přidat&nbsp;pevný&nbsp;disk</nobr></translation>
+        <translation type="obsolete"><nobr>Přidat&nbsp;pevný&nbsp;disk</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6567,19 +7106,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Přidá nový řadič na konec stromu pro úložiště.</translation>
+        <translation type="obsolete">Přidá nový řadič na konec stromu pro úložiště.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Odebere vybraný řadič ze stromu pro úložiště.</translation>
+        <translation type="obsolete">Odebere vybraný řadič ze stromu pro úložiště.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Přidá nové připojení do stromu úložiště pod aktuálně vybraný řadič.</translation>
+        <translation type="obsolete">Přidá nové připojení do stromu úložiště pod aktuálně vybraný řadič.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Odebere vybrané připojení ze stromu úložiště.</translation>
+        <translation type="obsolete">Odebere vybrané připojení ze stromu úložiště.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6615,7 +7154,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Obsahuje všechny řadiče na tomto počítači a k nim připojené disky jednotlivých virtuálních počítačů.</translation>
+        <translation type="obsolete">Obsahuje všechny řadiče na tomto počítači a k nim připojené disky jednotlivých virtuálních počítačů.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6635,7 +7174,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Změní název aktuálně vybraného řadiče ve stromu pro úložiště.</translation>
+        <translation type="obsolete">Změní název aktuálně vybraného řadiče ve stromu pro úložiště.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6703,7 +7242,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Dovoluje využít možnosti I/O cache pro hostitele.</translation>
+        <translation type="obsolete">Dovoluje využít možnosti I/O cache pro hostitele.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6735,7 +7274,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Obraz</translation>
+        <translation type="obsolete">Obraz</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6743,7 +7282,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Nastaví virtuální pevný disk</translation>
+        <translation type="obsolete">Nastaví virtuální pevný disk</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6767,15 +7306,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Nastaví virtuální disketovou mechaniku</translation>
+        <translation type="obsolete">Nastaví virtuální disketovou mechaniku</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Vytvořit nový pevný disk...</translation>
+        <translation type="obsolete">Vytvořit nový pevný disk...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Vyberte virtuální obraz disku...</translation>
+        <translation type="obsolete">Vyberte virtuální obraz disku...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6787,11 +7326,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Vybrat soubor s obrazem virtuální diskety...</translation>
+        <translation type="obsolete">Vybrat soubor s obrazem virtuální diskety...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Je-li zatrženo, bude virtuální disk v při vysunutí v hostitelském systému odpojen.</translation>
+        <translation type="obsolete">Je-li zatrženo, bude virtuální disk v při vysunutí v hostitelském systému odpojen.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6799,7 +7338,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Je-li zatrženo, bude virtuální disk v hostitelském operačním systému vidět jako solid state disk.</translation>
+        <translation type="obsolete">Je-li zatrženo, bude virtuální disk v hostitelském operačním systému vidět jako solid state disk.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6868,47 +7407,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Vybrat soubor s virtuálním diskem...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Vybrat soubor s virtuálním diskem...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Obraz</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6940,12 +7548,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6978,7 +7586,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Posunout dolů (Ctrl-Dolů)</translation>
+        <translation type="obsolete">Posunout dolů (Ctrl-Dolů)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6986,7 +7594,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Posunout nahoru (Ctrl-Nahoru)</translation>
+        <translation type="obsolete">Posunout nahoru (Ctrl-Nahoru)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7059,7 +7667,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7071,7 +7679,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Pokud je zatrženo, bude RTC zařízení ukazovat čas v UTC, jinak bude v lokálním formátu. Operační systém Unix obvykle očekává čas ve formátu UTC.</translation>
+        <translation type="obsolete">Pokud je zatrženo, bude RTC zařízení ukazovat čas v UTC, jinak bude v lokálním formátu. Operační systém Unix obvykle očekává čas ve formátu UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7120,12 +7728,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7199,56 +7807,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Přidat prá&zdný filtr</translation>
+        <translation type="obsolete">Přidat prá&zdný filtr</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Při&dat filtr ze zařízení</translation>
+        <translation type="obsolete">Při&dat filtr ze zařízení</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Upravit filtr</translation>
+        <translation type="obsolete">&Upravit filtr</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>O&debrat filtr</translation>
+        <translation type="obsolete">O&debrat filtr</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Posunout filtr na&horu</translation>
+        <translation type="obsolete">Posunout filtr na&horu</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Posunout filtr do&lů</translation>
+        <translation type="obsolete">Posunout filtr do&lů</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Přidá filtr pro USB s hodnotami nastavenými na prázdné. Poznámka: takový filtr bude odpovídat všem připojeným USB zařízením.</translation>
+        <translation type="obsolete">Přidá filtr pro USB s hodnotami nastavenými na prázdné. Poznámka: takový filtr bude odpovídat všem připojeným USB zařízením.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Přidá nový USB filtr se všemi políčky nastavenými na hodnoty vybraného USB zařízení připojeného k hostitelskému PC.</translation>
+        <translation type="obsolete">Přidá nový USB filtr se všemi políčky nastavenými na hodnoty vybraného USB zařízení připojeného k hostitelskému PC.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Upraví vybraný USB filter.</translation>
+        <translation type="obsolete">Upraví vybraný USB filter.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Odstraní vybraný USB filtr.</translation>
+        <translation type="obsolete">Odstraní vybraný USB filtr.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Posune vybraný USB filtr nahoru.</translation>
+        <translation type="obsolete">Posune vybraný USB filtr nahoru.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Posune vybraný USB filtr dolů.</translation>
+        <translation type="obsolete">Posune vybraný USB filtr dolů.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7265,7 +7899,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Je-li zatrženo, povolí virtuální USB EHCI řadič tomuto počítači. USB EHCI řadič poskytuje podporu pro USB 2.0.</translation>
+        <translation type="obsolete">Je-li zatrženo, povolí virtuální USB EHCI řadič tomuto počítači. USB EHCI řadič poskytuje podporu pro USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7332,27 +7966,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Pro tento virtuální počítač je povolena podpora USB 2.0. Je ale potřeba doinstalovat <b>%1</b>. Prosíme doinstalujte rozšíření z webových stránek aplikace VirtualBox. Po instalaci bude možno použít USB 2.0, která je nyní do změny nastavení zakázána.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7387,7 +8073,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definuje filtr pro ID dodavatele. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr pro ID dodavatele. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7395,7 +8081,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definuje filtr pro ID produktu. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr pro ID produktu. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7403,7 +8089,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Definuje filtr podle čísla revize. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr podle čísla revize. Řetězec <i>přesné shody</i> má formát <tt>XXXX</tt> kde <tt>X</tt> je hexadecimální číslice. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7411,7 +8097,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definuje filtr výrobce jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr výrobce jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7419,7 +8105,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definuje filtr pro název produktu jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr pro název produktu jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7427,7 +8113,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definuje filtr podle sériového čísla jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr podle sériového čísla jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7435,7 +8121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definuje filtr podle čísla USB portu jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
+        <translation type="obsolete">Definuje filtr podle čísla USB portu jako <i>přesnou shodu</i> řetězců. Prázdný řetězec značí jakoukoliv shodu.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7443,7 +8129,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Definuje, zda bude tento filtr aplikován na USB zařízení připojené k lokálnímu počítači (<i>Ne</i>), na VRDP klienty (<i>Ano</i>) nebo na oboje (<i>Jakýkoliv</i>).</translation>
+        <translation type="obsolete">Definuje, zda bude tento filtr aplikován na USB zařízení připojené k lokálnímu počítači (<i>Ne</i>), na VRDP klienty (<i>Ano</i>) nebo na oboje (<i>Jakýkoliv</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7457,6 +8143,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Detaily USB filtru</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7476,7 +8194,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Pevné disky</translation>
+        <translation type="obsolete">&Pevné disky</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7495,7 +8213,11 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Za&vřít</translation>
     </message>
     <message>
-        <source>Removing medium...</source>
+        <source>Removing medium...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard disks</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -8143,7 +8865,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Nepodařilo se přejít do celobrazovkového režimu kvůli nedostatečné video paměti hosta.</p><p>Nastavte virtuální počítač tak, aby měl alespoň <b>%1</b> video paměti.</p><p>Stiskněte tlačítko<b>Ignorovat</b> pro přepnutí do celoobrazovkého režimu nebo <b>Zrušit</b>pro zrušení této oprace.</p></translation>
+        <translation type="obsolete"><p>Nepodařilo se přejít do celobrazovkového režimu kvůli nedostatečné video paměti hosta.</p><p>Nastavte virtuální počítač tak, aby měl alespoň <b>%1</b> video paměti.</p><p>Stiskněte tlačítko<b>Ignorovat</b> pro přepnutí do celoobrazovkého režimu nebo <b>Zrušit</b>pro zrušení této oprace.</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8309,7 +9031,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Chcete smazat úložiště pevného disku <nobr><b>%1</b>?</nobr></p><p>Pokud zvolíte <b>Smazat</b>, bude obraz po odhlášení trvale smazán. Tuto operaci nelze vrátit.</p><p>Pokud zvolíte <b>Ponechat</b>, bude virtuální pevný disk odstraněn ze seznamu, ale obraz bude ponechán na vašem fyzickém disku a lze jej opět později do seznamu přidat.</p></translation>
+        <translation type="obsolete"><p>Chcete smazat úložiště pevného disku <nobr><b>%1</b>?</nobr></p><p>Pokud zvolíte <b>Smazat</b>, bude obraz po odhlášení trvale smazán. Tuto operaci nelze vrátit.</p><p>Pokud zvolíte <b>Ponechat</b>, bude virtuální pevný disk odstraněn ze seznamu, ale obraz bude ponechán na vašem fyzickém disku a lze jej opět později do seznamu přidat.</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8490,7 +9212,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Smazáním snímku budou také odstraněny informace o stavu a uložená data na discích, která byla použita ve snímku budou spojena do jednoho souboru. To může být zdlouhavý proces a informace o snímku již potom nelze obnovit.</p><p>Opravdu chcete smazat vybraný snímek <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Smazáním snímku budou také odstraněny informace o stavu a uložená data na discích, která byla použita ve snímku budou spojena do jednoho souboru. To může být zdlouhavý proces a informace o snímku již potom nelze obnovit.</p><p>Opravdu chcete smazat vybraný snímek <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8621,7 +9343,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Smazání snímku %1 vyžaduje dočasně více diskového prostoru. V nejhorším případě velikost obrazu %2 naroste až na %3, ale na souborovém systému je pouze %4 volného místa.</p><p>Pokud během operace dojde místo na disku, může to vést k poškození obrazu a nastavení pro virtuální počítač. </p><p>Můžete pokračovat v mazání na vlastní riziko.</p></translation>
+        <translation type="obsolete"><p>Smazání snímku %1 vyžaduje dočasně více diskového prostoru. V nejhorším případě velikost obrazu %2 naroste až na %3, ale na souborovém systému je pouze %4 volného místa.</p><p>Pokud během operace dojde místo na disku, může to vést k poškození obrazu a nastavení pro virtuální počítač. </p><p>Můžete pokračovat v mazání na vlastní riziko.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8793,7 +9515,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Okno virtuálního počítače bude přepnuto do režimu <b>celé obrazovky</b>. Můžete jít zpět do režimu okna stiskem <b>%1</b>. Upozorňujeme, že <i>Host</i> klávesa je právě nastavena na <b>%2</b>.</p><p>Upozorňujeme, že panel hlavní nabídky je v režimu celé obrazovky skrytý. Můžete ho zpřístupnit stiskem <b>Host+Home</b>.</p></translation>
+        <translation type="obsolete"><p>Okno virtuálního počítače bude přepnuto do režimu <b>celé obrazovky</b>. Můžete jít zpět do režimu okna stiskem <b>%1</b>. Upozorňujeme, že <i>Host</i> klávesa je právě nastavena na <b>%2</b>.</p><p>Upozorňujeme, že panel hlavní nabídky je v režimu celé obrazovky skrytý. Můžete ho zpřístupnit stiskem <b>Host+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9056,7 +9778,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Vytváříte nový virtuální počítač bez pevného disku. Pokud do něj nějaký pevný disk nepřidáte, nebude možné nainstalovat operační systém. Bude možné spustit virtuální počítač pouze pomocí virtuálního optického disku nebo ze sítě.</translation>
+        <translation type="obsolete">Vytváříte nový virtuální počítač bez pevného disku. Pokud do něj nějaký pevný disk nepřidáte, nebude možné nainstalovat operační systém. Bude možné spustit virtuální počítač pouze pomocí virtuálního optického disku nebo ze sítě.</translation>
     </message>
     <message>
         <source><p>Could not find the VirtualBox Guest Additions disk image file file.</nobr></p><p>Do you wish to download this disk image file from the Internet?</p></source>
@@ -9172,15 +9894,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Jste si jistí, že chcete uvolnit virtuální pevný disk <nobr><b>%1</b></nobr>?</p><p>Bude odpojen od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Jste si jistí, že chcete uvolnit virtuální pevný disk <nobr><b>%1</b></nobr>?</p><p>Bude odpojen od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Jste si jistí, že chcete uvolnit optický disk <nobr><b>%1</b></nobr>?</p><p>Bude odpojen od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Jste si jistí, že chcete uvolnit optický disk <nobr><b>%1</b></nobr>?</p><p>Bude odpojen od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Jste si jistí, že chcete uvolnit virtuální disketovou mechaniku <nobr><b>%1</b></nobr>?</p><p>Bude odpojena od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Jste si jistí, že chcete uvolnit virtuální disketovou mechaniku <nobr><b>%1</b></nobr>?</p><p>Bude odpojena od tohoto virtuálního počítače(čů): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -9224,27 +9946,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Nepodařilo se otevřít obraz virtuálního pevného disku <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se otevřít obraz virtuálního pevného disku <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Nepodařilo se otevřít obraz virtuálního optického disku <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se otevřít obraz virtuálního optického disku <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Nepodařilo se otevřít obraz virtuální disketové mechaniky <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se otevřít obraz virtuální disketové mechaniky <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Nepodařilo se zavřít soubor s obrazem virtuálního pevného disku <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se zavřít soubor s obrazem virtuálního pevného disku <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Nepodařilo se zavřít soubor s obrazem virtuálního optického disku <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se zavřít soubor s obrazem virtuálního optického disku <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Nepodařilo se zavřít soubor s obrazem virtuální disketové mechaniky <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Nepodařilo se zavřít soubor s obrazem virtuální disketové mechaniky <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9373,10 +10095,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9448,6 +10166,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10552,27 +11310,82 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Název</translation>
+        <translation type="obsolete">Název</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP adresa hostitele</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Port hostitele</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP adresa hosta</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Port hosta</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokol</translation>
+        <translation type="unfinished">Protokol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP adresa hostitele</translation>
+        <translation type="unfinished">IP adresa hostitele</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Port hostitele</translation>
+        <translation type="unfinished">Port hostitele</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP adresa hosta</translation>
+        <translation type="unfinished">IP adresa hosta</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Port hosta</translation>
+        <translation type="unfinished">Port hosta</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10876,13 +11689,6 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10892,6 +11698,10 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11445,7 +12255,7 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Kopírování virtuálního pevného disku</translation>
+        <translation type="obsolete">Kopírování virtuálního pevného disku</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11453,43 +12263,43 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Pevný disk pro kopírování</translation>
+        <translation type="obsolete">Pevný disk pro kopírování</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Vyberte prosím virtuální disk, který chce zkopírovat. Můžete si vybrat ze seznamu nebo pomocí ikony vedle seznamu otevřít složku a vybrat soubor s virtuálním pevným diskem.</p></translation>
+        <translation type="obsolete"><p>Vyberte prosím virtuální disk, který chce zkopírovat. Můžete si vybrat ze seznamu nebo pomocí ikony vedle seznamu otevřít složku a vybrat soubor s virtuálním pevným diskem.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Vyberte soubor s virtuálním pevným diskem...</translation>
+        <translation type="obsolete">Vyberte soubor s virtuálním pevným diskem...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Typ souboru s pevným diskem</translation>
+        <translation type="obsolete">Typ souboru s pevným diskem</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Zvolte prosím soubor, který budete chtít použít pro nový virtuální pevný disk. Pokud jej máte již vytvořen jiným virtualizačním software, můžete toto nastavení nechat beze změny.</translation>
+        <translation type="obsolete">Zvolte prosím soubor, který budete chtít použít pro nový virtuální pevný disk. Pokud jej máte již vytvořen jiným virtualizačním software, můžete toto nastavení nechat beze změny.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Úložiště na fyzickém pevném disku</translation>
+        <translation type="obsolete">Úložiště na fyzickém pevném disku</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Vyberte prosím zda virtuální pevný disk se bude zvětšovat podle potřeby (dynamicky alokovaný) nebo zda jeho velikost bude pevně dána (pevná velikost).</translation>
+        <translation type="obsolete">Vyberte prosím zda virtuální pevný disk se bude zvětšovat podle potřeby (dynamicky alokovaný) nebo zda jeho velikost bude pevně dána (pevná velikost).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Dynamicky alokovaný</b> virtuální disk bude zabírat na fyzickém disku místo tak jak bude zaplněn (do definované <b>maximální velikosti</b>), ale nebude automaticky zmenšen pokud se v něm místo uvolní.</p></translation>
+        <translation type="obsolete"><p><b>Dynamicky alokovaný</b> virtuální disk bude zabírat na fyzickém disku místo tak jak bude zaplněn (do definované <b>maximální velikosti</b>), ale nebude automaticky zmenšen pokud se v něm místo uvolní.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Vytvoření virtuálního disku s <b>pevnou velikostí</b> může na některých systémech trvat déle ale používá se častěji.</p></translation>
+        <translation type="obsolete"><p>Vytvoření virtuálního disku s <b>pevnou velikostí</b> může na některých systémech trvat déle ale používá se častěji.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Můžete si zvolit <b>rozdělení</b> souboru s virtuálním diskem na několik částí menších než dva gigabajty. To je především vhodné pokud budete ukládat virtuální disk na USB zařízení nebo starší systémy, které mají problém s načtením tak velkých souborů.</translation>
+        <translation type="obsolete"><p>Můžete si zvolit <b>rozdělení</b> souboru s virtuálním diskem na několik částí menších než dva gigabajty. To je především vhodné pokud budete ukládat virtuální disk na USB zařízení nebo starší systémy, které mají problém s načtením tak velkých souborů.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11504,20 +12314,16 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
         <translation>&Rozdělit na soubory o velikosti menší než 2GB</translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>New hard drive to create</source>
-        <translation>Vytvoření nového virtuálního pevného disku</translation>
+        <translation type="obsolete">Vytvoření nového virtuálního pevného disku</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Zadejte prosím název nového virtuálního pevného disku do políčka níže nebo klepněte na ikonku pro výběr jiné složky kde bude soubor vytvořen.</translation>
+        <translation type="obsolete">Zadejte prosím název nového virtuálního pevného disku do políčka níže nebo klepněte na ikonku pro výběr jiné složky kde bude soubor vytvořen.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Zvolte umístění nového souboru s virtuálním pevným diskem...</translation>
+        <translation type="obsolete">Zvolte umístění nového souboru s virtuálním pevným diskem...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11526,15 +12332,87 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Pevný disk pro &kopírování</translation>
+        <translation type="obsolete">Pevný disk pro &kopírování</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Vytvořit nový pevný disk</translation>
+        <translation type="obsolete">&Vytvořit nový pevný disk</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Typ souboru pro virtuální disk</translation>
+        <translation type="obsolete">&Typ souboru pro virtuální disk</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11577,7 +12455,7 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Prosím zvolte typ klonu, který chcete vytvořit.</p><p>Pokud zvolíte <b>Plný klon</b> bude vytvořena kompletní kopie původního virtuálního počítače (včetně všech virtuálních pevných disků).</p><p>Pokud zvolíte <b>Propojený klon</b> bude nově vytvořený počítač mít propojeny disky s původním virtuálním počítačem a nebude tak možné přesunout nový virtuální počítač na jiný hostitelský počítač bez přesunu původního v [...]
+        <translation type="obsolete"><p>Prosím zvolte typ klonu, který chcete vytvořit.</p><p>Pokud zvolíte <b>Plný klon</b> bude vytvořena kompletní kopie původního virtuálního počítače (včetně všech virtuálních pevných disků).</p><p>Pokud zvolíte <b>Propojený klon</b> bude nově vytvořený počítač mít propojeny disky s původním virtuálním počítačem a nebude tak možné přesunout nový virtuální počítač na jiný hostitelský počítač bez pře [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11635,6 +12513,10 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
         <source>&Linked Clone</source>
         <translation>P&ropojený klon</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11911,7 +12793,7 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Vytvoření pevného disku</translation>
+        <translation type="obsolete">Vytvoření pevného disku</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11919,31 +12801,31 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Typ souboru s pevným diskem</translation>
+        <translation type="obsolete">Typ souboru s pevným diskem</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Zvolte prosím soubor, který budete chtít použít pro nový virtuální pevný disk. Pokud jej máte již vytvořen jiným virtualizačním software, můžete toto nastavení nechat beze změny.</translation>
+        <translation type="obsolete">Zvolte prosím soubor, který budete chtít použít pro nový virtuální pevný disk. Pokud jej máte již vytvořen jiným virtualizačním software, můžete toto nastavení nechat beze změny.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Úložiště na fyzickém pevném disku</translation>
+        <translation type="obsolete">Úložiště na fyzickém pevném disku</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Vyberte prosím zda virtuální pevný disk se bude zvětšovat podle potřeby (dynamicky alokovaný) nebo zda jeho velikost bude pevně dána (pevná velikost).</translation>
+        <translation type="obsolete">Vyberte prosím zda virtuální pevný disk se bude zvětšovat podle potřeby (dynamicky alokovaný) nebo zda jeho velikost bude pevně dána (pevná velikost).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Dynamicky alokovaný</b> virtuální disk bude zabírat na fyzickém disku místo tak jak bude zaplněn (do definované <b>maximální velikosti</b>), ale nebude automaticky zmenšen pokud se v něm místo uvolní.</p></translation>
+        <translation type="obsolete"><p><b>Dynamicky alokovaný</b> virtuální disk bude zabírat na fyzickém disku místo tak jak bude zaplněn (do definované <b>maximální velikosti</b>), ale nebude automaticky zmenšen pokud se v něm místo uvolní.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Vytvoření virtuálního disku s <b>pevnou velikostí</b> může na některých systémech trvat déle ale používá se častěji.</p></translation>
+        <translation type="obsolete"><p>Vytvoření virtuálního disku s <b>pevnou velikostí</b> může na některých systémech trvat déle ale používá se častěji.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Můžete si zvolit <b>rozdělení</b> souboru s virtuálním diskem na několik částí menších než dva gigabajty. To je především vhodné pokud budete ukládat virtuální disk na USB zařízení nebo starší systémy, které mají problém s načtením tak velkých souborů.</translation>
+        <translation type="obsolete"><p>Můžete si zvolit <b>rozdělení</b> souboru s virtuálním diskem na několik částí menších než dva gigabajty. To je především vhodné pokud budete ukládat virtuální disk na USB zařízení nebo starší systémy, které mají problém s načtením tak velkých souborů.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11967,15 +12849,15 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Zadejte prosím název nového virtuálního pevného disku do políčka níže nebo klepněte na ikonku pro výběr jiné složky kde bude soubor vytvořen.</translation>
+        <translation type="obsolete">Zadejte prosím název nového virtuálního pevného disku do políčka níže nebo klepněte na ikonku pro výběr jiné složky kde bude soubor vytvořen.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Zvolte umístění nového souboru s virtuálním pevným diskem...</translation>
+        <translation type="obsolete">Zvolte umístění nového souboru s virtuálním pevným diskem...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Zvolte velikost virtuálního pevného disku v megabytech. Velikost je limitována velikostí souboru, který je virtuální počítač schopen uložit na pevném disku.</translation>
+        <translation type="obsolete">Zvolte velikost virtuálního pevného disku v megabytech. Velikost je limitována velikostí souboru, který je virtuální počítač schopen uložit na pevném disku.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11987,7 +12869,55 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Typ souboru pro virtuální disk</translation>
+        <translation type="obsolete">&Typ souboru pro virtuální disk</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12038,11 +12968,11 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Pevný disk</translation>
+        <translation type="obsolete">Pevný disk</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Zde se do virtuálního počítače přidává virtuální pevný disk. Můžete ho buď vytvořit, vybrat ze seznamu již existujících nebo vybrat složku, kde je uložen. </p><p>Pokud potřebujete detailněji nastavit úložiště, můžete tento krok přeskočit a změny provést až bude virtuální počítač vytvořen.</p><p>Doporučená velikost virtuálního pevného disku je <b>%1</b>.</p></translation>
+        <translation type="obsolete"><p>Zde se do virtuálního počítače přidává virtuální pevný disk. Můžete ho buď vytvořit, vybrat ze seznamu již existujících nebo vybrat složku, kde je uložen. </p><p>Pokud potřebujete detailněji nastavit úložiště, můžete tento krok přeskočit a změny provést až bude virtuální počítač vytvořen.</p><p>Doporučená velikost virtuálního pevného disku je <b>%1</b>.</p></translation>
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -12058,7 +12988,7 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Vyberte soubor s virtuálním pevným diskem...</translation>
+        <translation type="obsolete">Vyberte soubor s virtuálním pevným diskem...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12066,15 +12996,39 @@ krok a připojit pevné disky později použitím dialogu Nastavení VM.</p&g
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>&Nepřidávat vituální pevný disk</translation>
+        <translation type="obsolete">&Nepřidávat vituální pevný disk</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Vytvořit virtuální pevný disk nyní</translation>
+        <translation type="obsolete">&Vytvořit virtuální pevný disk nyní</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Použít existující soubor s virtuálním pevným diskem</translation>
+        <translation type="obsolete">&Použít existující soubor s virtuálním pevným diskem</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13216,7 +14170,7 @@ Verze %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Otevře dialog pro výběr jiné složky.</translation>
+        <translation type="obsolete">Otevře dialog pro výběr jiné složky.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13224,7 +14178,7 @@ Verze %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Otevře dialog pro výběr jiného souboru.</translation>
+        <translation type="obsolete">Otevře dialog pro výběr jiného souboru.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13236,16 +14190,32 @@ Verze %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Zadejte sem prosím požadovanou cestu ke složce.</translation>
+        <translation type="obsolete">Zadejte sem prosím požadovanou cestu ke složce.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Zadejte sem prosím požadovanou cestu ke složce.</translation>
+        <translation type="obsolete">Zadejte sem prosím požadovanou cestu ke složce.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -15002,11 +15972,11 @@ Verze %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Vyberte soubor s virtuálním pevným diskem</translation>
+        <translation type="obsolete">Vyberte soubor s virtuálním pevným diskem</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Všechny soubory s virtuálními pevnými disky (%1)</translation>
+        <translation type="obsolete">Všechny soubory s virtuálními pevnými disky (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15050,7 +16020,7 @@ Verze %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Zvolte prosím umístění pro soubor s novým vituálním pevným diskem</translation>
+        <translation type="obsolete">Zvolte prosím umístění pro soubor s novým vituálním pevným diskem</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -15250,25 +16220,37 @@ Verze %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -16723,7 +17705,7 @@ pro přístup z Linuxových OS. Tato funkce vyžaduje Přídavky pro hosta.</
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Zobrazí detaily vybraného snímku</translation>
+        <translation type="obsolete">Zobrazí detaily vybraného snímku</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -16771,11 +17753,11 @@ pro přístup z Linuxových OS. Tato funkce vyžaduje Přídavky pro hosta.</
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Obnoví vybraný snímek virtuálního počítače</translation>
+        <translation type="obsolete">Obnoví vybraný snímek virtuálního počítače</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Smaže vybraný snímek virtuálního počítače</translation>
+        <translation type="obsolete">Smaže vybraný snímek virtuálního počítače</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -16787,7 +17769,23 @@ pro přístup z Linuxových OS. Tato funkce vyžaduje Přídavky pro hosta.</
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Naklonuje vybraný virtuální počítač</translation>
+        <translation type="obsolete">Naklonuje vybraný virtuální počítač</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -16831,6 +17829,10 @@ pro přístup z Linuxových OS. Tato funkce vyžaduje Přídavky pro hosta.</
             <numerusform>Varování: Chystáte se sejmout snímek z virtuálního počítače, který má připojeno %n nesmazatelných obrazů. Dokud budete pracovat s tímto snímkem nebude možné nesmazatelné disky obnovit aby jste nepřišli o data.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Snímek %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
index aed6291..b46cdb6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_da.ts
@@ -263,7 +263,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Tilpas gæstens skærmopløsning automatisk, når størrelsen af vinduet ændres (kræver Guest Additions)</translation>
+        <translation type="obsolete">Tilpas gæstens skærmopløsning automatisk, når størrelsen af vinduet ændres (kræver Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -355,7 +355,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Sender kommandoen "ACPI-sluk" til den virtuelle maskine</translation>
+        <translation type="obsolete">Sender kommandoen "ACPI-sluk" til den virtuelle maskine</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -391,7 +391,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Tilpas indstillinger for netværkskort</translation>
+        <translation type="obsolete">Tilpas indstillinger for netværkskort</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -399,7 +399,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Opret eller tilpas delte mapper</translation>
+        <translation type="obsolete">Opret eller tilpas delte mapper</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -548,7 +548,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Håndter den valgte virtuelle maskine</translation>
+        <translation type="obsolete">Håndter den valgte virtuelle maskine</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -556,7 +556,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Vis logfilerne fra den valgte virtuelle maskine</translation>
+        <translation type="obsolete">Vis logfilerne fra den valgte virtuelle maskine</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -580,7 +580,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Vis Netværkshåndtering</translation>
+        <translation type="obsolete">Vis Netværkshåndtering</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -592,7 +592,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Vis vindue med produktinformation</translation>
+        <translation type="obsolete">Vis vindue med produktinformation</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -604,7 +604,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Tag et skærmbillede af den virtuelle maskine</translation>
+        <translation type="obsolete">Tag et skærmbillede af den virtuelle maskine</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -647,11 +647,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>Indstillinger...</translation>
+        <translation type="obsolete">Indstillinger...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Vis globale indstillinger</translation>
+        <translation type="obsolete">Vis globale indstillinger</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -667,15 +667,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Opret en ny virtuel maskine</translation>
+        <translation type="obsolete">Opret en ny virtuel maskine</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Tilføj en eksisterende virtuel maskine</translation>
+        <translation type="obsolete">Tilføj en eksisterende virtuel maskine</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Omdøb den valgte gruppe af virtuelle maskiner</translation>
+        <translation type="obsolete">Omdøb den valgte gruppe af virtuelle maskiner</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -695,15 +695,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Op&frisk...</translation>
+        <translation type="obsolete">Op&frisk...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Opfrisk tilgængeligheden af den valgte virtuelle maskine</translation>
+        <translation type="obsolete">Opfrisk tilgængeligheden af den valgte virtuelle maskine</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Vis i Finder</translation>
+        <translation type="obsolete">Vis i Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -711,7 +711,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Vis i Stifinder</translation>
+        <translation type="obsolete">Vis i Stifinder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -719,11 +719,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Vis i Filhåndtering</translation>
+        <translation type="obsolete">Vis i Filhåndtering</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Vis VirtualBox maskindefinitionsfilen i Filhåndtering</translation>
+        <translation type="obsolete">Vis VirtualBox maskindefinitionsfilen i Filhåndtering</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -735,7 +735,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Tilføj en ny gruppe baseret på de valgte punkter</translation>
+        <translation type="obsolete">Tilføj en ny gruppe baseret på de valgte punkter</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -743,7 +743,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Klon den valgte virtuelle maskine</translation>
+        <translation type="obsolete">Klon den valgte virtuelle maskine</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -759,7 +759,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Kassér gemt t&ilstand...</translation>
+        <translation type="obsolete">Kassér gemt t&ilstand...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -767,7 +767,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Opret alias på skrivebordet</translation>
+        <translation type="obsolete">Opret alias på skrivebordet</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -775,7 +775,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Opret genvej på skrivebordet</translation>
+        <translation type="obsolete">Opret genvej på skrivebordet</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -807,59 +807,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Vis medlemmerne af den valgte virtuel maskingruppe i alfabetisk orden</translation>
+        <translation type="obsolete">Vis medlemmerne af den valgte virtuel maskingruppe i alfabetisk orden</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Fjern de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Fjern de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Start de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Start de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Skift til de valgte virtuelle maskiners vinduer</translation>
+        <translation type="obsolete">Skift til de valgte virtuelle maskiners vinduer</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspendér afviklingen af de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Suspendér afviklingen af de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Nulstil de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Nulstil de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Kassér den gemte tilstand af de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Kassér den gemte tilstand af de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Vis VirtualBox maskindefinitionsfilen i Finder</translation>
+        <translation type="obsolete">Vis VirtualBox maskindefinitionsfilen i Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Vis VirtualBox maskindefinitionsfil i Stifinder</translation>
+        <translation type="obsolete">Vis VirtualBox maskindefinitionsfil i Stifinder</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Opretter et alias til VirtualBox maskindefinitionsfilen på dit skrivebord</translation>
+        <translation type="obsolete">Opretter et alias til VirtualBox maskindefinitionsfilen på dit skrivebord</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Opretter en genvej til VirtualBox maskindefinitionsfilen på dit skrivebord</translation>
+        <translation type="obsolete">Opretter en genvej til VirtualBox maskindefinitionsfilen på dit skrivebord</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Gem tilstand</translation>
+        <translation type="obsolete">Gem tilstand</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Gem tilstanden af de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Gem tilstanden af de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Send kommandoen "ACPI-sluk" til de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Send kommandoen "ACPI-sluk" til de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -867,7 +867,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Sluk de valgte virtuelle maskiner</translation>
+        <translation type="obsolete">Sluk de valgte virtuelle maskiner</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -879,15 +879,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Nedlæg gr&uppe...</translation>
+        <translation type="obsolete">Nedlæg gr&uppe...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Nedlæg den valgte virtuel maskingruppe (ikke maskinerne selv)</translation>
+        <translation type="obsolete">Nedlæg den valgte virtuel maskingruppe (ikke maskinerne selv)</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Sortér</translation>
+        <translation type="obsolete">Sortér</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -895,17 +895,13 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Vis medlemmerne af den valgte virtuel maskines gruppe i alfabetisk orden</translation>
+        <translation type="obsolete">Vis medlemmerne af den valgte virtuel maskines gruppe i alfabetisk orden</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
         <translation>Delt udklipsholder</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -922,242 +918,290 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
-        <translation type="unfinished"></translation>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Vis &log...</translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fil</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">Vis &log...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fil</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">Indstillinger...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1169,9 +1213,185 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Monitor miniature %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Ingen USB-enheder tilsluttet</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Ingen understøttede enheder forbundet til værtsmaskinen</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Genop&frisk</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Aktivér</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1188,6 +1408,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1241,15 +1484,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Harddiskenhed (IDE)</translation>
+        <translation type="obsolete">Harddiskenhed (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Harddiskenhed (SATA)</translation>
+        <translation type="obsolete">Harddiskenhed (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Harddiskenhed (SCSI)</translation>
+        <translation type="obsolete">Harddiskenhed (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1307,7 +1550,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Harddiskenhed (SAS)</translation>
+        <translation type="obsolete">Harddiskenhed (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1317,6 +1560,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinitialiser MAC-addressen på alle netværkskort</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1973,18 +2232,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Kasserer data ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2049,42 +2305,16 @@
         <source>VirtualBox Extension Pack</source>
         <translation>VirtualBox udvidelsespakke</translation>
     </message>
-</context>
-<context>
-    <name>UIDownloaderUserManual</name>
-    <message>
-        <source>Select folder to save User Manual to</source>
-        <translation>Vælg folderen, hvor brugermanualen skal gemmes</translation>
-    </message>
-    <message>
-        <source>VirtualBox User Manual</source>
-        <translation>VirtualBox brugerhåndbog</translation>
-    </message>
-</context>
-<context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
+</context>
+<context>
+    <name>UIDownloaderUserManual</name>
     <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
+        <source>Select folder to save User Manual to</source>
+        <translation>Vælg folderen, hvor brugermanualen skal gemmes</translation>
     </message>
     <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+        <source>VirtualBox User Manual</source>
+        <translation>VirtualBox brugerhåndbog</translation>
     </message>
 </context>
 <context>
@@ -3314,7 +3544,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Angiver den største skærmbredde som gæsten kan anvende.</translation>
+        <translation type="obsolete">Angiver den største skærmbredde som gæsten kan anvende.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3322,7 +3552,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Angiver den største skærmhøjde som gæsten kan anvende.</translation>
+        <translation type="obsolete">Angiver den største skærmhøjde som gæsten kan anvende.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3356,11 +3586,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3388,11 +3626,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Tilføj pakke</translation>
+        <translation type="obsolete">Tilføj pakke</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Fjern pakke</translation>
+        <translation type="obsolete">Fjern pakke</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3410,6 +3648,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3466,15 +3720,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">&Slå værtens pauseskærm fra</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3529,11 +3783,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3713,15 +3967,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Tilføj værtsbegrænset netværk</translation>
+        <translation type="obsolete">Tilføj værtsbegrænset netværk</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Nedlæg væ&rtsbegrænset netværk</translation>
+        <translation type="obsolete">Nedlæg væ&rtsbegrænset netværk</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>Tilpas værtsb&egrænset netværk</translation>
+        <translation type="obsolete">Tilpas værtsb&egrænset netværk</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3862,15 +4116,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Aktiv</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3985,7 +4275,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Konfigurér værtsbegrænset netværkskort manuelt.</translation>
+        <translation type="obsolete">Konfigurér værtsbegrænset netværkskort manuelt.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4029,7 +4319,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Viser om DHCP-serveren aktiveres ved opstart.</translation>
+        <translation type="obsolete">Viser om DHCP-serveren aktiveres ved opstart.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4063,6 +4353,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Viser DHCP-serverens øvre grænse for adresser på netværket tilknyttet det værtsbegrænsede netværkskort.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4075,10 +4373,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4103,32 +4397,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Opsæt regler for viderestilling af porte.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">&Port-viderestilling</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Opsæt regler for viderestilling af porte.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">&Port-viderestilling</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4162,7 +4464,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Ændrer proxy-værten.</translation>
+        <translation type="obsolete">Ændrer proxy-værten.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4170,7 +4472,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Ændrer proxy-porten.</translation>
+        <translation type="obsolete">Ændrer proxy-porten.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4204,6 +4506,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4221,7 +4531,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Angiver hvor ofte der skal søges efter opdateringer. Hvis du ikke ønsker at søge efter opdateringer skal du fjerne markeringen i afkrydsningsfeltet.</translation>
+        <translation type="obsolete">Angiver hvor ofte der skal søges efter opdateringer. Hvis du ikke ønsker at søge efter opdateringer skal du fjerne markeringen i afkrydsningsfeltet.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4255,6 +4565,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Både færdige udgaver og beta-versioner</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4675,7 +4989,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Viser aktiviteten på de virtuelle harddiske:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Viser aktiviteten på de virtuelle harddiske:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4761,7 +5075,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Viser om tastetryk sendes til gæstens operativsystem (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Viser om tastetryk sendes til gæstens operativsystem (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4807,6 +5121,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4827,11 +5150,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Monitor miniature %1</translation>
+        <translation type="obsolete">Monitor miniature %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Øjebliksbillede %1</translation>
+        <translation type="obsolete">Øjebliksbillede %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4867,32 +5190,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Ingen USB-enheder tilsluttet</translation>
+        <translation type="obsolete">Ingen USB-enheder tilsluttet</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Ingen understøttede enheder forbundet til værtsmaskinen</translation>
+        <translation type="obsolete">Ingen understøttede enheder forbundet til værtsmaskinen</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Vælg et filnavn til skærmbilledet ...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4910,7 +5217,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Vælger lydkortets driver. <b>Ingen lyd</b> får gæsten til at se et lydkort, men alle forsøg på at bruge det vil blive ignoreret.</translation>
+        <translation type="obsolete">Vælger lydkortets driver. <b>Ingen lyd</b> får gæsten til at se et lydkort, men alle forsøg på at bruge det vil blive ignoreret.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4920,6 +5227,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Vælger det virtuelle lydkorts type. Dette fortæller VirtualBox hvilken slags lydkort der skal stilles til rådighed for den virtuelle maskine.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4929,7 +5240,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4985,7 +5296,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Angiver godkendelsesmetoden for VRDP.</translation>
+        <translation type="obsolete">Angiver godkendelsesmetoden for VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4993,7 +5304,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Angiver tidsgrænsen (i millisekunder) for godkendelse på gæsten.</translation>
+        <translation type="obsolete">Angiver tidsgrænsen (i millisekunder) for godkendelse på gæsten.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5009,7 +5320,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Portnummer for VRDP-server. Du kan angive <tt>0</tt> (nul) for at vælge port 3389, som er standardporten for RDP.</translation>
+        <translation type="obsolete">Portnummer for VRDP-server. Du kan angive <tt>0</tt> (nul) for at vælge port 3389, som er standardporten for RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5021,11 +5332,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Angiver om flere samtidige forbindelser til den virtuelle maskine er tilladt.</translation>
+        <translation type="obsolete">Angiver om flere samtidige forbindelser til den virtuelle maskine er tilladt.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5064,46 +5375,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5112,10 +5395,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5167,10 +5446,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Miniværktøjslinje:</translation>
     </message>
@@ -5216,21 +5491,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">3D {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">3D {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5242,12 +5513,76 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Viser stien, hvor øjebliksbilleder af den virtuelle maskine bliver gemt. Bemærk at øjebliksbilleder kan bruge en hel del lagerplads.</translation>
+        <translation type="obsolete">Viser stien, hvor øjebliksbilleder af den virtuelle maskine bliver gemt. Bemærk at øjebliksbilleder kan bruge en hel del lagerplads.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5355,10 +5690,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5395,6 +5726,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5416,15 +5755,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Hvis markeret, vises mini-værktøjslinjen i Fuldskærm og Rammefri tilstand.</translation>
+        <translation type="obsolete">Hvis markeret, vises mini-værktøjslinjen i Fuldskærm og Rammefri tilstand.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Vis i &Fuldskærm/Rammefri tilstand</translation>
+        <translation type="obsolete">Vis i &Fuldskærm/Rammefri tilstand</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Hvis markeret, vises mini-værktøjslinjen i toppen af skærmen fremfor som standard i bunden af skærmen.</translation>
+        <translation type="obsolete">Hvis markeret, vises mini-værktøjslinjen i toppen af skærmen fremfor som standard i bunden af skærmen.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5434,6 +5773,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5455,7 +5806,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Angiver hvordan det virtuelle netværkskort er forbundet til værtens fysiske netværk.</translation>
+        <translation type="obsolete">Angiver hvordan det virtuelle netværkskort er forbundet til værtens fysiske netværk.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -5496,7 +5847,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Vis/skjul yderligere indstillinger for netværkskort.</translation>
+        <translation type="obsolete">Vis/skjul yderligere indstillinger for netværkskort.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5512,7 +5863,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Angiver om det virtuelle netværkskabel er tilsluttet maskinen under opstart eller ej.</translation>
+        <translation type="obsolete">Angiver om det virtuelle netværkskabel er tilsluttet maskinen under opstart eller ej.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5520,7 +5871,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Opsæt regler for viderestilling af porte.</translation>
+        <translation type="obsolete">Opsæt regler for viderestilling af porte.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5541,7 +5892,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Indtast konfigurationsindstillinger for den driver til netværkstilslutning du anvender. Indstillingerne skal have formen <b>navn=værdi</b> og afhænger af driveren. Brug <b>Shift-Enter</b> for at tilføje en ny indstilling.</translation>
+        <translation type="obsolete">Indtast konfigurationsindstillinger for den driver til netværkstilslutning du anvender. Indstillingerne skal have formen <b>navn=værdi</b> og afhænger af driveren. Brug <b>Shift-Enter</b> for at tilføje en ny indstilling.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5604,7 +5955,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5690,21 +6061,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Viser parallelportens I/O-adresse. Gyldige værdier er heltal fra <tt>0</tt> til <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Portnummer allerede i brug </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Sti til port er ikke angivet </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Stien til porten bruges allerede </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5727,6 +6083,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Portnummer allerede i brug </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Sti til port er ikke angivet </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Stien til porten bruges allerede </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5734,27 +6105,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Viser en liste over regler for port-viderestilling.</translation>
+        <translation type="obsolete">Viser en liste over regler for port-viderestilling.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Tilføj regel</translation>
+        <translation type="obsolete">Tilføj regel</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Kopiér markeret regel</translation>
+        <translation type="obsolete">Kopiér markeret regel</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Slet markeret regel</translation>
+        <translation type="obsolete">Slet markeret regel</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Tilføjer en ny regel for port-viderestilling.</translation>
+        <translation type="obsolete">Tilføjer en ny regel for port-viderestilling.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Sletter den markerede regel for port-viderestilling.</translation>
+        <translation type="obsolete">Sletter den markerede regel for port-viderestilling.</translation>
     </message>
 </context>
 <context>
@@ -5773,15 +6144,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Tilføjer en ny deling af en mappe.</translation>
+        <translation type="obsolete">Tilføjer en ny deling af en mappe.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Tilpasser delingen af den valgte mappe.</translation>
+        <translation type="obsolete">Tilpasser delingen af den valgte mappe.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Fjerner delingen af den valgte mappe.</translation>
+        <translation type="obsolete">Fjerner delingen af den valgte mappe.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5821,15 +6192,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Tilføj delt m&appe</translation>
+        <translation type="obsolete">Tilføj delt m&appe</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>R&ediger delt mappe</translation>
+        <translation type="obsolete">R&ediger delt mappe</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Fje&rn deling af mappe</translation>
+        <translation type="obsolete">Fje&rn deling af mappe</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5843,6 +6214,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5892,7 +6287,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Hvis markeret, vil mappe-delingen blive permanent.</translation>
+        <translation type="obsolete">Hvis markeret, vil mappe-delingen blive permanent.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5940,7 +6339,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Styrer den serielle ports tilstand. Hvis du vælger <b>Ikke tilsluttet</b>, vil gæsteoperativsystemet kunne se den serielle port, men ikke bruge den.</translation>
+        <translation type="obsolete">Styrer den serielle ports tilstand. Hvis du vælger <b>Ikke tilsluttet</b>, vil gæsteoperativsystemet kunne se den serielle port, men ikke bruge den.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5967,10 +6366,6 @@ p, li { white-space: pre-wrap; }
         <translation>Viser serielportens I/O-adresse. Gyldige værdier er heltal fra <tt>0</tt> til <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5982,20 +6377,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Portnummer allerede i brug </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Sti til port er ikke angivet </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Stien til porten bruges allerede </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6019,6 +6407,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Portnummer allerede i brug </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Sti til port er ikke angivet </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Stien til porten bruges allerede </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6090,11 +6493,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Udfold/sammenfold&nbsp;punkt</nobr></translation>
+        <translation type="obsolete"><nobr>Udfold/sammenfold&nbsp;punkt</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Tilføj&nbsp;harddisk</nobr></translation>
+        <translation type="obsolete"><nobr>Tilføj&nbsp;harddisk</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6158,19 +6561,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Tilføjer en ny styreenhed i slutningen af lagermedietræet</translation>
+        <translation type="obsolete">Tilføjer en ny styreenhed i slutningen af lagermedietræet</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Fjerner den markerede styreenhed fra lagermedietræet</translation>
+        <translation type="obsolete">Fjerner den markerede styreenhed fra lagermedietræet</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Tilføjer en ny tilslutning til lagermedietræet som undernode af den markerede styreenhed.</translation>
+        <translation type="obsolete">Tilføjer en ny tilslutning til lagermedietræet som undernode af den markerede styreenhed.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Fjerner den markerede tilslutning fra lagermedietræet.</translation>
+        <translation type="obsolete">Fjerner den markerede tilslutning fra lagermedietræet.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6206,7 +6609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Indeholder samtlige styreenheder på denne maskine og de virtuelle aftryk og værtsdrev, der er forbundet til dem.</translation>
+        <translation type="obsolete">Indeholder samtlige styreenheder på denne maskine og de virtuelle aftryk og værtsdrev, der er forbundet til dem.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6226,7 +6629,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Ændrer navnet på den markerede styreenhed i lagermedietræet.</translation>
+        <translation type="obsolete">Ændrer navnet på den markerede styreenhed i lagermedietræet.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6294,7 +6697,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Tillader værten at bruge sit I/O mellemlager.</translation>
+        <translation type="obsolete">Tillader værten at bruge sit I/O mellemlager.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6326,7 +6729,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Aftryk</translation>
+        <translation type="obsolete">Aftryk</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6334,7 +6737,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Tilpas den virtuelle harddisk</translation>
+        <translation type="obsolete">Tilpas den virtuelle harddisk</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6359,15 +6762,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Tilpas det virtuelle diskettedrev</translation>
+        <translation type="obsolete">Tilpas det virtuelle diskettedrev</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Opret ny harddisk...</translation>
+        <translation type="obsolete">Opret ny harddisk...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Vælg en virtuel harddisk-fil...</translation>
+        <translation type="obsolete">Vælg en virtuel harddisk-fil...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6379,11 +6782,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Vælg en virtuel diskette-fil...</translation>
+        <translation type="obsolete">Vælg en virtuel diskette-fil...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Hvis markeret, vil den virtuelle disk ikke blive fjernet, når gæsten skubber den ud.</translation>
+        <translation type="obsolete">Hvis markeret, vil den virtuelle disk ikke blive fjernet, når gæsten skubber den ud.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6391,7 +6794,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Hvis markeret, vil gæsten se den virtuelle disk som en SSD-disk.</translation>
+        <translation type="obsolete">Hvis markeret, vil gæsten se den virtuelle disk som en SSD-disk.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6460,47 +6863,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Vælg en virtuel optisk disk-fil...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Vælg en virtuel optisk disk-fil...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Optical &Drive:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Aftryk</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6532,12 +7004,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6570,7 +7042,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Flyt ned (Ctrl-Pil ned)</translation>
+        <translation type="obsolete">Flyt ned (Ctrl-Pil ned)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6578,7 +7050,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Flyt op (Ctrl-Pil op)</translation>
+        <translation type="obsolete">Flyt op (Ctrl-Pil op)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6651,7 +7123,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU'er</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU'er</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6663,7 +7135,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Hvis markeret, vil uret bruge UTC som tidszone - hvis ikke bruges lokal (vært) tid. Unix forventer normalt at hardware-uret er sat til UTC.</translation>
+        <translation type="obsolete">Hvis markeret, vil uret bruge UTC som tidszone - hvis ikke bruges lokal (vært) tid. Unix forventer normalt at hardware-uret er sat til UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6712,12 +7184,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6775,56 +7247,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Tilføj tomt filter</translation>
+        <translation type="obsolete">Tilføj tomt filter</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Tilføj filter fra enhe&d</translation>
+        <translation type="obsolete">Tilføj filter fra enhe&d</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>R&ediger filter</translation>
+        <translation type="obsolete">R&ediger filter</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Fje&rn filter</translation>
+        <translation type="obsolete">Fje&rn filter</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Flyt filter op</translation>
+        <translation type="obsolete">Flyt filter op</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Flyt filter ned</translation>
+        <translation type="obsolete">Flyt filter ned</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Tilføjer et nyt USB-filter hvor alle felter er blanke. Dette filter vil matche alle tilsluttede USB-enheder.</translation>
+        <translation type="obsolete">Tilføjer et nyt USB-filter hvor alle felter er blanke. Dette filter vil matche alle tilsluttede USB-enheder.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Tilføjer et nyt USB-filter hvor alle felter er sat til værdierne fra den valgte tilsluttede USB-enhed.</translation>
+        <translation type="obsolete">Tilføjer et nyt USB-filter hvor alle felter er sat til værdierne fra den valgte tilsluttede USB-enhed.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Tilpasser det valgte USB-filter.</translation>
+        <translation type="obsolete">Tilpasser det valgte USB-filter.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Fjerner det valgte USB-filter.</translation>
+        <translation type="obsolete">Fjerner det valgte USB-filter.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Flytter det valgte USB-filter opad.</translation>
+        <translation type="obsolete">Flytter det valgte USB-filter opad.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Flytter det valgte USB-filter nedad.</translation>
+        <translation type="obsolete">Flytter det valgte USB-filter nedad.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6841,7 +7339,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Hvis markeret, aktiveres maskinens virtuelle USB EHCI-styreenhed. USB EHCI-styreenheden understøtter USB 2.0.</translation>
+        <translation type="obsolete">Hvis markeret, aktiveres maskinens virtuelle USB EHCI-styreenhed. USB EHCI-styreenheden understøtter USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6908,27 +7406,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">USB 2.0 er pt aktiveret i denne virtuelle maskine. Dette kræver at <b>%1</b> installeres - denne udvidelsespakke kan hentes fra VirtualBox' hjemmeside. Derefter kan du reaktivere USB 2.0. USB 2.0 vil blive deaktiveret nu, medmindre du annullerer de nuværende ændringer.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6964,7 +7514,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Styrer leverandør-ID-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>XXXX</tt> hvor <tt>X</tt> er et heksadecimalt ciffer. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Styrer leverandør-ID-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>XXXX</tt> hvor <tt>X</tt> er et heksadecimalt ciffer. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6972,7 +7522,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Styrer produkt-ID-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>XXXX</tt> hvor <tt>X</tt> er et heksadecimalt ciffer. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Styrer produkt-ID-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>XXXX</tt> hvor <tt>X</tt> er et heksadecimalt ciffer. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6980,7 +7530,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Styrer versionsnummer-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>IIFF</tt> hvor <tt>I</tt> er et ciffer før kommaet og <tt>F</tt> er et ciffer efter kommaet. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Styrer versionsnummer-filteret. Formatet for et <i>nøjagtigt match</i> er <tt>IIFF</tt> hvor <tt>I</tt> er et ciffer før kommaet og <tt>F</tt> er et ciffer efter kommaet. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6988,7 +7538,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Producent-ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Producent-ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6996,7 +7546,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Produkt-ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Produkt-ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7004,7 +7554,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Serienummer-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
+        <translation type="obsolete">Serienummer-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7012,7 +7562,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>USB-port ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
+        <translation type="obsolete">USB-port ID-filteret laver et <i>nøjagtigt match</i> på en tekststreng. En tom streng matcher alt.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7020,7 +7570,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Styrer om dette filter gælder for USB-enheder tilsluttet direkte til værtsmaskinen (<i>Nej</i>), til en VRDP-klients maskine (<i>Ja</i>) eller begge (<i>Begge</i>).</translation>
+        <translation type="obsolete">Styrer om dette filter gælder for USB-enheder tilsluttet direkte til værtsmaskinen (<i>Nej</i>), til en VRDP-klients maskine (<i>Ja</i>) eller begge (<i>Begge</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7034,6 +7584,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Detaljer for USB-filter</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7053,7 +7635,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Harddiske</translation>
+        <translation type="obsolete">&Harddiske</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7075,6 +7657,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7528,7 +8114,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Kunne ikke skifte til fuldskærm på grund af for lidt grafikhukommelse i gæsten.</p><p>Du bør konfigure den virtuelle maskine til at have en grafikhukommelse på mindst <b>%1</b>.</p><p>Tryk <b>Ignorer</b> for at forsøge at skifte alligevel eller tryk <b>Annullér</b> for at afbryde.</p></translation>
+        <translation type="obsolete"><p>Kunne ikke skifte til fuldskærm på grund af for lidt grafikhukommelse i gæsten.</p><p>Du bør konfigure den virtuelle maskine til at have en grafikhukommelse på mindst <b>%1</b>.</p><p>Tryk <b>Ignorer</b> for at forsøge at skifte alligevel eller tryk <b>Annullér</b> for at afbryde.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7642,7 +8228,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Vil du slette lagerenheden for harddisken <nobr><b>%1</b></nobr>?</p><p>Hvis du vælger <b>Slet</b> vil den angivne lagerenhed blive slettet permanent. Handlingen kan <b>ikke fortrydes</b>.</p><p>Hvis du vælger <b>Behold</b> så vil harddisken kun blive fjernet fra listen over kendte harddiske, mens lagerenheden ikke vil blive rørt og derfor kan harddisken tilføjes til listen i [...]
+        <translation type="obsolete"><p>Vil du slette lagerenheden for harddisken <nobr><b>%1</b></nobr>?</p><p>Hvis du vælger <b>Slet</b> vil den angivne lagerenhed blive slettet permanent. Handlingen kan <b>ikke fortrydes</b>.</p><p>Hvis du vælger <b>Behold</b> så vil harddisken kun blive fjernet fra listen over kendte harddiske, mens lagerenheden ikke vil blive rørt og derfor kan harddisken tilfø [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7892,7 +8478,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Når du sletter et øjebliksbillede, mistes informationen om dens tilstand og data spredt over adskellige filer, som VirtualBox har dannet sammen med øjebliksbilledet vil blive lagt sammen i én fil. Dette kan tage en del tid og informationen i øjebliksbilledet kan ikke genskabes.</p></p>Er du sikker på at du vil slette det valgte øjebliksbillede <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Når du sletter et øjebliksbillede, mistes informationen om dens tilstand og data spredt over adskellige filer, som VirtualBox har dannet sammen med øjebliksbilledet vil blive lagt sammen i én fil. Dette kan tage en del tid og informationen i øjebliksbilledet kan ikke genskabes.</p></p>Er du sikker på at du vil slette det valgte øjebliksbillede <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8028,7 +8614,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Sletning af øjebliksbilledet %1 vil midlertidigt kræve mere diskplads. I værste fald vil størrelsen af %2 vokse med %3, men der er kun %4 ledigt i filsystemet.</p><p>Løber du tør for diskplads under konsolideringen risikerer du at korrumpere øjebliksbilledet og dets VM-konfiguration, dvs du mister både VM'en og dens data.</p><p>Du kan fortsætte med sletningen af øjebliksbilledet på eget ansvar.</p></translation>
+        <translation type="obsolete"><p>Sletning af øjebliksbilledet %1 vil midlertidigt kræve mere diskplads. I værste fald vil størrelsen af %2 vokse med %3, men der er kun %4 ledigt i filsystemet.</p><p>Løber du tør for diskplads under konsolideringen risikerer du at korrumpere øjebliksbilledet og dets VM-konfiguration, dvs du mister både VM'en og dens data.</p><p>Du kan fortsætte med sletningen af øjebliksbilledet på eget ansvar.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8208,7 +8794,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Den virtuelle maskines vindue vil nu skifte til <b>fuldskærm</b>. Du kan skifte tilbage til vinduestilstand ved at trykke <b>%1</b>.</p><p><i>Værtstasten</i> er for øjeblikket sat til <b>%2</b>.</p><p>Bemærk at menulinjen er skjult i fuldskærmstilstand, men du kan åbne den ved at trykke <b>Værtstast+Home</b>.</p></translation>
+        <translation type="obsolete"><p>Den virtuelle maskines vindue vil nu skifte til <b>fuldskærm</b>. Du kan skifte tilbage til vinduestilstand ved at trykke <b>%1</b>.</p><p><i>Værtstasten</i> er for øjeblikket sat til <b>%2</b>.</p><p>Bemærk at menulinjen er skjult i fuldskærmstilstand, men du kan åbne den ved at trykke <b>Værtstast+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8446,7 +9032,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Du er ved at oprette en ny virtuel maskine uden en harddisk. Du vil ikke kunne installere et operativsystem på maskinen før du tilføjer en harddisk. Indtil da kan du kun starte maskinen med en virtuel optisk disk eller fra netværket.</translation>
+        <translation type="obsolete">Du er ved at oprette en ny virtuel maskine uden en harddisk. Du vil ikke kunne installere et operativsystem på maskinen før du tilføjer en harddisk. Indtil da kan du kun starte maskinen med en virtuel optisk disk eller fra netværket.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -8565,18 +9151,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Vælg disk</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8616,30 +9190,6 @@ p, li { white-space: pre-wrap; }
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8758,10 +9308,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8833,6 +9379,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9719,27 +10305,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Navn</translation>
+        <translation type="obsolete">Navn</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Værts-IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Værtsport</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Gæste-IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Gæsteport</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Navn</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokol</translation>
+        <translation type="unfinished">Protokol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Værts-IP</translation>
+        <translation type="unfinished">Værts-IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Værtsport</translation>
+        <translation type="unfinished">Værtsport</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Gæste-IP</translation>
+        <translation type="unfinished">Gæste-IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Gæsteport</translation>
+        <translation type="unfinished">Gæsteport</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10045,13 +10686,6 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10061,6 +10695,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10583,7 +11221,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Kopier virtuel disk</translation>
+        <translation type="obsolete">Kopier virtuel disk</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -10591,43 +11229,43 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Harddisk til kopiering</translation>
+        <translation type="obsolete">Harddisk til kopiering</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Vælg den virtuelle disk-fil du vil kopiere, hvis den ikke allerede er valgt. Du kan enten vælge en fra listen eller bruge mappe-ikonet ved siden af listen til at vælge en.</p></translation>
+        <translation type="obsolete"><p>Vælg den virtuelle disk-fil du vil kopiere, hvis den ikke allerede er valgt. Du kan enten vælge en fra listen eller bruge mappe-ikonet ved siden af listen til at vælge en.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Vælg virtuel harddisk-fil til kopiering...</translation>
+        <translation type="obsolete">Vælg virtuel harddisk-fil til kopiering...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Harddisk-filtype</translation>
+        <translation type="obsolete">Harddisk-filtype</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Vælg formatet af filen du vil bruge til den nye virtuelle harddisk-fil. Hvis du skal bruge den i andre virtualiseringsprogrammer bør du ændre denne indstilling.</translation>
+        <translation type="obsolete">Vælg formatet af filen du vil bruge til den nye virtuelle harddisk-fil. Hvis du skal bruge den i andre virtualiseringsprogrammer bør du ændre denne indstilling.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Lagring på fysisk harddisk</translation>
+        <translation type="obsolete">Lagring på fysisk harddisk</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Vælg om den nye virtuelle disk-fil allokeres i takt med at den bruges (dynamisk allokering) eller om al pladsen allokeres med det samme (fast allokering).</translation>
+        <translation type="obsolete">Vælg om den nye virtuelle disk-fil allokeres i takt med at den bruges (dynamisk allokering) eller om al pladsen allokeres med det samme (fast allokering).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>En <b>dynamisk allokeret</b> virtuel disk-fil bruger kun fysisk plads i takt med at den fyldes op (op til den <b>faste størrelse</b>), men filen formindskes ikke automatiskt, når der frigives plads på den virtuelle disk.</p></translation>
+        <translation type="obsolete"><p>En <b>dynamisk allokeret</b> virtuel disk-fil bruger kun fysisk plads i takt med at den fyldes op (op til den <b>faste størrelse</b>), men filen formindskes ikke automatiskt, når der frigives plads på den virtuelle disk.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>En <b>fast allokeret</b> virtuel disk-fil kan tage længere tid at oprette, men er ofte hurtigere i brug.</p></translation>
+        <translation type="obsolete"><p>En <b>fast allokeret</b> virtuel disk-fil kan tage længere tid at oprette, men er ofte hurtigere i brug.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Du kan også vælge at <b>opdele</b> den virtuelle disk over flere filer på op til 2 GB hver. Det er særlig brugbart, hvis du vil gemme den virtuelle maskine på flytbare USB-enheder eller ældre systemer, som ikke understøtter meget store filer.</p></translation>
+        <translation type="obsolete"><p>Du kan også vælge at <b>opdele</b> den virtuelle disk over flere filer på op til 2 GB hver. Det er særlig brugbart, hvis du vil gemme den virtuelle maskine på flytbare USB-enheder eller ældre systemer, som ikke understøtter meget store filer.</p></translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10643,19 +11281,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Angiv placeringen af den nye virtuelle disk-fil</translation>
+        <translation type="obsolete">Angiv placeringen af den nye virtuelle disk-fil</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Harddisk der skal oprettes</translation>
+        <translation type="obsolete">Harddisk der skal oprettes</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Indtast navnet på den nye virtuelle disk-fil i tekstfeltet nedenfor eller tryk på mappe-ikonet for at vælge en anden mappe at oprette filen i.</translation>
+        <translation type="obsolete">Indtast navnet på den nye virtuelle disk-fil i tekstfeltet nedenfor eller tryk på mappe-ikonet for at vælge en anden mappe at oprette filen i.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Angiv placeringen af den nye virtuelle disk-fil...</translation>
+        <translation type="obsolete">Angiv placeringen af den nye virtuelle disk-fil...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -10664,15 +11302,87 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Harddisk til kopiering</translation>
+        <translation type="obsolete">Harddisk til kopiering</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Ny harddisk der skal oprettes</translation>
+        <translation type="obsolete">&Ny harddisk der skal oprettes</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Harddisk-filforma&t</translation>
+        <translation type="obsolete">Harddisk-filforma&t</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10715,7 +11425,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Vælg typen af klon du vil oprette.</p><p>Vælger du <b>Fuld klon</b> får du en nøjagtig kopi (inkl. alle virtuelle harddiske) af den originale virtuelle maskine.</p><p>Vælger du <b>Koblet klon</b> vil en ny maskine blive lavet, men de virtuelle harddisk-filer deles stadig med den originale maskine og du vil ikke kunne flytte den nye virtuelle maskine til en anden computer uden at flytte originalen også </p&gt [...]
+        <translation type="obsolete"><p>Vælg typen af klon du vil oprette.</p><p>Vælger du <b>Fuld klon</b> får du en nøjagtig kopi (inkl. alle virtuelle harddiske) af den originale virtuelle maskine.</p><p>Vælger du <b>Koblet klon</b> vil en ny maskine blive lavet, men de virtuelle harddisk-filer deles stadig med den originale maskine og du vil ikke kunne flytte den nye virtuelle maskine til en anden computer uden at flytte originale [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -10773,6 +11483,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation>Kob&let klon</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11050,7 +11764,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Opret virtuel harddisk</translation>
+        <translation type="obsolete">Opret virtuel harddisk</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11058,31 +11772,31 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Harddisk-filtype</translation>
+        <translation type="obsolete">Harddisk-filtype</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Vælg formatet af filen du vil bruge til den nye virtuelle harddisk-fil. Hvis du skal bruge den i andre virtualiseringsprogrammer bør du ændre denne indstilling.</translation>
+        <translation type="obsolete">Vælg formatet af filen du vil bruge til den nye virtuelle harddisk-fil. Hvis du skal bruge den i andre virtualiseringsprogrammer bør du ændre denne indstilling.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Lagring på fysisk harddisk</translation>
+        <translation type="obsolete">Lagring på fysisk harddisk</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Vælg om den nye virtuelle disk-fil allokeres i takt med at den bruges (dynamisk allokering) eller om al pladsen allokeres med det samme (fast størrelse).</translation>
+        <translation type="obsolete">Vælg om den nye virtuelle disk-fil allokeres i takt med at den bruges (dynamisk allokering) eller om al pladsen allokeres med det samme (fast størrelse).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>En <b>dynamisk allokeret</b> virtuel disk-fil bruger kun fysisk plads i takt med at den fyldes op (op til den <b>faste størrelse</b>), men filen formindskes ikke automatiskt, når der frigives plads på den virtuelle disk.</p></translation>
+        <translation type="obsolete"><p>En <b>dynamisk allokeret</b> virtuel disk-fil bruger kun fysisk plads i takt med at den fyldes op (op til den <b>faste størrelse</b>), men filen formindskes ikke automatiskt, når der frigives plads på den virtuelle disk.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>En <b>fast størrelse</b> virtuel disk-fil kan tage længere tid at oprette, men er ofte hurtigere i brug.</p></translation>
+        <translation type="obsolete"><p>En <b>fast størrelse</b> virtuel disk-fil kan tage længere tid at oprette, men er ofte hurtigere i brug.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Du kan også vælge at <b>opdele</b> den virtuelle disk over flere filer på op til 2 GB hver. Det er særlig brugbart, hvis du vil gemme den virtuelle maskine på flytbare USB-enheder eller ældre systemer, som ikke understøtter meget store filer.</p></translation>
+        <translation type="obsolete"><p>Du kan også vælge at <b>opdele</b> den virtuelle disk over flere filer på op til 2 GB hver. Det er særlig brugbart, hvis du vil gemme den virtuelle maskine på flytbare USB-enheder eller ældre systemer, som ikke understøtter meget store filer.</p></translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11106,15 +11820,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Indtast navnet på den nye virtuelle disk-fil i tekstfeltet nedenfor eller tryk på mappe-ikonet for at vælge en anden mappe at oprette filen i.</translation>
+        <translation type="obsolete">Indtast navnet på den nye virtuelle disk-fil i tekstfeltet nedenfor eller tryk på mappe-ikonet for at vælge en anden mappe at oprette filen i.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Angiv placeringen af den nye virtuelle disk-fil...</translation>
+        <translation type="obsolete">Angiv placeringen af den nye virtuelle disk-fil...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Vælg størrelsen af den virtuelle harddisk-fil i megabytes. Denne størrelse bestemmer mængden af data en virtuel maskine kan lagre på harddisken.</translation>
+        <translation type="obsolete">Vælg størrelsen af den virtuelle harddisk-fil i megabytes. Denne størrelse bestemmer mængden af data en virtuel maskine kan lagre på harddisken.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11126,7 +11840,55 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Harddisk-filforma&t</translation>
+        <translation type="obsolete">Harddisk-filforma&t</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11177,15 +11939,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Harddisk</translation>
+        <translation type="obsolete">Harddisk</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Du kan nu tilføje en virtuel harddisk til den nye maskine. Enten ved at oprette en ny harddisk-fil eller vælge en fra listen eller fra en anden placering ved hjælp af mappe-ikonet.</p><p>Hvis du har behov for en mere avanceret opsætning af lagerenheder kan du springe dette trin over og lave ændringerne, når maskinen er oprettet</p><p>Den anbefalede størrelse af harddisken er <b>%1</b>.</p></translation>
+        <translation type="obsolete"><p>Du kan nu tilføje en virtuel harddisk til den nye maskine. Enten ved at oprette en ny harddisk-fil eller vælge en fra listen eller fra en anden placering ved hjælp af mappe-ikonet.</p><p>Hvis du har behov for en mere avanceret opsætning af lagerenheder kan du springe dette trin over og lave ændringerne, når maskinen er oprettet</p><p>Den anbefalede størrelse af harddisken er <b>%1</b>.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Vælg en virtuel harddisk-fil...</translation>
+        <translation type="obsolete">Vælg en virtuel harddisk-fil...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -11193,15 +11955,39 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Tilføj ikke en virtuel hard&disk</translation>
+        <translation type="obsolete">Tilføj ikke en virtuel hard&disk</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>Opret en virtuel harddisk nu</translation>
+        <translation type="obsolete">Opret en virtuel harddisk nu</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Br&ug en eksisterende virtuel harddisk-fil</translation>
+        <translation type="obsolete">Br&ug en eksisterende virtuel harddisk-fil</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Vælg en virtuel harddisk-fil...</translation>
     </message>
 </context>
 <context>
@@ -11862,7 +12648,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Lader dig vælge en anden mappe.</translation>
+        <translation type="obsolete">Lader dig vælge en anden mappe.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11870,7 +12656,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Lader dig vælge en anden fil.</translation>
+        <translation type="obsolete">Lader dig vælge en anden fil.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11882,16 +12668,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Angiv den ønskede sti til mappen her.</translation>
+        <translation type="obsolete">Angiv den ønskede sti til mappen her.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Angiv den ønskede sti til filen her.</translation>
+        <translation type="obsolete">Angiv den ønskede sti til filen her.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12977,7 +13779,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Tilslutning af denne harddisk vil blive gjort indirekte via en nyoprettet Ændrings-harddisk.</translation>
+        <translation type="unfinished">Tilslutning af denne harddisk vil blive gjort indirekte via en nyoprettet Ændrings-harddisk.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12987,7 +13789,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Denne harddisk er indirekte tilsluttet gennem ændrings-harddisken:</translation>
+        <translation type="unfinished">Denne harddisk er indirekte tilsluttet gennem ændrings-harddisken:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13538,11 +14340,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Vælg en virtuel harddisk-fil</translation>
+        <translation type="obsolete">Vælg en virtuel harddisk-fil</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Alle virtuelle harddisk-filer (%1)</translation>
+        <translation type="obsolete">Alle virtuelle harddisk-filer (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -13586,7 +14388,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Angiv placeringen af den nye virtuelle disk-fil</translation>
+        <translation type="obsolete">Angiv placeringen af den nye virtuelle disk-fil</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -13766,25 +14568,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14690,7 +15494,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Vis detaljer om det valgte øjebliksbillede</translation>
+        <translation type="obsolete">Vis detaljer om det valgte øjebliksbillede</translation>
     </message>
     <message>
         <source>&Discard Snapshot</source>
@@ -14742,11 +15546,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Indlæs det valgte øjebliksbillede af den virtuelle maskine</translation>
+        <translation type="obsolete">Indlæs det valgte øjebliksbillede af den virtuelle maskine</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Slet det valgte øjebliksbillede af den virtuelle maskine</translation>
+        <translation type="obsolete">Slet det valgte øjebliksbillede af den virtuelle maskine</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -14758,7 +15562,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Klon den valgte virtuelle maskine</translation>
+        <translation type="obsolete">Klon den valgte virtuelle maskine</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14793,6 +15613,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>Advarsel: Du tager et øjebliksbillede af en kørende maskine, som har %n skrivebeskyttede aftryk tilsluttet. Så længe du arbejder på dette øjebliksbillede vil de skrivebeskyttede aftryk ikke blive nulstillet for at undgå tab af data.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Øjebliksbillede %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
index 34162b4..9a4b065 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts
@@ -160,7 +160,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Passt die Größe der Gastanzeige automatisch an, wenn sich die Fenstergröße ändert (erfordert Gasterweiterungen)</translation>
+        <translation type="obsolete">Passt die Größe der Gastanzeige automatisch an, wenn sich die Fenstergröße ändert (erfordert Gasterweiterungen)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -220,7 +220,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Sendet das ACPI-Ereignis "Ausschaltknopf gedrückt" an die virtuelle Maschine</translation>
+        <translation type="obsolete">Sendet das ACPI-Ereignis "Ausschaltknopf gedrückt" an die virtuelle Maschine</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -252,11 +252,11 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Ändert die Einstellungen der Netzwerkadapter</translation>
+        <translation type="obsolete">Ändert die Einstellungen der Netzwerkadapter</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Öffnet den Dialog für gemeinsame Ordner</translation>
+        <translation type="obsolete">Öffnet den Dialog für gemeinsame Ordner</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -330,7 +330,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Einstellungen der virtuellen Maschine ändern</translation>
+        <translation type="obsolete">Einstellungen der virtuellen Maschine ändern</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -338,7 +338,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Zeigt die Log-Dateien der ausgewählten virtuellen Maschine</translation>
+        <translation type="obsolete">Zeigt die Log-Dateien der ausgewählten virtuellen Maschine</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -362,7 +362,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Zeige Manager für Netzoperationen</translation>
+        <translation type="obsolete">Zeige Manager für Netzoperationen</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -374,7 +374,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Zeigt einen Dialog mit Produktinformationen</translation>
+        <translation type="obsolete">Zeigt einen Dialog mit Produktinformationen</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -386,7 +386,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Erzeugt ein Bildschirmfoto der virtuellen Maschine</translation>
+        <translation type="obsolete">Erzeugt ein Bildschirmfoto der virtuellen Maschine</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -429,11 +429,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Globale Einstellungen...</translation>
+        <translation type="obsolete">&Globale Einstellungen...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Zeigt den Dialog für globale Einstellungen</translation>
+        <translation type="obsolete">Zeigt den Dialog für globale Einstellungen</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -449,15 +449,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Neue virtuelle Maschine erzeugen</translation>
+        <translation type="obsolete">Neue virtuelle Maschine erzeugen</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Fügt eine existierende virtuelle Maschine hinzu</translation>
+        <translation type="obsolete">Fügt eine existierende virtuelle Maschine hinzu</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Benennt die ausgewählte virtuelle Maschine um</translation>
+        <translation type="obsolete">Benennt die ausgewählte virtuelle Maschine um</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -469,27 +469,27 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Aktualisieren...</translation>
+        <translation type="obsolete">&Aktualisieren...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Aktualisiert den Zustand der ausgewählten virtuellen Maschine</translation>
+        <translation type="obsolete">Aktualisiert den Zustand der ausgewählten virtuellen Maschine</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Im Finder zeigen</translation>
+        <translation type="obsolete">Im Finder zeigen</translation>
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Im Explorer zeigen</translation>
+        <translation type="obsolete">Im Explorer zeigen</translation>
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Im Dateimanager zeigen</translation>
+        <translation type="obsolete">Im Dateimanager zeigen</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Zeigt die VirtualBox-VM-Definition im Dateimanager</translation>
+        <translation type="obsolete">Zeigt die VirtualBox-VM-Definition im Dateimanager</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -501,7 +501,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Neue Gruppe mit den ausgewählten Maschinen erzeugen</translation>
+        <translation type="obsolete">Neue Gruppe mit den ausgewählten Maschinen erzeugen</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -509,7 +509,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Die ausgewählte virtuelle Maschine klonen</translation>
+        <translation type="obsolete">Die ausgewählte virtuelle Maschine klonen</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -521,15 +521,15 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>&Verwerfen...</translation>
+        <translation type="obsolete">&Verwerfen...</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Alias auf dem Desktop erzeugen</translation>
+        <translation type="obsolete">Alias auf dem Desktop erzeugen</translation>
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Desktop-Verknüpfung</translation>
+        <translation type="obsolete">Desktop-Verknüpfung</translation>
     </message>
     <message>
         <source>&Close</source>
@@ -557,59 +557,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Sortiert die Gruppe der ausgewählten Maschine automatisch</translation>
+        <translation type="obsolete">Sortiert die Gruppe der ausgewählten Maschine automatisch</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Löscht die ausgewählten virtuelle Maschinen</translation>
+        <translation type="obsolete">Löscht die ausgewählten virtuelle Maschinen</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Starten der ausgewählten virtuellen Maschinen</translation>
+        <translation type="obsolete">Starten der ausgewählten virtuellen Maschinen</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Holt die Fenster der ausgewählten virtuellen Maschinen in den Vordergrund</translation>
+        <translation type="obsolete">Holt die Fenster der ausgewählten virtuellen Maschinen in den Vordergrund</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspendiert die Ausführung der ausgewählten virtuellen Maschinen</translation>
+        <translation type="obsolete">Suspendiert die Ausführung der ausgewählten virtuellen Maschinen</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Zurücksetzen der ausgewählten virtuellen Maschinen</translation>
+        <translation type="obsolete">Zurücksetzen der ausgewählten virtuellen Maschinen</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Verwirft den gesicherten Zustand der ausgewählten virtuellen Maschinen</translation>
+        <translation type="obsolete">Verwirft den gesicherten Zustand der ausgewählten virtuellen Maschinen</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Zeigt die VirtualBox-VM-Definition im Finder</translation>
+        <translation type="obsolete">Zeigt die VirtualBox-VM-Definition im Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Zeigt die VirtualBox-VM-Definition im Explorer</translation>
+        <translation type="obsolete">Zeigt die VirtualBox-VM-Definition im Explorer</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Erzeugt einen Alias für die VirtualBox-VM-Definition auf Ihrem Desktop</translation>
+        <translation type="obsolete">Erzeugt einen Alias für die VirtualBox-VM-Definition auf Ihrem Desktop</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Erzeugt eine Verknüfung auf die VirtualBox-VM auf Ihrem Destkop</translation>
+        <translation type="obsolete">Erzeugt eine Verknüfung auf die VirtualBox-VM auf Ihrem Destkop</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Zustand sichern</translation>
+        <translation type="obsolete">Zustand sichern</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Sichert den Zustand der ausgewählten virtuellen Maschinen</translation>
+        <translation type="obsolete">Sichert den Zustand der ausgewählten virtuellen Maschinen</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Sendet das ACPI-Ereignis "Ausschaltknopf gedrückt" an die virtuelle Maschinen</translation>
+        <translation type="obsolete">Sendet das ACPI-Ereignis "Ausschaltknopf gedrückt" an die virtuelle Maschinen</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -617,7 +617,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Schaltet die ausgewählte virtuelle Maschine aus</translation>
+        <translation type="obsolete">Schaltet die ausgewählte virtuelle Maschine aus</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -629,15 +629,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Gruppierung &aufheben...</translation>
+        <translation type="obsolete">Gruppierung &aufheben...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Gruppierung der ausgewählten Gruppe aufheben</translation>
+        <translation type="obsolete">Gruppierung der ausgewählten Gruppe aufheben</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Sortieren</translation>
+        <translation type="obsolete">Sortieren</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -645,7 +645,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Sortiert die Gruppe der ersten ausgewählten Maschine automatisch</translation>
+        <translation type="obsolete">Sortiert die Gruppe der ersten ausgewählten Maschine automatisch</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -657,7 +657,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Sichert den Zustand der virtuellen Maschine</translation>
+        <translation type="obsolete">Sichert den Zustand der virtuellen Maschine</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -677,7 +677,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Fernsteuerung (RDP) ein- oder ausschalten</translation>
+        <translation type="obsolete">Fernsteuerung (RDP) ein- oder ausschalten</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -685,7 +685,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Videoaufzeichnung ein- oder ausschalten</translation>
+        <translation type="obsolete">Videoaufzeichnung ein- oder ausschalten</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -693,7 +693,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Parameter für Videoaufzeichnung ändern</translation>
+        <translation type="obsolete">Parameter für Videoaufzeichnung ändern</translation>
     </message>
     <message>
         <source>&Logging...</source>
@@ -706,7 +706,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Zeigt einen Dialog mit Sitzungsinformationen</translation>
+        <translation type="obsolete">Zeigt einen Dialog mit Sitzungsinformationen</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -718,7 +718,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Legt das Medium mit den Gasterweiterungen in das virtuelle CD/DVD-Laufwerk</translation>
+        <translation type="obsolete">Legt das Medium mit den Gasterweiterungen in das virtuelle CD/DVD-Laufwerk</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -734,7 +734,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>Öffnet einen Dialog für die Konfiguration der Menüzeile</translation>
+        <translation type="obsolete">Öffnet einen Dialog für die Konfiguration der Menüzeile</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -742,7 +742,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>Menüzeile für diese virtuelle Maschine ein-/ausschalten</translation>
+        <translation type="obsolete">Menüzeile für diese virtuelle Maschine ein-/ausschalten</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -754,15 +754,15 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>Öffnet ein Fenster zum Konfigurieren der Statuszeile</translation>
+        <translation type="obsolete">Öffnet ein Fenster zum Konfigurieren der Statusleiste</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
-        <translation>Zeige &Statuszeile</translation>
+        <translation>Zeige &Statusleiste</translation>
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>Statuszeile für diese virtuelle Maschine ein-/ausschalten</translation>
+        <translation type="obsolete">Statusleiste für diese virtuelle Maschine ein-/ausschalten</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -778,7 +778,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>Öffnet das Fenster zum Konfigurieren der Tastenkombinationen</translation>
+        <translation type="obsolete">Öffnet das Fenster zum Konfigurieren der Tastenkombinationen</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -786,19 +786,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>&Festplatten</translation>
+        <translation type="obsolete">&Festplatten</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>&Einstellungen für Festplatten...</translation>
+        <translation type="obsolete">&Einstellungen für Festplatten...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>Einstellungen für Festplatten ändern</translation>
+        <translation type="obsolete">Einstellungen für Festplatten ändern</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>Netzwerk</translation>
+        <translation type="obsolete">Netzwerk</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -806,7 +806,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>Einstellungen für USB-Geräte ändern</translation>
+        <translation type="obsolete">Einstellungen für USB-Geräte ändern</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -839,7 +839,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>Minimiert das aktive Fenster</translation>
+        <translation type="obsolete">Minimiert das aktive Fenster</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -863,7 +863,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>&Einfügen %1</translation>
+        <translation type="obsolete">&Einfügen %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -891,7 +891,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>Drag und Drop</translation>
+        <translation type="obsolete">Drag und Drop</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -920,7 +920,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>Startet die ausgewählten virtuellen Maschinen im Hintergrund</translation>
+        <translation type="obsolete">Startet die ausgewählten virtuellen Maschinen im Hintergrund</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -928,11 +928,139 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>Startet die ausgewählten virtuellen Maschinen mit der Möglichkeit, diese im Hintergrund laufen zu lassen</translation>
+        <translation type="obsolete">Startet die ausgewählten virtuellen Maschinen mit der Möglichkeit, diese im Hintergrund laufen zu lassen</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation>Minimiert das aktive Fenster</translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation>Zeige Manager für Netzoperationen</translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation>Zeigt einen Dialog mit Produktinformationen</translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation>&Globale Einstellungen...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation>Zeigt den Dialog für globale Einstellungen</translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation>Einstellungen der virtuellen Maschine ändern</translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation>Zustand &sichern</translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation>Anwendung &minimieren</translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">&Einfügen %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -941,12 +1069,188 @@
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>Ändern nach %1x%2</translation>
+        <translation type="unfinished">Ändern nach %1x%2</translation>
     </message>
     <message>
-        <source>%1%</source>
-        <comment>scale-factor</comment>
-        <translation></translation>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Kein USB-Gerät angeschlossen</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Keine unterstützten Geräte mit dem PC verbunden</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Keine Webcam angeschlossen</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Keine unterstützen Webcams am PC angeschlossen</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation>Gruppierung &aufheben</translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation>&Sortieren</translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation>&Verwerfen...</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation>&Aktualisieren</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Aktivieren</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Ändern nach %1x%2</translation>
     </message>
 </context>
 <context>
@@ -963,6 +1267,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Passwort</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1016,15 +1342,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Festplatten-Controller IDE</translation>
+        <translation type="obsolete">Festplatten-Controller IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Festplatten-Controller SATA</translation>
+        <translation type="obsolete">Festplatten-Controller SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Festplatten-Controller SCSI</translation>
+        <translation type="obsolete">Festplatten-Controller SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1068,7 +1394,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Festplatten-Controller SAS</translation>
+        <translation type="obsolete">Festplatten-Controller SAS</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1078,6 +1404,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Zuweisen neuer MAC-Adressen für alle Netzwerkkarten</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1101,7 +1443,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>Empfange Daten ...</translation>
+        <translation type="obsolete">Empfange Daten ...</translation>
     </message>
 </context>
 <context>
@@ -1110,6 +1452,10 @@
         <source>Dropping data ...</source>
         <translation>Kopiere Daten ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation>Empfange Daten ...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -1165,24 +1511,14 @@
 <context>
     <name>UIEncryptionDataModel</name>
     <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>Passwort</translation>
+        <translation type="obsolete">Passwort</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>Von der folgenden Festplatte benutzt:</nobr><br>%1</numerusform>
             <numerusform><nobr>Von den folgenden % Festplatten benutzt:</nobr><br>%1</numerusform>
         </translation>
@@ -1577,47 +1913,47 @@
     <message>
         <source>Scale-factor</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">Skalierungsfaktor</translation>
+        <translation>Skalierungsfaktor</translation>
     </message>
     <message>
         <source>Unscaled HiDPI Video Output</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">Nicht skalierte HiDPI-Auflösung</translation>
+        <translation>Nicht skalierte HiDPI-Auflösung</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (display/Unscaled HiDPI Video Output)</comment>
-        <translation type="unfinished">aktiviert</translation>
+        <translation>aktiviert</translation>
     </message>
     <message>
         <source>Menu-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Menüleiste</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">aktiviert</translation>
+        <translation>aktiviert</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">deaktiviert</translation>
+        <translation>deaktiviert</translation>
     </message>
     <message>
         <source>Status-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Statusleiste</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">aktiviert</translation>
+        <translation>aktiviert</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">deaktiviert</translation>
+        <translation>deaktiviert</translation>
     </message>
 </context>
 <context>
@@ -1655,7 +1991,7 @@
     <name>UIGlobalSettingsDisplay</name>
     <message>
         <source>Maximum Guest Screen &Size:</source>
-        <translation>Maximale &Größe Gastbildschirm:</translation>
+        <translation>Maximale &Größe Gast-Bildschirm:</translation>
     </message>
     <message>
         <source>&Width:</source>
@@ -1663,7 +1999,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Legt die maximale Breite des Gastbildschirms fest, die der Gast einstellen darf.</translation>
+        <translation type="obsolete">Legt die maximale Breite des Gast-Bildschirms fest, die der Gast einstellen darf.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -1671,7 +2007,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Legt die maximale Höhe des Gastbildschirms fest, die der Gast einstellen darf.</translation>
+        <translation type="obsolete">Legt die maximale Höhe des Gast-Bildschirms fest, die der Gast einstellen darf.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -1698,7 +2034,7 @@
     </message>
     <message>
         <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
-        <translation>Setzt die maximale Größe des Gastbildschirms. Der Gast wird diese Angabe nur befolgen, wenn die Gasterweiterungen installiert sind.</translation>
+        <translation>Setzt die maximale Größe des Gast-Bildschirms. Der Gast wird diese Angabe nur befolgen, wenn die Gasterweiterungen installiert sind.</translation>
     </message>
     <message>
         <source>Machine Windows:</source>
@@ -1706,12 +2042,24 @@
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>Holt das Fenster der virtuellen Maschine unter der Maus hervor, wenn der Mauszeiger über das Fenster fährt.</translation>
+        <translation type="obsolete">Holt das Fenster der virtuellen Maschine unter der Maus hervor, wenn der Mauszeiger über das Fenster fährt.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>&Fenster unter Mauszeiger hervorholen</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -1733,11 +2081,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Paket hinzufügen</translation>
+        <translation type="obsolete">Paket hinzufügen</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Paket löschen</translation>
+        <translation type="obsolete">Paket löschen</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -1755,6 +2103,22 @@
         <source>&Extension Packages</source>
         <translation>&Zusatzpakete</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -1788,7 +2152,7 @@
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>&Host-Bildschirmschoner:</translation>
+        <translation type="obsolete">&Host-Bildschirmschoner:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -1796,7 +2160,15 @@
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Deaktivieren bei aktiven VMs</translation>
+        <translation type="obsolete">Deaktivieren bei aktiven VMs</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1827,11 +2199,19 @@
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Zeigt alle verfügbaren Aktionen, die durch Tastenkombinationen ausgelöst werden können.</translation>
+        <translation type="obsolete">Zeigt alle verfügbaren Aktionen, die durch Tastenkombinationen ausgelöst werden können.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Erlaubt das Filtern der Liste.</translation>
+        <translation type="obsolete">Erlaubt das Filtern der Liste.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1973,15 +2353,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Host-only Netzwerk &hinzufügen</translation>
+        <translation type="obsolete">Host-only Netzwerk &hinzufügen</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Host-only Netzwerk &entfernen</translation>
+        <translation type="obsolete">Host-only Netzwerk &entfernen</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>Host-only Netzwerk &ändern</translation>
+        <translation type="obsolete">Host-only Netzwerk &ändern</translation>
     </message>
     <message>
         <source>Lists all available host-only networks.</source>
@@ -2093,11 +2473,11 @@
     </message>
     <message>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
-        <translation>Das Host-Interface <b>%1</b> hat keine gültige kleinste Adresse für den Bereich gültiger DHCP-Adressen.</translation>
+        <translation>Das Host-Netzinterface <b>%1</b> hat keine gültige kleinste Adresse für den Bereich gültiger DHCP-Adressen.</translation>
     </message>
     <message>
         <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
-        <translation>Das Host-Interface <b>%1</b> hat keine gültige größte Adresse für den Bereich gültiger DHCP-Adressen.</translation>
+        <translation>Das Host-Netzinterface <b>%1</b> hat keine gültige größte Adresse für den Bereich gültiger DHCP-Adressen.</translation>
     </message>
     <message>
         <source>The name <b>%1</b> is being used for several NAT networks.</source>
@@ -2110,15 +2490,63 @@
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>NAT-Netzwerk &hinzufügen</translation>
+        <translation type="obsolete">NAT-Netzwerk &hinzufügen</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>NAT-Netzwerk &entfernen</translation>
+        <translation type="obsolete">NAT-Netzwerk &entfernen</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>NAT-Netzwerk &ändern</translation>
+        <translation type="obsolete">NAT-Netzwerk &ändern</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2137,7 +2565,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Erlaubt die manuelle Konfiguration dieses Host-only Netzwerkadapters.</translation>
+        <translation type="obsolete">Erlaubt die manuelle Konfiguration dieses Host-only Netzwerkadapters.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -2181,7 +2609,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Zeigt an, ob der DHCP-Server beim Start der Maschine aktiviert wird oder nicht.</translation>
+        <translation type="obsolete">Zeigt an, ob der DHCP-Server beim Start der Maschine aktiviert wird oder nicht.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -2215,6 +2643,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Zeigt die größte IP-Adresse, die der DHCP-Server für das Netzwerk an diesem Host-only Netzwerkadapter verwaltet.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -2228,7 +2664,7 @@
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Dieses NAT-Netzwerk aktivieren.</translation>
+        <translation type="obsolete">Dieses NAT-Netzwerk aktivieren.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -2256,7 +2692,7 @@
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Gibt an, ob dieses Netzwerk DHCP unterstützt.</translation>
+        <translation type="obsolete">Gibt an, ob dieses Netzwerk DHCP unterstützt.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -2264,7 +2700,7 @@
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Gibt an, ob dieses Netzwerk IPv6 unterstützt.</translation>
+        <translation type="obsolete">Gibt an, ob dieses Netzwerk IPv6 unterstützt.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -2272,16 +2708,36 @@
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Legt fest ob dieses Netzwerk als die voreingestellte IPv6-Route verwendet werden soll.</translation>
+        <translation type="obsolete">Legt fest ob dieses Netzwerk als die voreingestellte IPv6-Route verwendet werden soll.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Öffnet den Dialog für Regeln zur Portweiterleitung.</translation>
+        <translation type="obsolete">Öffnet den Dialog für Regeln zur Portweiterleitung.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&Port-Weiterleitung</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -2314,7 +2770,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Ändert den Proxy-Host.</translation>
+        <translation type="obsolete">Ändert den Proxy-Host.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -2322,7 +2778,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Ändert den Proxy-Port.</translation>
+        <translation type="obsolete">Ändert den Proxy-Port.</translation>
     </message>
     <message>
         <source>No proxy host is currently specified.</source>
@@ -2332,6 +2788,14 @@
         <source>No proxy port is currently specified.</source>
         <translation>Es wurde kein Proxy-Port angegeben.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -2349,7 +2813,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Gibt an, wie oft die Versionsüberprüfung ausgeführt werden soll. Um den Test zu deaktivieren brauchen Sie nur die obige Checkbox deaktivieren.</translation>
+        <translation type="obsolete">Gibt an, wie oft die Versionsüberprüfung ausgeführt werden soll. Um den Test zu deaktivieren brauchen Sie nur die obige Checkbox deaktivieren.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -2383,6 +2847,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Alle Versionen inkl. &Vorab-Versionen</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -2524,7 +2992,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Zeigt die Aktivität der virtuellen Festplatten:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Zeigt die Aktivität der virtuellen Festplatten:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -2597,7 +3065,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Zeigt, ob die Tastatur vom Gast gefangen ist (<img src=:/hostkey_captured_16px.png/>) oder nicht (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Zeigt, ob die Tastatur vom Gast gefangen ist (<img src=:/hostkey_captured_16px.png/>) oder nicht (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -2630,6 +3098,15 @@
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Zeigt die Aktivität der Diskettenlaufwerke:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -2642,19 +3119,19 @@
     <name>UIMachineLogic</name>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Monitor %1</translation>
+        <translation type="obsolete">Monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Sicherungspunkt %1</translation>
+        <translation type="obsolete">Sicherungspunkt %1</translation>
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Kein USB-Gerät angeschlossen</translation>
+        <translation type="obsolete">Kein USB-Gerät angeschlossen</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Keine unterstützten Geräte mit dem PC verbunden</translation>
+        <translation type="obsolete">Keine unterstützten Geräte mit dem PC verbunden</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -2662,19 +3139,19 @@
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Keine Webcam angeschlossen</translation>
+        <translation type="obsolete">Keine Webcam angeschlossen</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>Keine unterstützen Webcams am PC angeschlossen</translation>
+        <translation type="obsolete">Keine unterstützen Webcams am PC angeschlossen</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>Netzwerkadapter verbinden</translation>
+        <translation type="obsolete">Netzwerkadapter verbinden</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>Netzwerkadapter %1 verbinden</translation>
+        <translation type="obsolete">Netzwerkadapter %1 verbinden</translation>
     </message>
 </context>
 <context>
@@ -2693,7 +3170,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Richtet den Treiber für Audioausgabe ein. Wird der <b>Null-Audiotreiber</b> ausgewählt, erkennt der Gast eine Audio-Karte, Ein- und Ausgabe werden aber ignoriert.</translation>
+        <translation type="obsolete">Richtet den Treiber für Audioausgabe ein. Wird der <b>Null-Audiotreiber</b> ausgewählt, erkennt der Gast eine Audio-Karte, Ein- und Ausgabe werden aber ignoriert.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -2703,12 +3180,16 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Wählt den Typ der virtuellen Soundkarte. Ausgehend von dieser Einstellung emuliert VirtualBox unterschiedliche Audiokarten.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -2760,7 +3241,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Festlegen der VRDP Authentisierungsmethode.</translation>
+        <translation type="obsolete">Festlegen der VRDP Authentisierungsmethode.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -2768,7 +3249,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Legt die maximale Zeit für die Anmeldung des Gastes in Millisekunden fest.</translation>
+        <translation type="obsolete">Legt die maximale Zeit für die Anmeldung des Gastes in Millisekunden fest.</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -2780,7 +3261,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Die Portnummer des RDP-Servers. Der Wert <tt>0</tt> (Null) wählt den RDP-Standardport 3389.</translation>
+        <translation type="obsolete">Die Portnummer des RDP-Servers. Der Wert <tt>0</tt> (Null) wählt den RDP-Standardport 3389.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -2791,12 +3272,8 @@
         <translation>Ändern der Anzahl der virtuellen Monitore für diese virtuelle Maschine.</translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Legt fest ob mehrere gleichzeitige Verbindungen zur VM erlaubt sind.</translation>
+        <translation type="obsolete">Legt fest ob mehrere gleichzeitige Verbindungen zur VM erlaubt sind.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -2820,7 +3297,7 @@
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Geben Sie hier den Namen für die Videoaufzeichnungsdatei an.</translation>
+        <translation type="obsolete">Geben Sie hier den Namen für die Videoaufzeichnungsdatei an.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -2828,15 +3305,15 @@
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Diese Einstellung legt die Auflösung (Größe eines Bildes) der Videoaufzeichnung fest.</translation>
+        <translation type="obsolete">Diese Einstellung legt die Auflösung (Größe eines Bildes) der Videoaufzeichnung fest.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Diese Einstellung bestimmt die <b>waagerechte</b> Auflösung (Bildbreite) der Videoaufzeichnung.</translation>
+        <translation type="obsolete">Diese Einstellung bestimmt die <b>waagerechte</b> Auflösung (Bildbreite) der Videoaufzeichnung.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Diese Einstellung bestimmt die <b>senkrechte</b> Auflösung (Bildbreite) der Videoaufzeichnung.</translation>
+        <translation type="obsolete">Diese Einstellung bestimmt die <b>senkrechte</b> Auflösung (Bildbreite) der Videoaufzeichnung.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -2844,7 +3321,7 @@
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Diese Einstellung legt die maximale Anzahl an <b>Bildern pro Sekunde</b> fest. Wird dieser Wert vermindert, so reduziert sich die Dateigröße, aber es werden mehr Bilder übersprungen.</translation>
+        <translation type="obsolete">Diese Einstellung legt die maximale Anzahl an <b>Bildern pro Sekunde</b> fest. Wird dieser Wert vermindert, so reduziert sich die Dateigröße, aber es werden mehr Bilder übersprungen.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -2852,11 +3329,11 @@
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Wählen Sie hier die <b>Qualität</b>. Mehr Qualität wird durch größere Videoaufzeichnungsdateien erkauft.</translation>
+        <translation type="obsolete">Wählen Sie hier die <b>Qualität</b>. Mehr Qualität wird durch größere Videoaufzeichnungsdateien erkauft.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Geben Si ehier die Bitrate in <b>Kilobit pro Sekunde</b> an. Größere Werte ergeben eine bessere Qualität auf Kosten größerer Dateien.</translation>
+        <translation type="obsolete">Geben Si ehier die Bitrate in <b>Kilobit pro Sekunde</b> an. Größere Werte ergeben eine bessere Qualität auf Kosten größerer Dateien.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -2868,7 +3345,7 @@
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Es wurden weniger als <b>%1</b> Grafikspeicher für diese VM eingestellt. Um in den Vollbildmodus oder in den nahtlosen Modus schalten zu können, ist dies zu wenig.</translation>
+        <translation type="obsolete">Es wurden weniger als <b>%1</b> Grafikspeicher für diese VM eingestellt. Um in den Vollbildmodus oder in den nahtlosen Modus schalten zu können, ist dies zu wenig.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -2927,7 +3404,7 @@
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Videoaufzeichnung für Bildschirm %1 aktivieren.</translation>
+        <translation type="obsolete">Videoaufzeichnung für Bildschirm %1 aktivieren.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -2963,42 +3440,94 @@
     </message>
     <message>
         <source>&Screen</source>
-        <translation type="unfinished"></translation>
+        <translation>&Bildschirm</translation>
     </message>
     <message>
         <source>Scale Factor:</source>
-        <translation type="unfinished"></translation>
+        <translation>Skalierungsfaktor:</translation>
     </message>
     <message>
         <source>Controls the guest screen scale factor.</source>
+        <translation>Einstellung des Skalierungsfaktors des Gast-Bildschirms.</translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation></translation>
+    </message>
+    <message>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <translation>Verhindert die Skalierung des Gast-Bildschirminhaltes auf hochauflösenden Host-Bildschirmen.</translation>
+    </message>
+    <message>
+        <source>Use &Unscaled HiDPI Output</source>
+        <translation>&Nicht-skalierte HiDPI-Ausgabe</translation>
+    </message>
+    <message>
+        <source>Acceleration:</source>
+        <translation>Beschleunigung:</translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>100%</source>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>200%</source>
+        <source>Selects the VRDP authentication method.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%</source>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished">&Nicht-skalierte HiDPI-Ausgabe</translation>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3006,7 +3535,7 @@
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Zeigt den Pfad an, wo Sicherungspunkte für diese virtuelle Maschine gespeichert werden. Beachten Sie, dass Sicherungspunkte viel Platz beanspruchen können.</translation>
+        <translation type="obsolete">Zeigt den Pfad an, wo Sicherungspunkte für diese virtuelle Maschine gespeichert werden. Beachten Sie, dass Sicherungspunkte viel Platz beanspruchen können.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -3102,7 +3631,7 @@
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>Chiffre, die zur Verschlüsselung der virtuellen Festplatten benutzt wird.</translation>
+        <translation type="obsolete">Chiffre, die zur Verschlüsselung der virtuellen Festplatten benutzt wird.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -3141,6 +3670,14 @@
         <comment>cipher type</comment>
         <translation>nicht verändern</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -3166,23 +3703,35 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>Falls aktiviert wird die Mini-Toolbar im Vollbildmodus und im nahtlosen Modus gezeigt.</translation>
+        <translation type="obsolete">Falls aktiviert wird die Mini-Toolbar im Vollbildmodus und im nahtlosen Modus gezeigt.</translation>
+    </message>
+    <message>
+        <source>Show in &Fullscreen/Seamless</source>
+        <translation type="obsolete">im &Vollbild-/Seamless-Modus zeigen</translation>
+    </message>
+    <message>
+        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="obsolete">Zeigt die Mini-Toolbar am oberen Rand des Bildschirms wenn ausgewählt, sonst am unteren Rand.</translation>
+    </message>
+    <message>
+        <source>Show at &Top of Screen</source>
+        <translation>am &oberen Bildschirmrand zeigen</translation>
     </message>
     <message>
-        <source>Show in &Fullscreen/Seamless</source>
-        <translation>im &Vollbild-/Seamless-Modus zeigen</translation>
+        <source>Allows to modify VM status-bar contents.</source>
+        <translation>Ändern der Statusleiste des VM-Fensters.</translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>Zeigt die Mini-Toolbar am oberen Rand des Bildschirms wenn ausgewählt, sonst am unteren Rand.</translation>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
-        <translation>am &oberen Bildschirmrand zeigen</translation>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
-        <translation>Ändern der Statuszeile des VM-Fensters.</translation>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3210,7 +3759,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Legt fest, wie dieser virtuelle Netzwerkadapter an das physische Netzwerk des Host-Betriebssystems angeschlossen ist.</translation>
+        <translation type="obsolete">Legt fest, wie dieser virtuelle Netzwerkadapter an das physische Netzwerk des Host-Betriebssystems angeschlossen ist.</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -3226,7 +3775,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Zeigt oder verdeckt erweiterte Einstellungen für den Netzwerkadapter.</translation>
+        <translation type="obsolete">Zeigt oder verdeckt erweiterte Einstellungen für den Netzwerkadapter.</translation>
     </message>
     <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
@@ -3238,7 +3787,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Zeigt, ob das virtuelle Netzwerkkabel an die virtuelle Maschine angeschlossen ist oder nicht.</translation>
+        <translation type="obsolete">Zeigt, ob das virtuelle Netzwerkkabel an die virtuelle Maschine angeschlossen ist oder nicht.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -3246,7 +3795,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Öffnet den Dialog für Regeln zur Portweiterleitung.</translation>
+        <translation type="obsolete">Öffnet den Dialog für Regeln zur Portweiterleitung.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -3266,7 +3815,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Geben Sie hier Konfigurationseinstellungen für den generischen Treiber an. Diese Einstellungen müssen in der Form <b>Name=Wert</b> angegeben werden. Die möglichen Einstellungen richten sich nach dem Treiber. Benutzen Sie <b>Shift-Enter</b>, um einen neuen Eintrag hinzuzufügen.</translation>
+        <translation type="obsolete">Geben Sie hier Konfigurationseinstellungen für den generischen Treiber an. Diese Einstellungen müssen in der Form <b>Name=Wert</b> angegeben werden. Die möglichen Einstellungen richten sich nach dem Treiber. Benutzen Sie <b>Shift-Enter</b>, um einen neuen Eintrag hinzuzufügen.</translation>
     </message>
     <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
@@ -3320,6 +3869,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Der Name des NAT-Netzwerkes an welches diese Netzwerkkarte gebunden wird. Sie können NAT-Netzwerke in den globalen Netzwerkeinstellungen des VM-Managers hinzufügen oder entfernen.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -3368,28 +3937,48 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Zeigt die Basis-Portadresse dieser parallelen Schnittstelle. Zulässige Werte sind ganze Zahlen im Bereich von <tt>0</tt> bis <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Es wurde kein IRQ angegeben.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Es wurde kein I/O-Port angegeben.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Zwei oder mehr Ports haben identische Einstellungen.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Es wurde kein IRQ angegeben.</translation>
+        <translation type="obsolete">Es wurde kein IRQ angegeben.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Es wurde kein I/O-Port angegeben.</translation>
+        <translation type="obsolete">Es wurde kein I/O-Port angegeben.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Zwei oder mehr Ports haben identische Einstellungen.</translation>
+        <translation type="obsolete">Zwei oder mehr Ports haben identische Einstellungen.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Es wurde kein Pfad für den Port angegeben.</translation>
+        <translation type="obsolete">Es wurde kein Pfad für den Port angegeben.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
+        <translation type="obsolete">Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
     </message>
 </context>
 <context>
@@ -3400,42 +3989,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Diese Tabelle enthält Regeln zur Weiterleitung von IP-Ports.</translation>
+        <translation type="obsolete">Diese Tabelle enthält Regeln zur Weiterleitung von IP-Ports.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Neue Regel hinzufügen</translation>
+        <translation type="obsolete">Neue Regel hinzufügen</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Ausgewählte Regel kopieren</translation>
+        <translation type="obsolete">Ausgewählte Regel kopieren</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Ausgewählte Regel entfernen</translation>
+        <translation type="obsolete">Ausgewählte Regel entfernen</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Eine neue Regel für Port-Weiterleitung hinzufügen.</translation>
+        <translation type="obsolete">Eine neue Regel für Port-Weiterleitung hinzufügen.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Die ausgewählte Regel für Port-Weiterleitung entfernen.</translation>
+        <translation type="obsolete">Die ausgewählte Regel für Port-Weiterleitung entfernen.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Fügt einen neuen gemeinsamen Ordner hinzu.</translation>
+        <translation type="obsolete">Fügt einen neuen gemeinsamen Ordner hinzu.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Ändert den ausgewählten gemeinsamen Ordner.</translation>
+        <translation type="obsolete">Ändert den ausgewählten gemeinsamen Ordner.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Entfernt den ausgewählten gemeinsamen Ordner.</translation>
+        <translation type="obsolete">Entfernt den ausgewählten gemeinsamen Ordner.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -3471,15 +4060,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Gemeinsamen Ordner &hinzufügen</translation>
+        <translation type="obsolete">Gemeinsamen Ordner &hinzufügen</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>Gemeinsamen Ordner &ändern</translation>
+        <translation type="obsolete">Gemeinsamen Ordner &ändern</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Gemeinsamen Ordner &löschen</translation>
+        <translation type="obsolete">Gemeinsamen Ordner &löschen</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -3493,6 +4082,30 @@
         <source>Auto-mount</source>
         <translation>automatisch einbinden</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -3542,7 +4155,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Falls aktiviert wird die Änderung permanent.</translation>
+        <translation type="obsolete">Falls aktiviert wird die Änderung permanent.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3582,7 +4199,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Stellt den Modus für diese serielle Schnittstelle ein. Falls <b>nicht verbunden</b> gewählt wurde, wird ein serieller Port virtualisiert, der jedoch nicht mit dem Host verbunden ist.</translation>
+        <translation type="obsolete">Stellt den Modus für diese serielle Schnittstelle ein. Falls <b>nicht verbunden</b> gewählt wurde, wird ein serieller Port virtualisiert, der jedoch nicht mit dem Host verbunden ist.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -3609,10 +4226,6 @@
         <translation>Zeigt die Basis-Portadresse dieser seriellen Schnittstelle. Zulässige Werte sind ganze Zahlen im Bereich von <tt>0</tt> bis <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation>Mit Pipe/Socket &verbinden</translation>
     </message>
@@ -3624,28 +4237,56 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Es wurde kein IRQ angegeben.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Es wurde kein I/O-Port angegeben.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Zwei oder mehr Ports haben identische Einstellungen.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Es wurde kein IRQ angegeben.</translation>
+        <translation type="obsolete">Es wurde kein IRQ angegeben.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Es wurde kein I/O-Port angegeben.</translation>
+        <translation type="obsolete">Es wurde kein I/O-Port angegeben.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Zwei oder mehr Ports haben identische Einstellungen.</translation>
+        <translation type="obsolete">Zwei oder mehr Ports haben identische Einstellungen.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Der Port-Pfad wurde nicht angegeben.</translation>
+        <translation type="obsolete">Der Port-Pfad wurde nicht angegeben.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
+        <translation type="obsolete">Der gleiche Port-Pfad wurde mehrfach zugewiesen.</translation>
     </message>
 </context>
 <context>
@@ -3656,11 +4297,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Eintrag&nbsp;auf-/zuklappen</nobr></translation>
+        <translation type="obsolete"><nobr>Eintrag&nbsp;auf-/zuklappen</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Festplatte hinzufügen</nobr></translation>
+        <translation type="obsolete"><nobr>Festplatte hinzufügen</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -3716,19 +4357,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Fügt einen neuen Controller hinzu.</translation>
+        <translation type="obsolete">Fügt einen neuen Controller hinzu.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Entfernt den ausgewählten Controller.</translation>
+        <translation type="obsolete">Entfernt den ausgewählten Controller.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Fügt einen neuen Anschluss für den ausgewählten Controller hinzu.</translation>
+        <translation type="obsolete">Fügt einen neuen Anschluss für den ausgewählten Controller hinzu.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Entfernt den ausgewählten Anschluss.</translation>
+        <translation type="obsolete">Entfernt den ausgewählten Anschluss.</translation>
     </message>
     <message>
         <source>Hard &Disk:</source>
@@ -3740,7 +4381,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Zeigt alle Controller für Massenspeicher dieser Maschine sowie die angeschlossenen Abbilder bzw. Host-Laufwerke.</translation>
+        <translation type="obsolete">Zeigt alle Controller für Massenspeicher dieser Maschine sowie die angeschlossenen Abbilder bzw. Host-Laufwerke.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -3760,7 +4401,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Ändert den Namen des aktuell ausgewählten Controllers.</translation>
+        <translation type="obsolete">Ändert den Namen des aktuell ausgewählten Controllers.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -3812,7 +4453,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Benutze den Host-I/O-Cache.</translation>
+        <translation type="obsolete">Benutze den Host-I/O-Cache.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -3828,7 +4469,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Datei</translation>
+        <translation type="obsolete">Datei</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -3836,7 +4477,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Virtuelle Festplatte aufsetzen</translation>
+        <translation type="obsolete">Virtuelle Festplatte aufsetzen</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -3860,15 +4501,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Virtuelle Diskette aufsetzen</translation>
+        <translation type="obsolete">Virtuelle Diskette aufsetzen</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Neue Festplatte erzeugen...</translation>
+        <translation type="obsolete">Neue Festplatte erzeugen...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Datei für virtuelle Festplatte auswählen...</translation>
+        <translation type="obsolete">Datei für virtuelle Festplatte auswählen...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -3880,11 +4521,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Datei für virtuelle Diskette auswählen...</translation>
+        <translation type="obsolete">Datei für virtuelle Diskette auswählen...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Unterdrückt das Auswerfen des Mediums durch den Gast.</translation>
+        <translation type="obsolete">Unterdrückt das Auswerfen des Mediums durch den Gast.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -3892,7 +4533,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Markiert das Medium als nicht rotierbaren Speicher (SSD).</translation>
+        <translation type="obsolete">Markiert das Medium als nicht rotierbaren Speicher (SSD).</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -3950,7 +4591,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Bei Aktivierung wird diese virtuelle Platte als hot-pluggable markiert.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -3958,15 +4599,15 @@
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>Wählen Sie ein virtuelles optisches Medium...</translation>
+        <translation type="obsolete">Wählen Sie ein virtuelles optisches Medium...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>Optisches&nbsp;Laufwerk&nbsp;hinzufügen</nobr></translation>
+        <translation type="obsolete"><nobr>Optisches&nbsp;Laufwerk&nbsp;hinzufügen</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>Floppy-Laufwerk hinzufügen</nobr></translation>
+        <translation type="obsolete"><nobr>Floppy-Laufwerk hinzufügen</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -3986,10 +4627,95 @@
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>Virtuelles optisches Laufwerk aufsetzen</translation>
+        <translation type="obsolete">Virtuelles optisches Laufwerk aufsetzen</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
+        <translation>Verschlüsselt mit:</translation>
+    </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Datei</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3997,12 +4723,7 @@
     <name>UIMachineSettingsSystem</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
-    </message>
-    <message>
-        <source><qt>%1&nbsp;CPU</qt></source>
-        <comment>%1 is 1 for now</comment>
-        <translation></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -4030,7 +4751,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Abwärts (Strg+Ab)</translation>
+        <translation type="obsolete">Abwärts (Strg+Ab)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -4038,7 +4759,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Aufwärts (Strg+Auf)</translation>
+        <translation type="obsolete">Aufwärts (Strg+Auf)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -4099,7 +4820,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPUs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPUs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -4111,7 +4832,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Durch Aktivierung wird die virtuelle Echtzeituhr die Uhrzeit in UTC bereitstellen, anderenfalls in lokaler (Host-)Zeit. Unix-Gäste erwarten die Zeit normalerweise in UTC.</translation>
+        <translation type="obsolete">Durch Aktivierung wird die virtuelle Echtzeituhr die Uhrzeit in UTC bereitstellen, anderenfalls in lokaler (Host-)Zeit. Unix-Gäste erwarten die Zeit normalerweise in UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -4138,16 +4859,6 @@
         <translation>Begrenzt die jeder virtuellen CPU zur Verfügung stehende Zeit. Jede virtuelle CPU darf nicht länger als dieser Prozentsatz der verfügbaren Zeit auf einer physischen CPU laufen. Durch Setzen dieses Wertes auf 100% wird diese Begrenzung aufgehoben. Wird dieser Wert zu tief gewählt, kann sich dies negativ auf das Zeitverhalten der VM auswirken.</translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation>&Zeigergerät:</translation>
     </message>
@@ -4215,56 +4926,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Hardware-Virtualisierung ist in den Systemeinstellungen deaktiviert. Für Multi-CPU-Gäste muss diese Einstellung aber aktiviert sein. Diese Einstellung wird daher beim Bestätigen automatisch aktiviert.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Leeren Filter hinzufügen</translation>
+        <translation type="obsolete">&Leeren Filter hinzufügen</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Filter von einem Gerät &hinzufügen</translation>
+        <translation type="obsolete">Filter von einem Gerät &hinzufügen</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>Filter &ändern</translation>
+        <translation type="obsolete">Filter &ändern</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Filter &entfernen</translation>
+        <translation type="obsolete">Filter &entfernen</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Bewege Filter nach &oben</translation>
+        <translation type="obsolete">Bewege Filter nach &oben</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Bewege Filter nach &unten</translation>
+        <translation type="obsolete">Bewege Filter nach &unten</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Fügt einen neuen USB-Filter hinzu, bei dem alle Felder leer sind. Beachten Sie, dass solch ein Filter auf angeschlossene USB-Geräte passt.</translation>
+        <translation type="obsolete">Fügt einen neuen USB-Filter hinzu, bei dem alle Felder leer sind. Beachten Sie, dass solch ein Filter auf angeschlossene USB-Geräte passt.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Fügt einen neuen USB-Filter hinzu und initialisiert alle Felder mit den Werten des ausgewählten Gerätes, das an den PC angeschlossen ist.</translation>
+        <translation type="obsolete">Fügt einen neuen USB-Filter hinzu und initialisiert alle Felder mit den Werten des ausgewählten Gerätes, das an den PC angeschlossen ist.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Ändert den ausgewählten USB-Filter.</translation>
+        <translation type="obsolete">Ändert den ausgewählten USB-Filter.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Entfernt den ausgewählten USB-Filter.</translation>
+        <translation type="obsolete">Entfernt den ausgewählten USB-Filter.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Bewegt den ausgewählten USB-Filter nach oben.</translation>
+        <translation type="obsolete">Bewegt den ausgewählten USB-Filter nach oben.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Bewegt den ausgewählten USB-Filter nach unten.</translation>
+        <translation type="obsolete">Bewegt den ausgewählten USB-Filter nach unten.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -4281,7 +5018,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Aktiviert den virtuellen USB-EHCI-Controller für diese Maschine und damit USB-2.0-Unterstützung.</translation>
+        <translation type="obsolete">Aktiviert den virtuellen USB-EHCI-Controller für diese Maschine und damit USB-2.0-Unterstützung.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -4344,10 +5081,6 @@
         <translation type="obsolete">USB-2.0-Unterstützung wurde für diese virtuelle Maschine aktiviert. Dafür ist allerdings die Installation des <b>%1</b> notwendig. Bitte installieren Sie dieses Zusatzpaket von der VirtualBox-Webseite oder deaktivieren Sie die USB-2.0-Unterstützung zum Starten der Maschine.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>USB &1.1 (OHCI) Controller</source>
         <translation>USB-&1.1-Controller (OHCI)</translation>
     </message>
@@ -4357,7 +5090,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>Aktiviert den virtuellen xHCI-USB-Controller. Dieser implementiert Unterstützung für USB-3.0-Geräte.</translation>
+        <translation type="obsolete">Aktiviert den virtuellen xHCI-USB-Controller. Dieser implementiert Unterstützung für USB-3.0-Geräte.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -4367,6 +5100,66 @@
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB-2.0/3.0-Unterstützung wurde für diese virtuelle Maschine aktiviert. Dafür ist allerdings die Installation des <i>%1</i> notwendig. Bitte installieren Sie dieses Zusatzpaket von der VirtualBox-Webseite oder deaktivieren Sie die USB-2.0/3.0-Unterstützung zum Starten der Maschine.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -4399,7 +5192,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Legt die Hersteller-ID für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
+        <translation type="obsolete">Legt die Hersteller-ID für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -4407,7 +5200,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Legt die Produkt-ID für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
+        <translation type="obsolete">Legt die Produkt-ID für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -4415,7 +5208,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Legt die Revisions-Nr für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
+        <translation type="obsolete">Legt die Revisions-Nr für den Filter fest. Das Format für den <i>genauen</i> Vergleich ist <tt>XXXX</tt>, wobei <tt>X</tt> eine hexadezimale Zahl darstellt. Eine leere Zeichenfolge passt auf beliebige IDs.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -4423,7 +5216,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Verwendet den Hersteller als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf beliebige Hersteller.</translation>
+        <translation type="obsolete">Verwendet den Hersteller als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf beliebige Hersteller.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -4431,7 +5224,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Verwendet den Produktnamen als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf beliebige Produktnamen.</translation>
+        <translation type="obsolete">Verwendet den Produktnamen als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf beliebige Produktnamen.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -4439,27 +5232,59 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Verwendet die Seriennummer als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf alle Seriennummern.</translation>
+        <translation type="obsolete">Verwendet die Seriennummer als <i>exakte</i> Zeichenfolge. Eine leere Zeichenfolge passt auf alle Seriennummern.</translation>
     </message>
     <message>
         <source>Por&t:</source>
         <translation>&Port:</translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Legt den USB-Port für den Filter fest mit <i>genauer</i> Übereinstimmung fest. Eine leere Zeichenfolge passt auf beliebig Ports.</translation>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">Legt den USB-Port für den Filter fest mit <i>genauer</i> Übereinstimmung fest. Eine leere Zeichenfolge passt auf beliebig Ports.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>&Fernzugriff:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Legt fest, ob dieser Filter auf USB-Geräte angewendet wird, die nur lokal an den Hostcomputer angeschlossen sind (<i>Nein</i>), nur an einen entfernten Computer über VRDP (<i>Ja</i>) oder beides (<i>Beides</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Filter für USB-Geräte</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>&Fernzugriff:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Legt fest, ob dieser Filter auf USB-Geräte angewendet wird, die nur lokal an den Hostcomputer angeschlossen sind (<i>Nein</i>), nur an einen entfernten Computer über VRDP (<i>Ja</i>) oder beides (<i>Beides</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Filter für USB-Geräte</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4480,7 +5305,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Festplatten</translation>
+        <translation type="obsolete">&Festplatten</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -4498,6 +5323,10 @@
         <source>Removing medium...</source>
         <translation>Entferne Medium...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -4809,7 +5638,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Der Vollbildmodus konnte nicht aktiviert werden, weil dem Gast zu wenig Grafikspeicher zugewiesen wurde.</p><p>Sie sollten die VM so konfigurieren, dass ihr zumindest <b>%1</b> Grafikspeicher zur Verfügung steht.</p><p>Wählen Sie <b>Ignorieren</b> um dennoch in den Vollbildmodus zu wechseln oder betätigen Sie <b>Abbrechen</b> um dies nicht zu tun.</p></translation>
+        <translation type="obsolete"><p>Der Vollbildmodus konnte nicht aktiviert werden, weil dem Gast zu wenig Grafikspeicher zugewiesen wurde.</p><p>Sie sollten die VM so konfigurieren, dass ihr zumindest <b>%1</b> Grafikspeicher zur Verfügung steht.</p><p>Wählen Sie <b>Ignorieren</b> um dennoch in den Vollbildmodus zu wechseln oder betätigen Sie <b>Abbrechen</b> um dies nicht zu tun.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -4825,7 +5654,7 @@
     </message>
     <message>
         <source><p>The Virtual Machine reports that the guest OS supports <b>mouse pointer integration</b>. This means that you do not need to <i>capture</i> the mouse pointer to be able to use it in your guest OS -- all mouse actions you perform when the mouse pointer is over the Virtual Machine's display are directly sent to the guest OS. If the mouse is currently captured, it will be automatically uncaptured.</p><p>The mouse icon on the s [...]
-        <translation><p>Die virtuelle Maschine meldet Unterstützung der <b>Mauszeiger-Integration</b> durch das Gastsystem. Dies bedeutet, dass die Maus nicht gefangen werden muss, um es im Gastsystem zu benutzen, sondern alle Mausaktionen über der VM-Anzeigebereich werden direkt an den Gast weitergeleitet. Der Fangmodus wird automatisch aufgehoben, falls die Maus momentan gefangen ist.</p><p>Das Mausicon in der Statuszeile wird so &nbsp;<img src=:/mo [...]
+        <translation><p>Die virtuelle Maschine meldet Unterstützung der <b>Mauszeiger-Integration</b> durch das Gastsystem. Dies bedeutet, dass die Maus nicht gefangen werden muss, um es im Gastsystem zu benutzen, sondern alle Mausaktionen über der VM-Anzeigebereich werden direkt an den Gast weitergeleitet. Der Fangmodus wird automatisch aufgehoben, falls die Maus momentan gefangen ist.</p><p>Das Mausicon in der Statusleiste wird so &nbsp;<img src=:/m [...]
     </message>
     <message>
         <source><p>A new version of VirtualBox has been released! Version <b>%1</b> is available at <a href="http://www.virtualbox.org/">virtualbox.org</a>.</p><p>You can download this version using the link:</p><p><a href=%2>%3</a></p></source>
@@ -4847,7 +5676,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Möchten Sie den Datencontainer der virtuellen Festplatte <nobr><b>%1</b></nobr> wirklich löschen?</p><p>Wählen Sie <b>Löschen</b>, um den Container permanent zu löschen. Diese Operation <b>kann nicht</b> rückgäng gemacht werden.</p><p>Wählen Sie <b>Behalten</b> um die virtuelle Festplatte von der Liste der bekannten Medien zu löschen, den Datencontainer aber zu behalten. Dadu [...]
+        <translation type="obsolete"><p>Möchten Sie den Datencontainer der virtuellen Festplatte <nobr><b>%1</b></nobr> wirklich löschen?</p><p>Wählen Sie <b>Löschen</b>, um den Container permanent zu löschen. Diese Operation <b>kann nicht</b> rückgäng gemacht werden.</p><p>Wählen Sie <b>Behalten</b> um die virtuelle Festplatte von der Liste der bekannten Medien zu löschen, den Datencontainer aber z [...]
     </message>
     <message>
         <source>Delete</source>
@@ -4941,7 +5770,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Wenn ein Sicherungspunkt gelöscht wird, dann werden die Zustandsinformationen des Sicherungspunktes verworfen und Dateien, die Differenzinformationen enthalten, zusammengefasst. Dieser Vorgang kann einige Zeit in Anspruch nehmen, und die Information aus dem Sicherungspunkt kann danach nicht mehr restaueriert werden.</p><p>Möchten Sie den Sicherungspunkt <b>%1</b> wirklich löschen?</p></translation>
+        <translation type="obsolete"><p>Wenn ein Sicherungspunkt gelöscht wird, dann werden die Zustandsinformationen des Sicherungspunktes verworfen und Dateien, die Differenzinformationen enthalten, zusammengefasst. Dieser Vorgang kann einige Zeit in Anspruch nehmen, und die Information aus dem Sicherungspunkt kann danach nicht mehr restaueriert werden.</p><p>Möchten Sie den Sicherungspunkt <b>%1</b> wirklich löschen?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -4986,7 +5815,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Für das Löschen des Sicherungspunktes %1 wird vorübergehend mehr Platz auf der Festplatte benötigt. Im schlimmsten Fall wird die Größe des Abbildes %2 um %3 wachsen. Auf diesem Dateisystem sind aber nur noch %4 frei.</p><p>Falls während der Operation der Plattenplatz nicht ausreicht kann dies zu Fehlern im Abbild und in der VM-Konfiguration führen, im schlimmsten Fall zum Verlust von VM und VM-Abbild.</p><p>Sie können auf eigenes Risi [...]
+        <translation type="obsolete"><p>Für das Löschen des Sicherungspunktes %1 wird vorübergehend mehr Platz auf der Festplatte benötigt. Im schlimmsten Fall wird die Größe des Abbildes %2 um %3 wachsen. Auf diesem Dateisystem sind aber nur noch %4 frei.</p><p>Falls während der Operation der Plattenplatz nicht ausreicht kann dies zu Fehlern im Abbild und in der VM-Konfiguration führen, im schlimmsten Fall zum Verlust von VM und VM-Abbild.</p><p>Sie können  [...]
     </message>
     <message>
         <source>The current port forwarding rules are not valid. None of the host or guest port values may be set to zero.</source>
@@ -5090,7 +5919,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Die virtuelle Maschine wird nun in den <b>Vollbildmodus</b> geschaltet. Sie können jederzeit durch Betätigen von <b>%1</b> zum normalen Fenstermodus zurückkehren. Als <i>Host-Taste</i> ist derzeit <b>%2</b> eingestellt.</p><p>Das Hauptmenü wird im Vollbildmodus nicht angezeigt. Sie können es aber durch Betätigen von <b>Host+Pos1</b> aufrufen.</p></translation>
+        <translation type="obsolete"><p>Die virtuelle Maschine wird nun in den <b>Vollbildmodus</b> geschaltet. Sie können jederzeit durch Betätigen von <b>%1</b> zum normalen Fenstermodus zurückkehren. Als <i>Host-Taste</i> ist derzeit <b>%2</b> eingestellt.</p><p>Das Hauptmenü wird im Vollbildmodus nicht angezeigt. Sie können es aber durch Betätigen von <b>Host+Pos1</b> aufrufen.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -5261,7 +6090,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Sie sind im Begriff, eine neue virtuelle Maschine ohne Festplatte zu erzeugen. Ohne Festplatte kann kein Betriebssystem installiert werden. Sie können die Maschine aber mit einem optischen Medium oder über Netzwerk starten.</translation>
+        <translation type="obsolete">Sie sind im Begriff, eine neue virtuelle Maschine ohne Festplatte zu erzeugen. Ohne Festplatte kann kein Betriebssystem installiert werden. Sie können die Maschine aber mit einem optischen Medium oder über Netzwerk starten.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -5373,15 +6202,15 @@
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Möchten Sie die virtuelle Festplatte <nobr><b>%1</b></nobr> wirklich freigeben?</p><p>Damit wird sie von folgenden virtuellen Maschinen freigegeben:<b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Möchten Sie die virtuelle Festplatte <nobr><b>%1</b></nobr> wirklich freigeben?</p><p>Damit wird sie von folgenden virtuellen Maschinen freigegeben:<b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Möchten Sie wirklich das optische Medium <nobr><b>%1</b></nobr> freigeben?</p><p>Damit wird das Medium von folgenden virtuellen Maschinen freigegeben: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Möchten Sie wirklich das optische Medium <nobr><b>%1</b></nobr> freigeben?</p><p>Damit wird das Medium von folgenden virtuellen Maschinen freigegeben: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Möchten Sie wirklich das Diskettenmedium <nobr><b>%1</b></nobr> freigeben?</p><p>Damit wird das Medium von folgenden virtuellen Maschinen freigegeben: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Möchten Sie wirklich das Diskettenmedium <nobr><b>%1</b></nobr> freigeben?</p><p>Damit wird das Medium von folgenden virtuellen Maschinen freigegeben: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -5425,27 +6254,27 @@
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Die Plattenabbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
+        <translation type="obsolete">Die Plattenabbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Die CD/DVD-Abbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
+        <translation type="obsolete">Die CD/DVD-Abbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Die Diskettenabbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
+        <translation type="obsolete">Die Diskettenabbilddatei <nobr><b>%1</b></nobr> konnte nicht geöffnet werden.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Die Plattenabbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
+        <translation type="obsolete">Die Plattenabbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Die CD/DVD-Abbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
+        <translation type="obsolete">Die CD/DVD-Abbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Die Diskettenabbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
+        <translation type="obsolete">Die Diskettenabbilddatei <nobr><b>%2</b></nobr> konnte nicht geschlossen werden.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -5578,7 +6407,7 @@
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Eine oder mehrere virtuelle Festplatten, optische Medien oder Diskettenmedien sind momentan nicht zugreifbar. Virtuelle Maschinen, die diese Medien benutzen, können so lange nicht benutzt werden, bis die Medien wieder zugreifbar werden.</p><p>Wählen Sie <b>Überprüfen</b> um den Manager für virtuelle Medien zu öffnen oder wählen Sie <b>Ignorieren</b>, um dieses Problem zu ignorieren.</p></translation>
+        <translation type="obsolete"><p>Eine oder mehrere virtuelle Festplatten, optische Medien oder Diskettenmedien sind momentan nicht zugreifbar. Virtuelle Maschinen, die diese Medien benutzen, können so lange nicht benutzt werden, bis die Medien wieder zugreifbar werden.</p><p>Wählen Sie <b>Überprüfen</b> um den Manager für virtuelle Medien zu öffnen oder wählen Sie <b>Ignorieren</b>, um dieses Problem zu ignorieren.</p></translation>
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -5664,6 +6493,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
@@ -5815,27 +6684,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Name</translation>
+        <translation type="obsolete">Name</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokoll</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Host-IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Host-Port</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Gast-IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Gast-Port</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokoll</translation>
+        <translation type="unfinished">Protokoll</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Host-IP</translation>
+        <translation type="unfinished">Host-IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Host-Port</translation>
+        <translation type="unfinished">Host-Port</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Gast-IP</translation>
+        <translation type="unfinished">Gast-IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Gast-Port</translation>
+        <translation type="unfinished">Gast-Port</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6043,13 +6967,6 @@
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -6059,6 +6976,10 @@
         <source>Enable Status Bar</source>
         <translation>Statusleiste anzeigen</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -6420,7 +7341,7 @@
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Virtuelle Festplatte kopieren</translation>
+        <translation type="obsolete">Virtuelle Festplatte kopieren</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -6428,43 +7349,43 @@
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Zu kopierende Festplatte</translation>
+        <translation type="obsolete">Zu kopierende Festplatte</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Bitte wählen Sie eine virtuelle Festplatte zum Kopieren aus. Diese können Sie entweder aus der Liste oder mit Hilfe des Icons neben der Liste mittels Dateidialog auswählen.</p></translation>
+        <translation type="obsolete"><p>Bitte wählen Sie eine virtuelle Festplatte zum Kopieren aus. Diese können Sie entweder aus der Liste oder mit Hilfe des Icons neben der Liste mittels Dateidialog auswählen.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Wählen Sie eine virtuelle Festplatte zum Kopieren...</translation>
+        <translation type="obsolete">Wählen Sie eine virtuelle Festplatte zum Kopieren...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Dateityp der Festplatte</translation>
+        <translation type="obsolete">Dateityp der Festplatte</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Bitte wählen Sie den Typ der neuen virtuelle Festplatte. Falls Sie diese nicht mit anderer Virtualisierungssoftware verwenden, können Sie diese Einstellung unverändert lassen.</translation>
+        <translation type="obsolete">Bitte wählen Sie den Typ der neuen virtuelle Festplatte. Falls Sie diese nicht mit anderer Virtualisierungssoftware verwenden, können Sie diese Einstellung unverändert lassen.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Art der Speicherung</translation>
+        <translation type="obsolete">Art der Speicherung</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Bitte wählen Sie, ob die neue virtuelle Festplatte erst nach und nach zur Laufzeit (dynamisch) alloziert werden soll oder ob die Platte jetzt sofort vollständig alloziert werden soll (feste Größe).</translation>
+        <translation type="obsolete">Bitte wählen Sie, ob die neue virtuelle Festplatte erst nach und nach zur Laufzeit (dynamisch) alloziert werden soll oder ob die Platte jetzt sofort vollständig alloziert werden soll (feste Größe).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Eine <b>dynamisch allozierte</b> Datei einer virtuellen Platte belegt nur dann Platz auf der physischen Platte des Hosts, wenn der Gast Daten schreibt. Einmal belegter Platz wird nicht automatisch freigegeben.</p></translation>
+        <translation type="obsolete"><p>Eine <b>dynamisch allozierte</b> Datei einer virtuellen Platte belegt nur dann Platz auf der physischen Platte des Hosts, wenn der Gast Daten schreibt. Einmal belegter Platz wird nicht automatisch freigegeben.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Das Erzeugen einer Datei <b>fester Größe</b> dauert auf manchen Systemen länger aber bietet eine etwas bessere Performance.</p></translation>
+        <translation type="obsolete"><p>Das Erzeugen einer Datei <b>fester Größe</b> dauert auf manchen Systemen länger aber bietet eine etwas bessere Performance.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Die virtuelle Platte kann ebenfalls auf mehrere Dateien mit einer maximalen Größe von 2 GB aufgeteilt werden. Dies ist sinnvoll, wenn die virtuelle Maschine auf einem USB-Gerät oder auf älteren Systemen gespeichert werden soll, die keine größeren Dateien unterstützen.</translation>
+        <translation type="obsolete"><p>Die virtuelle Platte kann ebenfalls auf mehrere Dateien mit einer maximalen Größe von 2 GB aufgeteilt werden. Dies ist sinnvoll, wenn die virtuelle Maschine auf einem USB-Gerät oder auf älteren Systemen gespeichert werden soll, die keine größeren Dateien unterstützen.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -6480,19 +7401,19 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte</translation>
+        <translation type="obsolete">Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Neue Festplatte</translation>
+        <translation type="obsolete">Neue Festplatte</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Bitte geben Sie den Namen der neuen Festplatte an oder wählen Sie das Ordner-Icon, um einen anderen Ordner für die Datei zu wählen.</translation>
+        <translation type="obsolete">Bitte geben Sie den Namen der neuen Festplatte an oder wählen Sie das Ordner-Icon, um einen anderen Ordner für die Datei zu wählen.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte...</translation>
+        <translation type="obsolete">Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -6501,15 +7422,87 @@
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Zu &kopierende Festplatte</translation>
+        <translation type="obsolete">Zu &kopierende Festplatte</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Neue Festplatte</translation>
+        <translation type="obsolete">&Neue Festplatte</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Datei&typ der Festplatte</translation>
+        <translation type="obsolete">Datei&typ der Festplatte</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6552,7 +7545,7 @@
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Bitte wählen Sie, wie die Maschine geklont werden soll.</p><p><b>Vollständiger Klon</b> bedeutet, dass eine genaue Kopie der ursprünglichen virtuellen Maschine einschließlich aller virtuellen Festplattendateien angefertigt wird.</p><p>Falls Sie <b>Verknüpfter Klon</b> auswählen, wird eine neue virtuelle Maschine erzeugt aber die virtuellen Festplatten der ursprünglichen virtuellen Maschine werden verwendet. In  [...]
+        <translation type="obsolete"><p>Bitte wählen Sie, wie die Maschine geklont werden soll.</p><p><b>Vollständiger Klon</b> bedeutet, dass eine genaue Kopie der ursprünglichen virtuellen Maschine einschließlich aller virtuellen Festplattendateien angefertigt wird.</p><p>Falls Sie <b>Verknüpfter Klon</b> auswählen, wird eine neue virtuelle Maschine erzeugt aber die virtuellen Festplatten der ursprünglichen virtuellen Maschine werde [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -6610,6 +7603,10 @@
         <source>&Linked Clone</source>
         <translation>&verknüpfter Klon</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -6866,7 +7863,7 @@
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Virtuelle Festplatte</translation>
+        <translation type="obsolete">Virtuelle Festplatte</translation>
     </message>
     <message>
         <source>Create</source>
@@ -6874,31 +7871,31 @@
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Dateityp der Festplatte</translation>
+        <translation type="obsolete">Dateityp der Festplatte</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Bitte wählen Sie den Typ der neuen virtuelle Festplatte. Falls Sie diese nicht mit anderer Virtualisierungssoftware verwenden, können Sie diese Einstellung unverändert lassen.</translation>
+        <translation type="obsolete">Bitte wählen Sie den Typ der neuen virtuelle Festplatte. Falls Sie diese nicht mit anderer Virtualisierungssoftware verwenden, können Sie diese Einstellung unverändert lassen.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Art der Speicherung</translation>
+        <translation type="obsolete">Art der Speicherung</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Bitte wählen Sie, ob die neue virtuelle Festplatte erst nach und nach zur Laufzeit (dynamisch) alloziert werden soll oder ob die Platte jetzt sofort vollständig alloziert werden soll (feste Größe).</translation>
+        <translation type="obsolete">Bitte wählen Sie, ob die neue virtuelle Festplatte erst nach und nach zur Laufzeit (dynamisch) alloziert werden soll oder ob die Platte jetzt sofort vollständig alloziert werden soll (feste Größe).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Eine <b>dynamisch allozierte</b> Datei einer virtuellen Platte belegt nur dann Platz auf der physischen Platte des Hosts, wenn der Gast Daten schreibt. Einmal belegter Platz wird nicht automatisch freigegeben.</p></translation>
+        <translation type="obsolete"><p>Eine <b>dynamisch allozierte</b> Datei einer virtuellen Platte belegt nur dann Platz auf der physischen Platte des Hosts, wenn der Gast Daten schreibt. Einmal belegter Platz wird nicht automatisch freigegeben.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Das Erzeugen einer Datei <b>fester Größe</b> dauert auf manchen Systemen länger aber bietet eine etwas bessere Performance.</p></translation>
+        <translation type="obsolete"><p>Das Erzeugen einer Datei <b>fester Größe</b> dauert auf manchen Systemen länger aber bietet eine etwas bessere Performance.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Die virtuelle Platte kann ebenfalls auf mehrere Dateien mit einer maximalen Größe von 2 GB aufgeteilt werden. Dies ist sinnvoll, wenn die virtuelle Maschine auf einem USB-Gerät oder auf älteren Systemen gespeichert werden soll, die keine größeren Dateien unterstützen.</translation>
+        <translation type="obsolete"><p>Die virtuelle Platte kann ebenfalls auf mehrere Dateien mit einer maximalen Größe von 2 GB aufgeteilt werden. Dies ist sinnvoll, wenn die virtuelle Maschine auf einem USB-Gerät oder auf älteren Systemen gespeichert werden soll, die keine größeren Dateien unterstützen.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -6922,15 +7919,15 @@
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Bitte geben Sie den Namen der neuen Festplatte an oder wählen Sie das Ordner-Icon, um einen anderen Ordner für die Datei zu wählen.</translation>
+        <translation type="obsolete">Bitte geben Sie den Namen der neuen Festplatte an oder wählen Sie das Ordner-Icon, um einen anderen Ordner für die Datei zu wählen.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte...</translation>
+        <translation type="obsolete">Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Wählen Sie die Größe der virtuellen Festplatte in Megabyte. Dies ist die maximal nutzbare Größe der virtuellen Festplatte.</translation>
+        <translation type="obsolete">Wählen Sie die Größe der virtuellen Festplatte in Megabyte. Dies ist die maximal nutzbare Größe der virtuellen Festplatte.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -6942,7 +7939,55 @@
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Datei&typ der Festplatte</translation>
+        <translation type="obsolete">Datei&typ der Festplatte</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6973,15 +8018,15 @@
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Festplatte</translation>
+        <translation type="obsolete">Festplatte</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Sie können eine virtuelle Festplatte zur Konfiguration hinzufügen. Dafür können Sie eine neue Datei erzeugen oder eine Datei aus der Liste mit dem Icon auswählen.</p><p>Für ein umfangreicheres Setup können Sie diesen Schritt auch auslassen und später Änderungen an der Konfiguration der virtuellen Maschine vornehmen.</p><p>Die empfohlene Größe der Festplatte beträgt <b>%1</b>.</p></translation>
+        <translation type="obsolete"><p>Sie können eine virtuelle Festplatte zur Konfiguration hinzufügen. Dafür können Sie eine neue Datei erzeugen oder eine Datei aus der Liste mit dem Icon auswählen.</p><p>Für ein umfangreicheres Setup können Sie diesen Schritt auch auslassen und später Änderungen an der Konfiguration der virtuellen Maschine vornehmen.</p><p>Die empfohlene Größe der Festplatte beträgt <b>%1</b>.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Datei für virtuelle Festplatte auswählen...</translation>
+        <translation type="obsolete">Datei für virtuelle Festplatte auswählen...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -6989,15 +8034,39 @@
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>&Keine Festplatte</translation>
+        <translation type="obsolete">&Keine Festplatte</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Festplatte erzeugen</translation>
+        <translation type="obsolete">&Festplatte erzeugen</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Vorhandene Festplatte verwenden</translation>
+        <translation type="obsolete">&Vorhandene Festplatte verwenden</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Datei für virtuelle Festplatte auswählen...</translation>
     </message>
 </context>
 <context>
@@ -7050,7 +8119,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Öffnet einen Dialog zur Auswahl eines anderen Verzeichnisses.</translation>
+        <translation type="obsolete">Öffnet einen Dialog zur Auswahl eines anderen Verzeichnisses.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -7058,7 +8127,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Öffnet einen Dialog um eine andere Datei auszuwählen.</translation>
+        <translation type="obsolete">Öffnet einen Dialog um eine andere Datei auszuwählen.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -7070,16 +8139,32 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Bitte geben Sie hier das gewünschte Verzeichnis ein.</translation>
+        <translation type="obsolete">Bitte geben Sie hier das gewünschte Verzeichnis ein.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Bitte geben Sie hier den gewünschten Pfad ein.</translation>
+        <translation type="obsolete">Bitte geben Sie hier den gewünschten Pfad ein.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>Der Standardpfad wird nach Bestätigen der Änderungen und erneutes Öffnen dieses Dialogs angezeigt.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobal</name>
@@ -7855,7 +8940,7 @@
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Diese Festplatte wird indirekt mittels einer neu erzeugten Differenzdatei angeschlossen.</translation>
+        <translation type="unfinished">Diese Festplatte wird indirekt mittels einer neu erzeugten Differenzdatei angeschlossen.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -7865,7 +8950,7 @@
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Diese Basisfestplatte ist indirekt über die folgenden Differenzfestplatten eingebunden:</translation>
+        <translation type="unfinished">Diese Basisfestplatte ist indirekt über die folgenden Differenzfestplatten eingebunden:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -8297,11 +9382,11 @@
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Bitte wählen Sie eine Datei für die virtuelle Festplatte aus</translation>
+        <translation type="obsolete">Bitte wählen Sie eine Datei für die virtuelle Festplatte aus</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Alle Dateien für virtuelle Festplatten (%1)</translation>
+        <translation type="obsolete">Alle Dateien für virtuelle Festplatten (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -8345,7 +9430,7 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte</translation>
+        <translation type="obsolete">Bitte wählen Sie einen Dateinamen für die neue virtuelle Festplatte</translation>
     </message>
     <message>
         <source>Differencing</source>
@@ -8433,7 +9518,7 @@
     <message>
         <source>None</source>
         <comment>ParavirtProvider</comment>
-        <translation>kein</translation>
+        <translation>keine</translation>
     </message>
     <message>
         <source>Default</source>
@@ -8542,23 +9627,40 @@
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>Diese Festplatte wird indirekt mittels einer neu erzeugten Differenzdatei angeschlossen.</translation>
+        <translation type="obsolete">Diese Festplatte wird indirekt mittels einer neu erzeugten Differenzdatei angeschlossen.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>Einige der zu dieser virtuellen Festplatte gehörigen Dateien sind nicht zugreifbar. Bitte verwenden Sie den Manager für virtuelle Medien um diese Dateien anzuzeigen.</translation>
+        <translation type="obsolete">Einige der zu dieser virtuellen Festplatte gehörigen Dateien sind nicht zugreifbar. Bitte verwenden Sie den Manager für virtuelle Medien um diese Dateien anzuzeigen.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>Diese Basisfestplatte ist indirekt über die folgenden Differenzfestplatten eingebunden:</translation>
+        <translation type="obsolete">Diese Basisfestplatte ist indirekt über die folgenden Differenzfestplatten eingebunden:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation>verschlüsselt</translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -8671,7 +9773,7 @@
     </message>
     <message>
         <source>Attached to:</source>
-        <translation>Angeschlossen an:</translation>
+        <translation>angeschlossen an:</translation>
     </message>
     <message>
         <source>&Copy...</source>
@@ -8695,11 +9797,11 @@
     </message>
     <message>
         <source><i>Not&nbsp;Encrypted</i></source>
-        <translation type="unfinished"></translation>
+        <translation><i>nicht&nbsp;verschlüsselt</i></translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
-        <translation type="unfinished"></translation>
+        <translation>verschlüsselt mit:</translation>
     </message>
 </context>
 <context>
@@ -8816,7 +9918,7 @@
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Zeigt Einzelheiten des ausgewählten Sicherungspunktes</translation>
+        <translation type="obsolete">Zeigt Einzelheiten des ausgewählten Sicherungspunktes</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -8832,11 +9934,11 @@
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Der ausgewählte Sicherungspunkt wird wieder hergestellt</translation>
+        <translation type="obsolete">Der ausgewählte Sicherungspunkt wird wieder hergestellt</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Der ausgewählte Sicherungspunkt wird gelöscht</translation>
+        <translation type="obsolete">Der ausgewählte Sicherungspunkt wird gelöscht</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -8848,7 +9950,23 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Die ausgewählte virtuelle Maschine klonen</translation>
+        <translation type="obsolete">Die ausgewählte virtuelle Maschine klonen</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -8872,6 +9990,10 @@
             <numerusform>Warnung: Sie erstellen einen Snapshot von einer laufenden Maschine, die %n unveränderliche Festplattenabbilder angeschlossen hat. So lange Sie mit diesen Sicherungspunkt arbeiten, werden die unveränderlichen Festplattenabbilder nicht zurück gesetzt, um Datenverlust zu vermeiden.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Sicherungspunkt %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts
index 95cdafb..57f1903 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_en.ts
@@ -11,6 +11,14 @@
             <numerusform>This virtual machine is password protected. Please enter the encryption passwords below.</numerusform>
         </translation>
     </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIEncryptionDataModel</name>
@@ -22,14 +30,6 @@
             <numerusform>Used by the following hard drives:<br>%1</numerusform>
         </translation>
     </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
 </context>
 <context>
     <name>UIGChooserItemGroup</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
index 343a759..5796ed6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts
@@ -327,7 +327,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensiona la pantalla del invitado cuando se redimensiona la ventana (requiere instalar las «Guest Additions»)</translation>
+        <translation type="obsolete">Redimensiona la pantalla del invitado cuando se redimensiona la ventana (requiere instalar las «Guest Additions»)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -415,7 +415,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Enviar el evento ACPI de presión del botón de energía a la máquina virtual</translation>
+        <translation type="obsolete">Enviar el evento ACPI de presión del botón de energía a la máquina virtual</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -451,7 +451,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Cambiar la configuración de los adaptadores de red</translation>
+        <translation type="obsolete">Cambiar la configuración de los adaptadores de red</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -459,7 +459,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Crear o modificar las carpetas compartidas</translation>
+        <translation type="obsolete">Crear o modificar las carpetas compartidas</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -608,7 +608,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Administrar la configuración de la máquina virtual</translation>
+        <translation type="obsolete">Administrar la configuración de la máquina virtual</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -616,7 +616,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Mostrar el historial de eventos de la máquina virtual seleccionada</translation>
+        <translation type="obsolete">Mostrar el historial de eventos de la máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -640,7 +640,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Mostrar el Administrador de operaciones de red</translation>
+        <translation type="obsolete">Mostrar el Administrador de operaciones de red</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -652,7 +652,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Mostrar una ventana con la información del producto</translation>
+        <translation type="obsolete">Mostrar una ventana con la información del producto</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -664,7 +664,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Tomar una captura de pantalla de la máquina virtual</translation>
+        <translation type="obsolete">Tomar una captura de pantalla de la máquina virtual</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -707,11 +707,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Preferencias...</translation>
+        <translation type="obsolete">&Preferencias...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Mostrar la ventana de configuración global</translation>
+        <translation type="obsolete">Mostrar la ventana de configuración global</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -727,15 +727,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Crear una nueva máquina virtual</translation>
+        <translation type="obsolete">Crear una nueva máquina virtual</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Agregar una máquina virtual existente</translation>
+        <translation type="obsolete">Agregar una máquina virtual existente</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Renombrar el grupo seleccionado de máquina virtual</translation>
+        <translation type="obsolete">Renombrar el grupo seleccionado de máquina virtual</translation>
     </message>
     <message>
         <source>Break the selected virtual machine group</source>
@@ -759,15 +759,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Ac&tualizar...</translation>
+        <translation type="obsolete">Ac&tualizar...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Actualizar la disponibilidad de la máquina virtual seleccionada</translation>
+        <translation type="obsolete">Actualizar la disponibilidad de la máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Mostrar en Finder</translation>
+        <translation type="obsolete">Mostrar en Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -775,7 +775,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Mostrar en explorador</translation>
+        <translation type="obsolete">Mostrar en explorador</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -783,11 +783,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Mostrar en el administrador de archivos</translation>
+        <translation type="obsolete">Mostrar en el administrador de archivos</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Mostrar el archivo VirtualBox Machine Definition en el administrador de archivos</translation>
+        <translation type="obsolete">Mostrar el archivo VirtualBox Machine Definition en el administrador de archivos</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -799,7 +799,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Agregar un nuevo grupo basado en los elementos seleccionados</translation>
+        <translation type="obsolete">Agregar un nuevo grupo basado en los elementos seleccionados</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -807,7 +807,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clonar la máquina virtual seleccionada</translation>
+        <translation type="obsolete">Clonar la máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -823,7 +823,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>&Descartar el estado guardado...</translation>
+        <translation type="obsolete">&Descartar el estado guardado...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -831,7 +831,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Crear un alias en el escritorio</translation>
+        <translation type="obsolete">Crear un alias en el escritorio</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -839,7 +839,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Crear un acceso directo en el escritorio</translation>
+        <translation type="obsolete">Crear un acceso directo en el escritorio</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -887,7 +887,7 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Ordenar los elementos de la máquina virtual seleccionada alfabéticamente</translation>
+        <translation type="obsolete">Ordenar los elementos de la máquina virtual seleccionada alfabéticamente</translation>
     </message>
     <message>
         <source>&Add Group...</source>
@@ -895,43 +895,43 @@
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Eliminar las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Eliminar las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Iniciar las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Iniciar las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Cambiar a las ventanas de las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Cambiar a las ventanas de las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspender la ejecución de las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Suspender la ejecución de las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reiniciar las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Reiniciar las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Descartar el estado guardado de la máquina virtual seleccionada</translation>
+        <translation type="obsolete">Descartar el estado guardado de la máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Mostrar el archivo de la definición de la máquina virtual en Finder</translation>
+        <translation type="obsolete">Mostrar el archivo de la definición de la máquina virtual en Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Mostrar el archivo de la difinición de la máquina virtual en el explorardor</translation>
+        <translation type="obsolete">Mostrar el archivo de la difinición de la máquina virtual en el explorardor</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea un archivo de alias al archivo de definición de máquina virtual en su escritorio</translation>
+        <translation type="obsolete">Crea un archivo de alias al archivo de definición de máquina virtual en su escritorio</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea un acceso directo al archivo de definición de máquina virtual en su escritorio</translation>
+        <translation type="obsolete">Crea un acceso directo al archivo de definición de máquina virtual en su escritorio</translation>
     </message>
     <message>
         <source>Sort Parent Group</source>
@@ -939,15 +939,15 @@
     </message>
     <message>
         <source>Save State</source>
-        <translation>Guardar estado</translation>
+        <translation type="obsolete">Guardar estado</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Guardar el estado de la máquinas virtuales selecciondas </translation>
+        <translation type="obsolete">Guardar el estado de la máquinas virtuales selecciondas </translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Enviar el evento de presión de botón de enegía ACPI a las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Enviar el evento de presión de botón de enegía ACPI a las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -955,7 +955,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Apagar las máquinas virtuales seleccionadas</translation>
+        <translation type="obsolete">Apagar las máquinas virtuales seleccionadas</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -971,15 +971,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>&Desagrupar...</translation>
+        <translation type="obsolete">&Desagrupar...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Desagrupar elementos del grupo de la máquina seleccionada</translation>
+        <translation type="obsolete">Desagrupar elementos del grupo de la máquina seleccionada</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Ordenar</translation>
+        <translation type="obsolete">Ordenar</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -987,7 +987,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Ordenar el grupo de la primera máquina seleccionada alfabéticamente</translation>
+        <translation type="obsolete">Ordenar el grupo de la primera máquina seleccionada alfabéticamente</translation>
     </message>
     <message>
         <source>Drag'n'Drop</source>
@@ -995,7 +995,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Guardar el estado de la máquina virtual</translation>
+        <translation type="obsolete">Guardar el estado de la máquina virtual</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -1015,7 +1015,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Alternar conexiones de escritorio remoto (RDP) a esta máquina</translation>
+        <translation type="obsolete">Alternar conexiones de escritorio remoto (RDP) a esta máquina</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -1023,7 +1023,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Alternar captura de vídeo</translation>
+        <translation type="obsolete">Alternar captura de vídeo</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -1031,225 +1031,289 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Configurar las preferencias de captura de vídeo</translation>
+        <translation type="obsolete">Configurar las preferencias de captura de vídeo</translation>
     </message>
     <message>
         <source>Popup Menu</source>
         <translation>Menú emergente</translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Teclado</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Network</source>
+        <translation type="obsolete">Red</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Mostrar &historial de eventos...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Teclado</translation>
+        <source>&File</source>
+        <translation type="unfinished">&Archivo</translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Red</translation>
+        <source>Send the %1 sequence to the virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&USB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">Mostrar &historial de eventos...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Archivo</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferencias...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1261,9 +1325,185 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Previsualizar monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">No hay dispositivos USB conetados</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">No hay dispositivos soportados conectados al PC anfitrión</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">A&ctualizar</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Habilitado</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1272,16 +1512,39 @@
         <source>Popup Menu</source>
         <translation type="obsolete">Menú emergente</translation>
     </message>
-</context>
-<context>
-    <name>UIAddDiskEncryptionPasswordDialog</name>
+</context>
+<context>
+    <name>UIAddDiskEncryptionPasswordDialog</name>
+    <message>
+        <source>%1 - Disk Encryption</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <source>%1 - Disk Encryption</source>
+        <source>Password</source>
+        <comment>password table field</comment>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
             <numerusform></numerusform>
@@ -1340,15 +1603,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlador IDE de disco duro</translation>
+        <translation type="obsolete">Controlador IDE de disco duro</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlador SATA de disco duro</translation>
+        <translation type="obsolete">Controlador SATA de disco duro</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlador SCSI de disco duro</translation>
+        <translation type="obsolete">Controlador SCSI de disco duro</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1406,7 +1669,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Controlador de disco duro (SAS)</translation>
+        <translation type="obsolete">Controlador de disco duro (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1416,6 +1679,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinicializar la dirección MAC de todas las tarjetas de red</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2104,18 +2383,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Descartando datos...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2221,32 +2497,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3484,7 +3734,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Especifica la anchura máxima a usar por el invitado.</translation>
+        <translation type="obsolete">Especifica la anchura máxima a usar por el invitado.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3492,7 +3742,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Especifica la altura máxima a usar por el invitado.</translation>
+        <translation type="obsolete">Especifica la altura máxima a usar por el invitado.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3526,11 +3776,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3558,11 +3816,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Agregar paquete</translation>
+        <translation type="obsolete">Agregar paquete</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Eliminar paquete</translation>
+        <translation type="obsolete">Eliminar paquete</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3580,6 +3838,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>Paquetes de &extensión</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3653,7 +3927,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>&Protector de pantalla de anfitrión:</translation>
+        <translation type="obsolete">&Protector de pantalla de anfitrión:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3661,7 +3935,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Inhabilitar cuando se estén ejecutando máquinas virtuales</translation>
+        <translation type="obsolete">Inhabilitar cuando se estén ejecutando máquinas virtuales</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3716,11 +3998,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Listar todos los accesos que pueden ser configurados.</translation>
+        <translation type="obsolete">Listar todos los accesos que pueden ser configurados.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Introduzca una secuencia para filtrar la lista de accesos.</translation>
+        <translation type="obsolete">Introduzca una secuencia para filtrar la lista de accesos.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3899,15 +4189,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Agregar red sólo-anfitrión</translation>
+        <translation type="obsolete">&Agregar red sólo-anfitrión</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Elimina&r red sólo-anfitrión</translation>
+        <translation type="obsolete">Elimina&r red sólo-anfitrión</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Editar red sólo-anfitrión</translation>
+        <translation type="obsolete">&Editar red sólo-anfitrión</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -4049,20 +4339,68 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Agregar red NAT</translation>
+        <translation type="obsolete">&Agregar red NAT</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Renombrar red NAT</translation>
+        <translation type="obsolete">&Renombrar red NAT</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>&Editar red NAT</translation>
+        <translation type="obsolete">&Editar red NAT</translation>
     </message>
     <message>
         <source>The name <b>%1</b> is being used for several NAT networks.</source>
         <translation>El nombre <b>%1</b> está siendo usado para varias redes NAT.</translation>
     </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetails</name>
@@ -4175,7 +4513,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Usar la configuración manual para este adaptador de red sólo-anfitrión.</translation>
+        <translation type="obsolete">Usar la configuración manual para este adaptador de red sólo-anfitrión.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4219,7 +4557,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Indica si el servidor DHCP está habilitado al iniciar en esta máquina o no.</translation>
+        <translation type="obsolete">Indica si el servidor DHCP está habilitado al iniciar en esta máquina o no.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4253,6 +4591,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Muestra el límite superior de las direcciónes ofrecidas por el servidor DHCP de la red asociada con este adaptador sólo-anfitrión.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4266,7 +4612,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Habilitar esta red NAT.</translation>
+        <translation type="obsolete">Habilitar esta red NAT.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4294,7 +4640,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Determina cuando esta red soporta DHCP.</translation>
+        <translation type="obsolete">Determina cuando esta red soporta DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4302,7 +4648,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Determina cuando esta red soporta IPv6.</translation>
+        <translation type="obsolete">Determina cuando esta red soporta IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4322,11 +4668,31 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Determina cuando esta red debería ser promocionada como la ruta IPv6 por defecto.</translation>
+        <translation type="obsolete">Determina cuando esta red debería ser promocionada como la ruta IPv6 por defecto.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Abre una vetana para administrar las reglas de reenvío de puertos.</translation>
+        <translation type="obsolete">Abre una vetana para administrar las reglas de reenvío de puertos.</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4360,7 +4726,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Cambia la máquina del proxy.</translation>
+        <translation type="obsolete">Cambia la máquina del proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4368,7 +4734,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Cambia el puerto del proxy.</translation>
+        <translation type="obsolete">Cambia el puerto del proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4402,6 +4768,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>No se ha especificado puerto proxy.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4419,7 +4793,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Especifica cada cuanto se realizará la comprobación de actualizaciones de VirtualBox. Si desea deshabilitar esta comprobación, simplemente desmarce la casilla de verificación anterior.</translation>
+        <translation type="obsolete">Especifica cada cuanto se realizará la comprobación de actualizaciones de VirtualBox. Si desea deshabilitar esta comprobación, simplemente desmarce la casilla de verificación anterior.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4453,6 +4827,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Todas las nuevas publicaciones y &pre-publicaciones</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4871,7 +5249,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indica la actividad de los discos duros virtuales:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indica la actividad de los discos duros virtuales:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4953,7 +5331,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica si el teclado está capturado por el SO invitado (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica si el teclado está capturado por el SO invitado (<img src=:/hostkey_captured_16px.png/>) o no (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -5008,6 +5386,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -5028,11 +5415,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Previsualizar monitor %1</translation>
+        <translation type="obsolete">Previsualizar monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Instantánea %1</translation>
+        <translation type="obsolete">Instantánea %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -5068,32 +5455,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>No hay dispositivos USB conetados</translation>
+        <translation type="obsolete">No hay dispositivos USB conetados</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>No hay dispositivos soportados conectados al PC anfitrión</translation>
+        <translation type="obsolete">No hay dispositivos soportados conectados al PC anfitrión</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Seleccionar un nombre de archivo para la captura de pantalla...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -5111,7 +5482,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controla el controlador de salida de audio. El <b>Controlador de audio nulo</b> hace que el invitado vea una tarjeta de sonido, sin embargo, los accesos a ésta serán ignorados.</translation>
+        <translation type="obsolete">Controla el controlador de salida de audio. El <b>Controlador de audio nulo</b> hace que el invitado vea una tarjeta de sonido, sin embargo, los accesos a ésta serán ignorados.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -5121,6 +5492,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selecciona el tipo de tarjeta de sonido. Dependiendo este valor, VirtualBox proporcionará diferentes dispositivos de audio a la máquina virtual.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -5130,7 +5505,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5186,7 +5561,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Define el método de autenticación VRDP.</translation>
+        <translation type="obsolete">Define el método de autenticación VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5194,7 +5569,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica el tiempo de espera para la autenticación del invitado (en milisegundos).</translation>
+        <translation type="obsolete">Especifica el tiempo de espera para la autenticación del invitado (en milisegundos).</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5210,7 +5585,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>El número de puerto del servidor VRDP. Puede especificar <tt>0</tt> (cero), para seleccionar el puerto 3389, el puerto estándar para RDP.</translation>
+        <translation type="obsolete">El número de puerto del servidor VRDP. Puede especificar <tt>0</tt> (cero), para seleccionar el puerto 3389, el puerto estándar para RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5222,11 +5597,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Especifica cuando múltiples conexiones simultáneas a la MV son permitidas.</translation>
+        <translation type="obsolete">Especifica cuando múltiples conexiones simultáneas a la MV son permitidas.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5266,7 +5641,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Esta preferencia determina el nombre de archivo que VirtualBox usa para guardar el contenido grabado.</translation>
+        <translation type="obsolete">Esta preferencia determina el nombre de archivo que VirtualBox usa para guardar el contenido grabado.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5274,15 +5649,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Esta preferencia determina la resolución (tamaño de fotograma) del vídeo a grabar.</translation>
+        <translation type="obsolete">Esta preferencia determina la resolución (tamaño de fotograma) del vídeo a grabar.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Esta preferencia determina la resolución <b>horizontal</b> (ancho de fotograma) del vídeo a grabar.</translation>
+        <translation type="obsolete">Esta preferencia determina la resolución <b>horizontal</b> (ancho de fotograma) del vídeo a grabar.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Esta preferencia determina la resolución <b>vertical</b> (altura de fotograma) del vídeo a grabar.</translation>
+        <translation type="obsolete">Esta preferencia determina la resolución <b>vertical</b> (altura de fotograma) del vídeo a grabar.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5314,7 +5689,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>La máquina virtual tiene asignados menos de <b>%1</b> de memoria de vídeo que es la cantidad mínima requerida para intercambiar entre el modo a pantalla completa o el modo fluído.</translation>
+        <translation type="obsolete">La máquina virtual tiene asignados menos de <b>%1</b> de memoria de vídeo que es la cantidad mínima requerida para intercambiar entre el modo a pantalla completa o el modo fluído.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5373,7 +5748,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Habilitar grabación de vídeo para la pantalla %1.</translation>
+        <translation type="obsolete">Habilitar grabación de vídeo para la pantalla %1.</translation>
     </message>
     <message>
         <source>When checked, VirtualBox will record the virtual machine session as a video file.</source>
@@ -5381,15 +5756,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Esta preferencia determina el máximo número de <b>fotogramas por segundo<b>. Los fotogramas adicionales serán descartados. Reducir este valor incrementa el número de fotogramas descartados y reduce el tamaño de archivo.</translation>
+        <translation type="obsolete">Esta preferencia determina el máximo número de <b>fotogramas por segundo<b>. Los fotogramas adicionales serán descartados. Reducir este valor incrementa el número de fotogramas descartados y reduce el tamaño de archivo.</translation>
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Esta preferencia determina la <b>calidad<b>. Incrementar este valor hará que el vídeo se vea mejor a costa de incrementar el tamaño de archivo.</translation>
+        <translation type="obsolete">Esta preferencia determina la <b>calidad<b>. Incrementar este valor hará que el vídeo se vea mejor a costa de incrementar el tamaño de archivo.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Esta preferencia determina la tasa de bits en <b>kilobits por segundo</b>. Incrementar este valor hace que el vídeo se vea mejor a costa de incrementar el tamaño de archivo.</translation>
+        <translation type="obsolete">Esta preferencia determina la tasa de bits en <b>kilobits por segundo</b>. Incrementar este valor hace que el vídeo se vea mejor a costa de incrementar el tamaño de archivo.</translation>
     </message>
     <message>
         <source>The virtual machine is set up to use hardware graphics acceleration. However the host system does not currently provide this, so you will not be able to start the machine.</source>
@@ -5449,21 +5824,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5475,6 +5846,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5484,7 +5919,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Muestra la ruta donde serán almacenadas las instantáneas de esta máquina virtual. Tenga en cuenta que las instantáneas pueden ocupar mucho espacio en disco.</translation>
+        <translation type="obsolete">Muestra la ruta donde serán almacenadas las instantáneas de esta máquina virtual. Tenga en cuenta que las instantáneas pueden ocupar mucho espacio en disco.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5675,10 +6110,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5711,8 +6142,16 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Leave Unchanged</source>
-        <comment>cipher type</comment>
+        <source>Leave Unchanged</source>
+        <comment>cipher type</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5736,15 +6175,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Seleccionado, muestra la mini barra de herramientas en los modos pantalla completa y fuído.</translation>
+        <translation type="obsolete">Seleccionado, muestra la mini barra de herramientas en los modos pantalla completa y fuído.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Mostrar a pantalla &completa/fluído</translation>
+        <translation type="obsolete">Mostrar a pantalla &completa/fluído</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Seleccionado, muestra la mini barra de herramientas en la parte superior de la pantalla, en vez de en su posición predeterminada en la parte inferior de la pantalla.</translation>
+        <translation type="obsolete">Seleccionado, muestra la mini barra de herramientas en la parte superior de la pantalla, en vez de en su posición predeterminada en la parte inferior de la pantalla.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5754,6 +6193,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5814,7 +6265,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla la manera en que este adaptador se conecta a la red real del SO anfitrión.</translation>
+        <translation type="obsolete">Controla la manera en que este adaptador se conecta a la red real del SO anfitrión.</translation>
     </message>
     <message>
         <source>Open additional options window for current attachment type.</source>
@@ -5846,7 +6297,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica si el cable de red virtual estará conectado en el inicio de la máquina o no.</translation>
+        <translation type="obsolete">Indica si el cable de red virtual estará conectado en el inicio de la máquina o no.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5882,7 +6333,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Muestra u oculta las opciones adicionales de los adaptadores de red.</translation>
+        <translation type="obsolete">Muestra u oculta las opciones adicionales de los adaptadores de red.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5914,7 +6365,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Introduzca cualquier preferencia de configuración aquí para la conexión del controlador de red que se usará. Esta configuración deberá ser de la forma <b>nombre=valor</b> y dependerán del controlador. Use <b>shift-enter</b> para agregar una nueva entrada.</translation>
+        <translation type="obsolete">Introduzca cualquier preferencia de configuración aquí para la conexión del controlador de red que se usará. Esta configuración deberá ser de la forma <b>nombre=valor</b> y dependerán del controlador. Use <b>shift-enter</b> para agregar una nueva entrada.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5974,7 +6425,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Abre una vetana para administrar las reglas de reenvío de puertos.</translation>
+        <translation type="obsolete">Abre una vetana para administrar las reglas de reenvío de puertos.</translation>
     </message>
     <message>
         <source>No NAT network name is currently specified.</source>
@@ -5988,6 +6439,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Contiene el nombre de la red NAT a la que esta tarjeta de red será conectada. Puede crear o eliminar redes usando las preferencias globales de red en la ventana de administración de la máquina virtual.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6086,6 +6557,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the IRQ number of this parallel port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
         <translation>Contiene el número IRQ de este puerto paralelo. Debería ser un número entero entre <tt>0</tt> y <tt>255</tt>. Valores más grandes que <tt>15</tt> solo deberían ser usados si la preferencia <b>I/O APIC</b> está habilitada para esta máquina virtual.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">No se ha especificado IRQ actualmente.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">No se ha especificado puerto I/O actualmente.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Dos o más puertos tienen las mismas preferencias.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">No se ha especificado ruta de puerto actualmente.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Hay especificadas rutas de puerto duplicadas actualmente.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6103,23 +6594,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>No se ha especificado IRQ actualmente.</translation>
+        <translation type="obsolete">No se ha especificado IRQ actualmente.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>No se ha especificado puerto I/O actualmente.</translation>
+        <translation type="obsolete">No se ha especificado puerto I/O actualmente.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Dos o más puertos tienen las mismas preferencias.</translation>
+        <translation type="obsolete">Dos o más puertos tienen las mismas preferencias.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>No se ha especificado ruta de puerto actualmente.</translation>
+        <translation type="obsolete">No se ha especificado ruta de puerto actualmente.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Hay especificadas rutas de puerto duplicadas actualmente.</translation>
+        <translation type="obsolete">Hay especificadas rutas de puerto duplicadas actualmente.</translation>
     </message>
 </context>
 <context>
@@ -6130,27 +6621,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Esta tabla contiene una lista de las reglas de reenvío de puertos.</translation>
+        <translation type="obsolete">Esta tabla contiene una lista de las reglas de reenvío de puertos.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Agregar nueva regla</translation>
+        <translation type="obsolete">Agregar nueva regla</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copiar la regla seleccionada</translation>
+        <translation type="obsolete">Copiar la regla seleccionada</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Eliminar la regla seleccionada</translation>
+        <translation type="obsolete">Eliminar la regla seleccionada</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Este botón agrega una nueva regla de reenvío de puertos.</translation>
+        <translation type="obsolete">Este botón agrega una nueva regla de reenvío de puertos.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Este botón elimina la regla selecionada de reenvío de puertos.</translation>
+        <translation type="obsolete">Este botón elimina la regla selecionada de reenvío de puertos.</translation>
     </message>
 </context>
 <context>
@@ -6169,15 +6660,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Agrega una nueva carpeta compartida.</translation>
+        <translation type="obsolete">Agrega una nueva carpeta compartida.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Edita la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Elimina la carpeta compartida seleccionada.</translation>
+        <translation type="obsolete">Elimina la carpeta compartida seleccionada.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6217,15 +6708,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Agregar carpeta compartida</translation>
+        <translation type="obsolete">&Agregar carpeta compartida</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Editar carpeta compartida</translation>
+        <translation type="obsolete">&Editar carpeta compartida</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Eliminar carpeta compartida</translation>
+        <translation type="obsolete">&Eliminar carpeta compartida</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6243,6 +6734,30 @@ p, li { white-space: pre-wrap; }
         <source>Auto-mount</source>
         <translation>Automontar</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6292,7 +6807,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Seleccionado, esta carpeta compartida será permanente.</translation>
+        <translation type="obsolete">Seleccionado, esta carpeta compartida será permanente.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6340,7 +6859,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla el modo de trabajo del puerto serie. Si selecciona <b>Desconectado</b>, el SO invitado detectará el puerto serie pero no podrá trabajar con él.</translation>
+        <translation type="obsolete">Controla el modo de trabajo del puerto serie. Si selecciona <b>Desconectado</b>, el SO invitado detectará el puerto serie pero no podrá trabajar con él.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6375,10 +6894,6 @@ p, li { white-space: pre-wrap; }
         <translation>Contiene el número IRQ de este puerto serie. Este debería ser un número entero entre <tt>0</tt> y <tt>255</tt>. Valores más grandes que <tt>15</tt> solo deberían ser usardos si la preferencia <b>I/O APIC</b> está habilitada para esta máquina virtual.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6390,6 +6905,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">No se ha especificado IRQ actualmente.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">No se ha especificado puerto I/O actualmente.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Dos o más puertos tienen las mismas preferencias.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">No se ha especificado ruta de puerto actualmente.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Hay especificadas rutas de puerto duplicadas actualmente.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6407,23 +6950,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>No se ha especificado IRQ actualmente.</translation>
+        <translation type="obsolete">No se ha especificado IRQ actualmente.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>No se ha especificado puerto I/O actualmente.</translation>
+        <translation type="obsolete">No se ha especificado puerto I/O actualmente.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Dos o más puertos tienen las mismas preferencias.</translation>
+        <translation type="obsolete">Dos o más puertos tienen las mismas preferencias.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>No se ha especificado ruta de puerto actualmente.</translation>
+        <translation type="obsolete">No se ha especificado ruta de puerto actualmente.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Hay especificadas rutas de puerto duplicadas actualmente.</translation>
+        <translation type="obsolete">Hay especificadas rutas de puerto duplicadas actualmente.</translation>
     </message>
 </context>
 <context>
@@ -6502,11 +7045,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Expandir/Colapsar&nbsp;item</nobr></translation>
+        <translation type="obsolete"><nobr>Expandir/Colapsar&nbsp;item</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Agregar&nbsp;disco&nbsp;duro</nobr></translation>
+        <translation type="obsolete"><nobr>Agregar&nbsp;disco&nbsp;duro</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6570,19 +7113,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Agrega un nuevo controlador al final del árbol de almacenamiento.</translation>
+        <translation type="obsolete">Agrega un nuevo controlador al final del árbol de almacenamiento.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Borra el controlador seleccionado en el árbol de almacenamiento.</translation>
+        <translation type="obsolete">Borra el controlador seleccionado en el árbol de almacenamiento.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Agrega una nueva conexión al árbol de almacenamiento usando el controlador seleccionado como padre.</translation>
+        <translation type="obsolete">Agrega una nueva conexión al árbol de almacenamiento usando el controlador seleccionado como padre.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Borra la conexión seleccionada en el árbol de almacenamiento.</translation>
+        <translation type="obsolete">Borra la conexión seleccionada en el árbol de almacenamiento.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6618,7 +7161,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Contiene todos los controladores de almacenamiento de ésta máquina virtual, junto con los discos virtuales y los discos reales conectados a dichos controladores.</translation>
+        <translation type="obsolete">Contiene todos los controladores de almacenamiento de ésta máquina virtual, junto con los discos virtuales y los discos reales conectados a dichos controladores.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6638,7 +7181,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Cambia el nombre del controlador de almacenamiento actualmente seleccionado en el árbol de almacenamiento.</translation>
+        <translation type="obsolete">Cambia el nombre del controlador de almacenamiento actualmente seleccionado en el árbol de almacenamiento.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6706,7 +7249,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permite usar al anfitrión las capacidades de cacheo de E/S.</translation>
+        <translation type="obsolete">Permite usar al anfitrión las capacidades de cacheo de E/S.</translation>
     </message>
     <message>
         <source>Use host I/O cache</source>
@@ -6738,7 +7281,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Imagen</translation>
+        <translation type="obsolete">Imagen</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6746,7 +7289,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Configurar el disco duro virtual</translation>
+        <translation type="obsolete">Configurar el disco duro virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6770,15 +7313,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configurar la unidad de disquete virtual</translation>
+        <translation type="obsolete">Configurar la unidad de disquete virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Crear un nuevo disco duro...</translation>
+        <translation type="obsolete">Crear un nuevo disco duro...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Seleccionar un archivo de disco duro virtual...</translation>
+        <translation type="obsolete">Seleccionar un archivo de disco duro virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6790,11 +7333,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Seleccionar un archivo de disquete virtual...</translation>
+        <translation type="obsolete">Seleccionar un archivo de disquete virtual...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Seleccionado, el disco virtual no será desmontado cuando el SO invitado lo extrae.</translation>
+        <translation type="obsolete">Seleccionado, el disco virtual no será desmontado cuando el SO invitado lo extrae.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6802,7 +7345,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Seleccionado, el sistema operativo invitado reconocerá al disco virtual como un disco de estado solido (SSD).</translation>
+        <translation type="obsolete">Seleccionado, el sistema operativo invitado reconocerá al disco virtual como un disco de estado solido (SSD).</translation>
     </message>
     <message>
         <source>&Solid-state drive</source>
@@ -6879,47 +7422,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Seleccionar un archivo de disco óptico virtual...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Seleccionar un archivo de disco óptico virtual...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imagen</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6951,12 +7563,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6989,7 +7601,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mover abajo (Ctrl-Abajo)</translation>
+        <translation type="obsolete">Mover abajo (Ctrl-Abajo)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6997,7 +7609,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mover arriba (Ctrl-Arriba)</translation>
+        <translation type="obsolete">Mover arriba (Ctrl-Arriba)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7070,7 +7682,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPUs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPUs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7082,7 +7694,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Seleccionado, el dispositivo RTC informará del tiempo en UTC, en caso contrario en tiempo local (anfitrión). Unix normalmente espera que el reloj esté establecido en UTC.</translation>
+        <translation type="obsolete">Seleccionado, el dispositivo RTC informará del tiempo en UTC, en caso contrario en tiempo local (anfitrión). Unix normalmente espera que el reloj esté establecido en UTC.</translation>
     </message>
     <message>
         <source>Hardware clock in &UTC time</source>
@@ -7131,12 +7743,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7230,56 +7842,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Agregar filtro vacío</translation>
+        <translation type="obsolete">&Agregar filtro vacío</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Agregar filtro desde &dispositivo</translation>
+        <translation type="obsolete">Agregar filtro desde &dispositivo</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Editar filtro</translation>
+        <translation type="obsolete">&Editar filtro</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Elimina&r filtro</translation>
+        <translation type="obsolete">Elimina&r filtro</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mover filtro hacia arriba</translation>
+        <translation type="obsolete">&Mover filtro hacia arriba</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&over filtro hacia abajo</translation>
+        <translation type="obsolete">M&over filtro hacia abajo</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Agrega un filtro USB con todos los campos vacíos. Tenga en cuenta que un filtro así filtrará cualquier dispositivo USB conectado.</translation>
+        <translation type="obsolete">Agrega un filtro USB con todos los campos vacíos. Tenga en cuenta que un filtro así filtrará cualquier dispositivo USB conectado.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Agrega un nuevo filtro USB con todos los campos establecidos a los valores del dispositivo USB seleccionado conectado al PC anfitrión.</translation>
+        <translation type="obsolete">Agrega un nuevo filtro USB con todos los campos establecidos a los valores del dispositivo USB seleccionado conectado al PC anfitrión.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edita el filtro USB seleccionado.</translation>
+        <translation type="obsolete">Edita el filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Elimina el dispositivo USB seleccionado.</translation>
+        <translation type="obsolete">Elimina el dispositivo USB seleccionado.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Mueve el filtro USB seleccionado hacia arriba.</translation>
+        <translation type="obsolete">Mueve el filtro USB seleccionado hacia arriba.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Mueve el filtro USB seleccionado hacia abajo.</translation>
+        <translation type="obsolete">Mueve el filtro USB seleccionado hacia abajo.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7296,7 +7934,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Seleccionado, habilita el controlador USB EHCI de esta máquina. El controlador USB EHCI proporciona soporte USB 2.0.</translation>
+        <translation type="obsolete">Seleccionado, habilita el controlador USB EHCI de esta máquina. El controlador USB EHCI proporciona soporte USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7367,27 +8005,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">USB 2.0 está habilitado actualmente para esta máquina virtual. Sin embargo, esto require que <b>%1</b> esté instalado. Instale el paquete de extensiones desde el sitio de descargas de VirtualBox o deshabilite USB 2.0 para iniciar la máquina.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Agregar Filtro Vacío</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Agregar Filtro desde Dispositivo</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Eliminar Filtro</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Mover el Filtro hacia Arriba</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Mover el Filtro hacia Abajo</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7422,7 +8112,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define el ID del vendedor del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>XXXX</tt> donde <tt>X</tt> es un dígito hexadecimal. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el ID del vendedor del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>XXXX</tt> donde <tt>X</tt> es un dígito hexadecimal. Una cadena vacía coincidirá con cualquier valor.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7430,7 +8120,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define el ID del producto del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>XXXX</tt> donde <tt>X</tt> es un dígito hexadecimal. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el ID del producto del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>XXXX</tt> donde <tt>X</tt> es un dígito hexadecimal. Una cadena vacía coincidirá con cualquier valor.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7438,7 +8128,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Define el número de revisión del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>IIFF</tt> donde <tt>I</tt> es un dígito decimal de la parte entera y <tt>F</tt> es un dígito decimal de la parte fraccionaria. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el número de revisión del filtro. El formato de cadena de <i>coincidencia exacta</i> es <tt>IIFF</tt> donde <tt>I</tt> es un dígito decimal de la parte entera y <tt>F</tt> es un dígito decimal de la parte fraccionaria. Una cadena vacía coincidirá con cualquier valor.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7446,7 +8136,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define el nombre del fabricante del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el nombre del fabricante del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7454,7 +8144,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define el nombre del producto del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el nombre del producto del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7462,35 +8152,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define el número de serie del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <translation type="obsolete">Define el número de serie del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+    </message>
+    <message>
+        <source>Por&t:</source>
+        <translation>Puer&to:</translation>
+    </message>
+    <message>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">Define el puerto USB anfitrión del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>R&emoto:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Define cuando este filtro se aplica a los dispositivos USB conectados localmente a la computadora anfitrión (<i>No</i>), a la computadora del cliente VRDP (<i>Sí</i>), o a ambos (<i>Cualquiera</i>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">&Acción:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Define una acción a realizar por la computadora anfitrión cuando un dispositivo coincidente es conectado: asignárselo al SO anfitrión (<i>Ignorar</i>) o capturarlo para un uso posterior por las máquinas virtuales (<i>Retener</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Detalles de filtro USB</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
-        <translation>Puer&to:</translation>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define el puerto USB anfitrión del filtro como una cadena de <i>coincidencia exacta</i>. Una cadena vacía coincidirá con cualquier valor.</translation>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>R&emoto:</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Define cuando este filtro se aplica a los dispositivos USB conectados localmente a la computadora anfitrión (<i>No</i>), a la computadora del cliente VRDP (<i>Sí</i>), o a ambos (<i>Cualquiera</i>).</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">&Acción:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Define una acción a realizar por la computadora anfitrión cuando un dispositivo coincidente es conectado: asignárselo al SO anfitrión (<i>Ignorar</i>) o capturarlo para un uso posterior por las máquinas virtuales (<i>Retener</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Detalles de filtro USB</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7511,7 +8233,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>Discos &duros</translation>
+        <translation type="obsolete">Discos &duros</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7533,6 +8255,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8163,7 +8889,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>No se pudo activar el modo pantalla completa debido que no hay suficiente memoria de vídeo de invitado.</p><p>Se debe configurar la máquina virtual con al menos <b>%1</b> de memoria de vídeo.</p><p>Presione <b>Ignorar</b> para cambiar a modo pantalla completa de todos modos, o presione <b>Cancelar</b> para cancelar la operación.</p></translation>
+        <translation type="obsolete"><p>No se pudo activar el modo pantalla completa debido que no hay suficiente memoria de vídeo de invitado.</p><p>Se debe configurar la máquina virtual con al menos <b>%1</b> de memoria de vídeo.</p><p>Presione <b>Ignorar</b> para cambiar a modo pantalla completa de todos modos, o presione <b>Cancelar</b> para cancelar la operación.</p></translation>
     </message>
     <message>
         <source><p>Deleting this host-only network will remove the host-only interface this network is based on. Do you want to remove the (host-only network) interface <nobr><b>%1</b>?</nobr></p><p><b>Note:</b> this interface may be in use by one or more virtual network adapters belonging to one of your VMs. After it is removed, these adapters will no longer be usable until you correct their settings by either choosing a different in [...]
@@ -8329,7 +9055,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>¿Desea eliminar la unidad de almacenamiento del disco duro <nobr><b>%1</b></nobr>?</p><p>Si selecciona <b>Eliminar</b> entonces la unidad de almacenamiento especificada será eliminada definitivamente. Esta operación <b>no se puede deshacer</b>.</p><p>Si selecciona <b>Mantener</b> entonces el disco duro sólo será eliminado de la lista de discos duros conocidos, pero la unidad  [...]
+        <translation type="obsolete"><p>¿Desea eliminar la unidad de almacenamiento del disco duro <nobr><b>%1</b></nobr>?</p><p>Si selecciona <b>Eliminar</b> entonces la unidad de almacenamiento especificada será eliminada definitivamente. Esta operación <b>no se puede deshacer</b>.</p><p>Si selecciona <b>Mantener</b> entonces el disco duro sólo será eliminado de la lista de discos duros conocidos, [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8502,7 +9228,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Al eliminar una instantánea se descartará la información de estado almacenada en la instantánea. Los datos de disco repartidos en varios archivos creados con la instantánea serán fusionados en un sólo archivo. Este puede ser un proceso largo y la información de la instantánea no puede ser recuperada.</p></p>¿Está seguro que desea eliminar la instantánea <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Al eliminar una instantánea se descartará la información de estado almacenada en la instantánea. Los datos de disco repartidos en varios archivos creados con la instantánea serán fusionados en un sólo archivo. Este puede ser un proceso largo y la información de la instantánea no puede ser recuperada.</p></p>¿Está seguro que desea eliminar la instantánea <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8638,7 +9364,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p> La eliminación de la instantánea %1 requerirá temporalmente de más espacio en disco. En el peor caso el tamaño de la imagen %2 crecerá %3 más, sin embargo en sistema de archivos hay solamente %4 libres.</p><p> Agotar el espacio en disco durante la operación de fusión de archivos podría resultar en la corrupción de la imagen de disco y la configuración de la MV, es decir puede haber pérdidas en los datos de la MV.</p><p>Puede continua [...]
+        <translation type="obsolete"><p> La eliminación de la instantánea %1 requerirá temporalmente de más espacio en disco. En el peor caso el tamaño de la imagen %2 crecerá %3 más, sin embargo en sistema de archivos hay solamente %4 libres.</p><p> Agotar el espacio en disco durante la operación de fusión de archivos podría resultar en la corrupción de la imagen de disco y la configuración de la MV, es decir puede haber pérdidas en los datos de la MV.</p><p&g [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8817,7 +9543,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>La ventana de la máquina virtual será cambiada a modo <b>Pantalla completa</b>. Puede volver al modo ventana en cualquier momento pulsando <b>%1</b>.</p><p>Note que la tecla <i>Anfitrión</i> está actualmente definida como <b>%2</b>.</p><p>Note que la barra de menú principal en el modo a pantalla completa está oculta. Puede acceder a ella pulsando <b>Anfitrión+Inicio</b>.</ [...]
+        <translation type="obsolete"><p>La ventana de la máquina virtual será cambiada a modo <b>Pantalla completa</b>. Puede volver al modo ventana en cualquier momento pulsando <b>%1</b>.</p><p>Note que la tecla <i>Anfitrión</i> está actualmente definida como <b>%2</b>.</p><p>Note que la barra de menú principal en el modo a pantalla completa está oculta. Puede acceder a ella pulsando <b>Anfitrión+Inicio [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9056,7 +9782,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Está a punto de crear una nueva máquina virtual sin un disco duro. No podrá instalar un sistema operativo en la máquina hasta que agrege uno. Mientras tanto solo podrá iniciar la máquina usando un disco óptico o desde la red.</translation>
+        <translation type="obsolete">Está a punto de crear una nueva máquina virtual sin un disco duro. No podrá instalar un sistema operativo en la máquina hasta que agrege uno. Mientras tanto solo podrá iniciar la máquina usando un disco óptico o desde la red.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -9180,15 +9906,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>¿Esta seguro de que quiere liberar el disco duro virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>¿Esta seguro de que quiere liberar el disco duro virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>¿Esta seguro de que quiere liberar el disco óptico virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>¿Esta seguro de que quiere liberar el disco óptico virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>¿Esta seguro de que quiere liberar el disquete virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>¿Esta seguro de que quiere liberar el disquete virtual <nobr><b>%1</b></nobr>?</p><p>Esto lo desunirá de las siguientes máquinas virtuales: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known media?</p></source>
@@ -9232,27 +9958,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Fallo al abrir el archivo de disco duro <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Fallo al abrir el archivo de disco duro <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Fallo al abrir el archivo de disco óptico <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Fallo al abrir el archivo de disco óptico <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Fallo al abrir del archivo de disquete <nobr><b>%1</b></nobr>. </translation>
+        <translation type="obsolete">Fallo al abrir del archivo de disquete <nobr><b>%1</b></nobr>. </translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Fallo al cerrar el archivo de disco duro <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Fallo al cerrar el archivo de disco duro <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Fallo al cerrar el archivo de disco óptico <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Fallo al cerrar el archivo de disco óptico <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Fallo al cerrar el archivo de disquete <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Fallo al cerrar el archivo de disquete <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9485,10 +10211,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9560,6 +10282,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10686,27 +11448,82 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nombre</translation>
+        <translation type="obsolete">Nombre</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocolo</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP anfitrión</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Puerto anfitrión</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP invitado</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Puerto invitado</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocolo</translation>
+        <translation type="unfinished">Protocolo</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP anfitrión</translation>
+        <translation type="unfinished">IP anfitrión</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Puerto anfitrión</translation>
+        <translation type="unfinished">Puerto anfitrión</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP invitado</translation>
+        <translation type="unfinished">IP invitado</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Puerto invitado</translation>
+        <translation type="unfinished">Puerto invitado</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11010,13 +11827,6 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -11026,6 +11836,10 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11567,7 +12381,7 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copiar unidad de disco duro virtual</translation>
+        <translation type="obsolete">Copiar unidad de disco duro virtual</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11575,44 +12389,44 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Unidad de disco duro a copiar</translation>
+        <translation type="obsolete">Unidad de disco duro a copiar</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Seleccione el archivo de unidad de disco duro virtual que desea copiar si no está ya seleccionado. Puede seleccionar desde la lista o usando el icono de carpeta al lado de la lista.</p></translation>
+        <translation type="obsolete"><p>Seleccione el archivo de unidad de disco duro virtual que desea copiar si no está ya seleccionado. Puede seleccionar desde la lista o usando el icono de carpeta al lado de la lista.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Seleccione un archivo de unidad de disco duro virtual a copiar...</translation>
+        <translation type="obsolete">Seleccione un archivo de unidad de disco duro virtual a copiar...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo de archivo de unidad de disco duro</translation>
+        <translation type="obsolete">Tipo de archivo de unidad de disco duro</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Seleccione el tipo de archivo que le gustaría usar para la unidad de disco duro virtual. Si no necesita usarla con otro software de virtualización puede dejar esta preferencia sin cambiar.</translation>
+        <translation type="obsolete">Seleccione el tipo de archivo que le gustaría usar para la unidad de disco duro virtual. Si no necesita usarla con otro software de virtualización puede dejar esta preferencia sin cambiar.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Almacenamiento en unidad de disco duro física</translation>
+        <translation type="obsolete">Almacenamiento en unidad de disco duro física</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Seleccione si el nuevo archivo de unidad de disco duro virtual debería crecer según se use (reserva dinámica) o si debería ser creado con su tamaño máximo (tamaño fijo).</translation>
+        <translation type="obsolete">Seleccione si el nuevo archivo de unidad de disco duro virtual debería crecer según se use (reserva dinámica) o si debería ser creado con su tamaño máximo (tamaño fijo).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un archivo de unidad de disco duro <b>reservado dinámicamente</b> solo usará espacio en su disco físico a medida que se llena (hasta un máximo <b>tamaño fijo</b>), sin embargo no se reducirá de nuevo automáticamente cuando el espacio en él se libere.</p></translation>
+        <translation type="obsolete"><p>Un archivo de unidad de disco duro <b>reservado dinámicamente</b> solo usará espacio en su disco físico a medida que se llena (hasta un máximo <b>tamaño fijo</b>), sin embargo no se reducirá de nuevo automáticamente cuando el espacio en él se libere.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un archivo de unidad de disco duro de <b>tamaño fijo</b> puede tomar más tiempo para su creación en algunos sistemas, pero normalmente es más rápido al usarlo.</p></translation>
+        <translation type="obsolete"><p>Un archivo de unidad de disco duro de <b>tamaño fijo</b> puede tomar más tiempo para su creación en algunos sistemas, pero normalmente es más rápido al usarlo.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translatorcomment>No se cierra el </p> es un error esto?</translatorcomment>
-        <translation type="unfinished"><p>Puede seleccionar <b>dividir</b> el archivo de la unidad de disco duro en varios archivos de hasta dos gigabytes cada uno. Esto es útil si desea almacenar la máquina virtual en dispositivos de almacenamiento extraíble USB o en sistemas antiguos, algunos de los cuales no pueden manejar archivos muy grandes.</p></translation>
+        <translation type="obsolete"><p>Puede seleccionar <b>dividir</b> el archivo de la unidad de disco duro en varios archivos de hasta dos gigabytes cada uno. Esto es útil si desea almacenar la máquina virtual en dispositivos de almacenamiento extraíble USB o en sistemas antiguos, algunos de los cuales no pueden manejar archivos muy grandes.</p></translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11628,20 +12442,20 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Seleccione una ubicación para el nuevo archivo de unidad de disco duro virtual</translation>
+        <translation type="obsolete">Seleccione una ubicación para el nuevo archivo de unidad de disco duro virtual</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Nueva unidad de disco duro a crear</translation>
+        <translation type="obsolete">Nueva unidad de disco duro a crear</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translatorcomment>en españa es icono (llana), en latinoamerica ícono (esdrújula)</translatorcomment>
-        <translation>Escriba el nombre del archivo de unidad de disco duro virtual en el campo debajo o haga clic en el icono de carpeta para seleccionar una carpeta diferente donde crear el archivo.</translation>
+        <translation type="obsolete">Escriba el nombre del archivo de unidad de disco duro virtual en el campo debajo o haga clic en el icono de carpeta para seleccionar una carpeta diferente donde crear el archivo.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccione una ubicación para el archivo de unidad de disco duro virtual...</translation>
+        <translation type="obsolete">Seleccione una ubicación para el archivo de unidad de disco duro virtual...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11650,15 +12464,87 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Unidad de disco duro a &copiar</translation>
+        <translation type="obsolete">Unidad de disco duro a &copiar</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Nueva unidad de disco duro a crear</translation>
+        <translation type="obsolete">&Nueva unidad de disco duro a crear</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo de archivo de unidad de disco duro</translation>
+        <translation type="obsolete">&Tipo de archivo de unidad de disco duro</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11701,7 +12587,7 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Seleccione el tipo de clonación que desea crear.</p><p>Si selecciona <b>Clonación completa</b>, una copia exacta (incluyendo todos los archivos de unidad de disco duro virtual) de la máquina original serán creados.</p><p>Si selecciona <b>Clonación enlazada</b>, una nueva máquina será creada, pero los archivos de las unidades de disco duro virtuales serán vinculados a los archivos de unidad de disco duro virtual [...]
+        <translation type="obsolete"><p>Seleccione el tipo de clonación que desea crear.</p><p>Si selecciona <b>Clonación completa</b>, una copia exacta (incluyendo todos los archivos de unidad de disco duro virtual) de la máquina original serán creados.</p><p>Si selecciona <b>Clonación enlazada</b>, una nueva máquina será creada, pero los archivos de las unidades de disco duro virtuales serán vinculados a los archivos de unidad de di [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11759,6 +12645,10 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
         <source>&Linked Clone</source>
         <translation>Clonación &enlazada</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -12047,7 +12937,7 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Crear unidad de disco duro</translation>
+        <translation type="obsolete">Crear unidad de disco duro</translation>
     </message>
     <message>
         <source>Create</source>
@@ -12055,31 +12945,31 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo de archivo de unidad de disco duro</translation>
+        <translation type="obsolete">Tipo de archivo de unidad de disco duro</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Seleccione el tipo de archivo que le gustaría usar para la unidad de disco duro virtual. Si no necesita usarla con otro software de virtualización puede dejar esta preferencia sin cambiar.</translation>
+        <translation type="obsolete">Seleccione el tipo de archivo que le gustaría usar para la unidad de disco duro virtual. Si no necesita usarla con otro software de virtualización puede dejar esta preferencia sin cambiar.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Almacenamiento en unidad de disco duro físico</translation>
+        <translation type="obsolete">Almacenamiento en unidad de disco duro físico</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Seleccione si el nuevo archivo de unidad de disco duro virtual debería crecer según se use (reserva dinámica) o si debería ser creado con su tamaño máximo (tamaño fijo).</translation>
+        <translation type="obsolete">Seleccione si el nuevo archivo de unidad de disco duro virtual debería crecer según se use (reserva dinámica) o si debería ser creado con su tamaño máximo (tamaño fijo).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un archivo de unidad de disco duro <b>reservado dinámicamente</b> solo usará espacio en su disco duro físico a medida que se llena (hasta el máximo <b>tamaño fijo</b>), aunque no se reducirá de nuevo automáticamente cuando el espacio en él se libere.</p></translation>
+        <translation type="obsolete"><p>Un archivo de unidad de disco duro <b>reservado dinámicamente</b> solo usará espacio en su disco duro físico a medida que se llena (hasta el máximo <b>tamaño fijo</b>), aunque no se reducirá de nuevo automáticamente cuando el espacio en él se libere.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un archivo de unidad de disco duro de <b>tamaño fijo</b> puede llevar crearlo más tiempo en algunos sistemas pero normalmente es más rápido al usarlo.</p></translation>
+        <translation type="obsolete"><p>Un archivo de unidad de disco duro de <b>tamaño fijo</b> puede llevar crearlo más tiempo en algunos sistemas pero normalmente es más rápido al usarlo.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Puede seleccionar <b>dividir</b> el archivo de la unidad de disco duro en varios archivos de hasta dos gigabytes cada uno. Esto es útil si desea almacenar la máquina virtual en dispositivos de almacenamiento extraíble USB o en sistemas antiguos, algunos de los cuales no pueden manejar archivos grandes.</translation>
+        <translation type="obsolete"><p>Puede seleccionar <b>dividir</b> el archivo de la unidad de disco duro en varios archivos de hasta dos gigabytes cada uno. Esto es útil si desea almacenar la máquina virtual en dispositivos de almacenamiento extraíble USB o en sistemas antiguos, algunos de los cuales no pueden manejar archivos grandes.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -12103,15 +12993,15 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Escriba el nombre del archivo de unidad de disco duro virtual en la caja de abajo o haga clic en el icono de carpeta para seleccionar una carpeta diferente en la que crear el archivo.</translation>
+        <translation type="obsolete">Escriba el nombre del archivo de unidad de disco duro virtual en la caja de abajo o haga clic en el icono de carpeta para seleccionar una carpeta diferente en la que crear el archivo.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Seleccione la ubicación del nuevo archivo de unidad de disco duro virtual...</translation>
+        <translation type="obsolete">Seleccione la ubicación del nuevo archivo de unidad de disco duro virtual...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Seleccione el tamaño de la imagen de unidad de disco duro virtual en megabytes. Esto determinará la cantidad límite que la máquina virtual podrá almacenar en la unidad de disco duro.</translation>
+        <translation type="obsolete">Seleccione el tamaño de la imagen de unidad de disco duro virtual en megabytes. Esto determinará la cantidad límite que la máquina virtual podrá almacenar en la unidad de disco duro.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -12123,7 +13013,55 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo de archivo de unidad de disco duro</translation>
+        <translation type="obsolete">&Tipo de archivo de unidad de disco duro</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12174,11 +13112,11 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Unidad de disco duro</translation>
+        <translation type="obsolete">Unidad de disco duro</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Si desea puede agregar una unidad de disco duro virtual a la nueva máquina. Puede crear un nuevo archivo de unidad de disco duro o seleccionar uno de la lista o de otra ubicación usando el icono de la carpeta.</p><p>. Si necesita una configuración de almacenamiento más compleja puede omitir este paso y hacer los cambios a la configuración de la máquina virtual una vez creada.</p><p> El tamaño recomendado de la unidad de disco duro es  [...]
+        <translation type="obsolete"><p>Si desea puede agregar una unidad de disco duro virtual a la nueva máquina. Puede crear un nuevo archivo de unidad de disco duro o seleccionar uno de la lista o de otra ubicación usando el icono de la carpeta.</p><p>. Si necesita una configuración de almacenamiento más compleja puede omitir este paso y hacer los cambios a la configuración de la máquina virtual una vez creada.</p><p> El tamaño recomendado de la unidad d [...]
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -12194,7 +13132,7 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Seleccione un archivo de unidad de disco duro virtual...</translation>
+        <translation type="obsolete">Seleccione un archivo de unidad de disco duro virtual...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12202,15 +13140,39 @@ este paso y luego conectar los Discos Duros desde el diálogo de Configuración
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>&No agregar un disco duro a la máquina virtual</translation>
+        <translation type="obsolete">&No agregar un disco duro a la máquina virtual</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Crear un disco duro virtual ahora</translation>
+        <translation type="obsolete">&Crear un disco duro virtual ahora</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Usar un archivo de disco duro virtual existente</translation>
+        <translation type="obsolete">&Usar un archivo de disco duro virtual existente</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13516,7 +14478,7 @@ Versión %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Abre una ventana para seleccionar una carpeta diferente.</translation>
+        <translation type="obsolete">Abre una ventana para seleccionar una carpeta diferente.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13524,7 +14486,7 @@ Versión %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Abre una ventana para seleccionar un archivo diferente.</translation>
+        <translation type="obsolete">Abre una ventana para seleccionar un archivo diferente.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13536,16 +14498,32 @@ Versión %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Ingrese aquí la ruta a la carpeta deseada.</translation>
+        <translation type="obsolete">Ingrese aquí la ruta a la carpeta deseada.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Ingrese aquí la ruta al archivo deseado.</translation>
+        <translation type="obsolete">Ingrese aquí la ruta al archivo deseado.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this dialog again.</source>
         <translation type="obsolete">El valor de la actual ruta por defecto será mostrado después de aceptar los cambios y abrir de nuevo este diálogo.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14773,7 +15751,7 @@ Versión %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">La conexión de este disco duro será realizada indirectamente usando un nuevo disco duro diferenciado.</translation>
+        <translation type="unfinished">La conexión de este disco duro será realizada indirectamente usando un nuevo disco duro diferenciado.</translation>
     </message>
     <message>
         <source>Some of the media in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these media.</source>
@@ -14783,7 +15761,7 @@ Versión %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Este disco duro base está indirectamente conectado usando el siguiente disco duro diferenciado:</translation>
+        <translation type="unfinished">Este disco duro base está indirectamente conectado usando el siguiente disco duro diferenciado:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -15338,11 +16316,11 @@ Versión %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Seleccione un archivo de unidad de disco duro virtual</translation>
+        <translation type="obsolete">Seleccione un archivo de unidad de disco duro virtual</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Todos los archivos de unidad de disco duro virtual (%1)</translation>
+        <translation type="obsolete">Todos los archivos de unidad de disco duro virtual (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15388,7 +16366,7 @@ Versión %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Seleccione una ubicación para el nuevo archivo de unidad de disco duro virtual</translation>
+        <translation type="obsolete">Seleccione una ubicación para el nuevo archivo de unidad de disco duro virtual</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -15638,25 +16616,27 @@ Versión %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -17597,7 +18577,7 @@ Esta funcionalidad requiere "Guest Additions" instalado.</qt></t
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostrar los detalles de la instantánea seleccionada</translation>
+        <translation type="obsolete">Mostrar los detalles de la instantánea seleccionada</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -17645,11 +18625,11 @@ Esta funcionalidad requiere "Guest Additions" instalado.</qt></t
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaurar la instantánea seleccionada de la máquina virtual</translation>
+        <translation type="obsolete">Restaurar la instantánea seleccionada de la máquina virtual</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Eliminar la instantánea seleccionada de la máquina virtual</translation>
+        <translation type="obsolete">Eliminar la instantánea seleccionada de la máquina virtual</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -17661,7 +18641,23 @@ Esta funcionalidad requiere "Guest Additions" instalado.</qt></t
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clonar la máquina virtual seleccionada</translation>
+        <translation type="obsolete">Clonar la máquina virtual seleccionada</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -17720,6 +18716,10 @@ Esta funcionalidad requiere "Guest Additions" instalado.</qt></t
             <numerusform>Advertencia: Está tomando una instantánea de una máquina que está corriendo y que tiene %n imágenes inmutables conectadas a ella. Mientras esté trabajando desde esta instantánea las imagenes inmutables no se restablecerán para evitar la pérdida de datos.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Instantánea %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
index d8a1aab..ba31185 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_eu.ts
@@ -259,7 +259,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Automatikoki tamainaz aldatu bezero pantaila leihoa tamaina aldatzean (Bezero Gehigarriak behar du)</translation>
+        <translation type="obsolete">Automatikoki tamainaz aldatu bezero pantaila leihoa tamaina aldatzean (Bezero Gehigarriak behar du)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -343,7 +343,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>ACPI Indar Botoia Gertaera bidali makina birtualera</translation>
+        <translation type="obsolete">ACPI Indar Botoia Gertaera bidali makina birtualera</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -366,16 +366,12 @@
         <translation type="obsolete">&USB Gailuak</translation>
     </message>
     <message>
-        <source>Change the settings of network adapters</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>&Shared Folders...</source>
         <translation type="obsolete">&Partekatutako Karpetak...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Partekatutako karpetekin aritzeko leihoa ireki</translation>
+        <translation type="obsolete">Partekatutako karpetekin aritzeko leihoa ireki</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -432,16 +428,12 @@
         <translation type="unfinished">&Ezarpenak...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Hautatutako makina birtualaren erregistro fitxategiak ikusi</translation>
+        <translation type="obsolete">Hautatutako makina birtualaren erregistro fitxategiak ikusi</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -464,10 +456,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished"></translation>
     </message>
@@ -476,10 +464,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show a window with product information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Take Sn&apshot...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -488,10 +472,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Fitxategia</translation>
@@ -528,11 +508,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">Hobes&penak...</translation>
+        <translation type="obsolete">Hobes&penak...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Ezarpen orokor leihoa bistarazi</translation>
+        <translation type="obsolete">Ezarpen orokor leihoa bistarazi</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -548,15 +528,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Makina Birtual Berria Sortu</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Makina Birtual Berria Sortu</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -575,445 +547,558 @@
         <translation type="obsolete">Hautatutako makina birtualaren leihora aldatu</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Hautatutako makina birtualaren eskuragarritasun egoera freskatu</translation>
+    </message>
+    <message>
+        <source>&New...</source>
+        <translation type="unfinished">&Berria...</translation>
+    </message>
+    <message>
+        <source>&Add...</source>
+        <translation type="unfinished">&Gehitu...</translation>
+    </message>
+    <message>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Hautatutako makina birtualaren eskuragarritasun egoera freskatu</translation>
+        <source>&Remove...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard</source>
+        <translation type="unfinished">Baztertu</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Baztertu hautatutako makina birtualaren gordetako egoera</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>&Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>Show &Log...</source>
+        <translation type="unfinished">E&rregistroa Ikusi...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">&VirtualBox Web Gunea...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">Abisu Guztiak Be&rrezarri</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
-        <translation type="unfinished">&Berria...</translation>
+        <source>&New Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">&Gehitu...</translation>
+        <source>&Add Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Baztertu</translation>
+        <source>&Shared Folders Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Baztertu hautatutako makina birtualaren gordetako egoera</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">E&rregistroa Ikusi...</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">&VirtualBox Web Gunea...</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">Abisu Guztiak Be&rrezarri</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Teklatua</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>Network</source>
+        <translation type="obsolete">Sarea</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">E&rregistroa Ikusi...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fitxategia</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">Hobes&penak...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">Disko &Gogorrak</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Teklatua</translation>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Gaitu</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Sarea</translation>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Ez dago onartutako gailurik konektaturik ostalari PC-ra</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">E&rregistroa Ikusi...</translation>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fitxategia</translation>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Re&fresh</source>
+        <translation type="unfinished">&Freskatu</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1022,17 +1107,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Gaitu</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Gaitu</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1048,6 +1128,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1100,18 +1202,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard Disk Controller (IDE)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hard Disk Controller (SATA)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hard Disk Controller (SCSI)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>DVD</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1166,15 +1256,27 @@
         <translation type="obsolete">MB</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1465,16 +1567,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1583,31 +1682,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Cancel</source>
@@ -2378,18 +2452,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2421,11 +2487,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2448,27 +2522,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2495,15 +2577,15 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2538,11 +2620,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2684,18 +2766,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>&Remove host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>&Edit host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Lists all available host-only networks.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2808,28 +2878,64 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Active</source>
+        <comment>NAT network</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2848,10 +2954,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&IPv4 Address:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2892,10 +2994,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Server Add&ress:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2927,6 +3025,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -2939,10 +3045,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2967,31 +3069,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3025,23 +3131,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3060,10 +3166,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Next Check:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3095,6 +3197,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -3401,11 +3507,6 @@
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation></translation>
@@ -3469,10 +3570,6 @@
         <translation></translation>
     </message>
     <message>
-        <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation></translation>
-    </message>
-    <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3503,6 +3600,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -3518,41 +3624,17 @@
         <translation type="obsolete">VirtualBox OSE</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>%1 egoera-argazkia</translation>
-    </message>
-    <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
+        <translation type="obsolete">%1 egoera-argazkia</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Ez dago onartutako gailurik konektaturik ostalari PC-ra</translation>
+        <translation type="obsolete">Ez dago onartutako gailurik konektaturik ostalari PC-ra</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -3569,15 +3651,15 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <source>Audio &Controller:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Audio &Controller:</source>
+        <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3585,7 +3667,7 @@
     <name>UIMachineSettingsDisplay</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation type="unfinished"><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>Video &Memory:</source>
@@ -3633,7 +3715,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation type="unfinished">VRDP autentifikazio metodoa ezartzen du.</translation>
+        <translation type="obsolete">VRDP autentifikazio metodoa ezartzen du.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -3641,7 +3723,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation type="unfinished">Bezero autentifikazioen denbora-muga ezartzen du, milisegundotan.</translation>
+        <translation type="obsolete">Bezero autentifikazioen denbora-muga ezartzen du, milisegundotan.</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -3652,10 +3734,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mo&nitor Count:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3664,14 +3742,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Allow Multiple Connections</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3692,46 +3762,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3740,10 +3782,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3795,10 +3833,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><i>About %1MB per 5 minute video</i></source>
         <translation type="unfinished"></translation>
     </message>
@@ -3824,21 +3858,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3850,6 +3880,70 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -3859,7 +3953,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation type="unfinished">Makina birtual honen egoera-argazkiak gordeko diren bidea erakusten du. Kontutan izan egoera-argazkiek disko leku asko erabili dezaketela.</translation>
+        <translation type="obsolete">Makina birtual honen egoera-argazkiak gordeko diren bidea erakusten du. Kontutan izan egoera-argazkiek disko leku asko erabili dezaketela.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -3994,10 +4088,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4034,6 +4124,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4054,23 +4152,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
+        <source>Show at &Top of Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in &Fullscreen/Seamless</source>
+        <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
+        <source>Show in &Full-screen/Seamless</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4121,7 +4219,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation type="unfinished">Ostalari SE-ren sare errealera konektatzeko moldagailu birtualak modua kontrolatzen du.</translation>
+        <translation type="obsolete">Ostalari SE-ren sare errealera konektatzeko moldagailu birtualak modua kontrolatzen du.</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -4137,7 +4235,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation type="unfinished">Abiaraztean sare kable birtuala konektaturik dagoen erakusten du.</translation>
+        <translation type="obsolete">Abiaraztean sare kable birtuala konektaturik dagoen erakusten du.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -4172,10 +4270,6 @@
         <translation type="unfinished">&Aurreratua</translation>
     </message>
     <message>
-        <source>Shows or hides additional network adapter options.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4184,10 +4278,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4204,10 +4294,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4259,6 +4345,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -4315,69 +4421,45 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Bikoizturiko ataka zenbakia hautatu da </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Bikoizturiko ataka bidea idatzi da </translation>
-    </message>
-    <message>
-        <source>No IRQ is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No I/O port is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Two or more ports have the same settings.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No port path is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There are currently duplicate port paths specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
+        <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This table contains a list of port forwarding rules.</source>
+        <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert new rule</source>
+        <source>No I/O port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy selected rule</source>
+        <source>Two or more ports have the same settings.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
+        <source>No port path is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
+        <source>There are currently duplicate port paths specified.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Bikoizturiko ataka zenbakia hautatu da </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Bikoizturiko ataka bidea idatzi da </translation>
+    </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4385,15 +4467,15 @@
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation type="unfinished">Partekatutako karpeta definizio berria gehitzen du.</translation>
+        <translation type="obsolete">Partekatutako karpeta definizio berria gehitzen du.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation type="unfinished">Hautatutako karpeta definizioa editatzen du.</translation>
+        <translation type="obsolete">Hautatutako karpeta definizioa editatzen du.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation type="unfinished">Hautatutako partekatutako karpeta definizioa ezabatzen du.</translation>
+        <translation type="obsolete">Hautatutako partekatutako karpeta definizioa ezabatzen du.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -4428,28 +4510,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Shared Folder</source>
+        <source>&Folders List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Shared Folder</source>
+        <source>Auto-mount</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Shared Folder</source>
+        <source>Yes</source>
+        <translation type="unfinished">Bai</translation>
+    </message>
+    <message>
+        <source>Add Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Folders List</source>
+        <source>Edit Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Auto-mount</source>
+        <source>Remove Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation type="unfinished">Bai</translation>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4495,7 +4589,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4544,7 +4638,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation type="unfinished">Serie ataka honen funtzionamendu modua kontrolatzen du. <b>Deskonektaturik</b> hautatuaz gero, bezero SE-ak serie ataka ikusiko du baina ezingo du berarekin lan egin.</translation>
+        <translation type="obsolete">Serie ataka honen funtzionamendu modua kontrolatzen du. <b>Deskonektaturik</b> hautatuaz gero, bezero SE-ak serie ataka ikusiko du baina ezingo du berarekin lan egin.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -4567,10 +4661,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4582,16 +4672,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
     <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Bikoizturiko ataka zenbakia hautatu da </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Bikoizturiko ataka bidea idatzi da </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -4615,17 +4702,20 @@
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsStorage</name>
+    <name>UIMachineSettingsSerialPage</name>
     <message>
-        <source><nobr><b>%1</b></nobr><br><nobr>Bus:&nbsp;&nbsp;%2</nobr><br><nobr>Type:&nbsp;&nbsp;%3</nobr></source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Bikoizturiko ataka zenbakia hautatu da </translation>
     </message>
     <message>
-        <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Bikoizturiko ataka bidea idatzi da </translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsStorage</name>
     <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
+        <source><nobr><b>%1</b></nobr><br><nobr>Bus:&nbsp;&nbsp;%2</nobr><br><nobr>Type:&nbsp;&nbsp;%3</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
@@ -4665,22 +4755,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hard &Disk:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4689,10 +4763,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4709,10 +4779,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Type:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4757,10 +4823,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4778,152 +4840,189 @@
     </message>
     <message>
         <source>Image</source>
-        <translation type="unfinished">Irudia</translation>
+        <translation type="obsolete">Irudia</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Irudia</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4931,12 +5030,7 @@
     <name>UIMachineSettingsSystem</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation type="unfinished"><qt>%1&nbsp;MB</qt></translation>
-    </message>
-    <message>
-        <source><qt>%1&nbsp;CPU</qt></source>
-        <comment>%1 is 1 for now</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -4964,7 +5058,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation type="unfinished">Behera Mugitu (Ktrl-Behera)</translation>
+        <translation type="obsolete">Behera Mugitu (Ktrl-Behera)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -4972,7 +5066,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation type="unfinished">Gora Mugitu (Ktrl-Gora)</translation>
+        <translation type="obsolete">Gora Mugitu (Ktrl-Gora)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5031,11 +5125,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPUs</qt></source>
-        <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5044,10 +5133,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5072,16 +5157,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5133,148 +5208,186 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsUSB</name>
     <message>
-        <source>&Add Empty Filter</source>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>A&dd Filter From Device</source>
+        <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Filter</source>
+        <source>%1 MB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Filter</source>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Move Filter Up</source>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>M&ove Filter Down</source>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>UIMachineSettingsUSB</name>
+    <message>
+        <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="obsolete">Ostalari ordenagailuari erantsitako hautatutako USB gailuaren eremu balioekin USB iragazki berri bat sortu.</translation>
+    </message>
+    <message>
+        <source>Moves the selected USB filter up.</source>
+        <translation type="obsolete">Haututako USB iragazkia gora mugitzen du.</translation>
+    </message>
+    <message>
+        <source>Moves the selected USB filter down.</source>
+        <translation type="obsolete">Haututako USB iragazkia behera mugitzen du.</translation>
+    </message>
+    <message>
+        <source>New Filter %1</source>
+        <comment>usb</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <source>When checked, enables the virtual USB controller of this machine.</source>
+        <translation type="unfinished">Markaturik dagoenean, makina honetako USB kontrolatzaile birtuala gaitzen du.</translation>
+    </message>
+    <message>
+        <source>Enable &USB Controller</source>
+        <translation type="unfinished">Gaitu &USB Kontrolatzailea</translation>
+    </message>
+    <message>
+        <source>USB Device &Filters</source>
+        <translation type="unfinished">USB Gailu &Iragazkiak</translation>
+    </message>
+    <message>
+        <source>Lists all USB filters of this machine. The checkbox to the left defines whether the particular filter is enabled or not. Use the context menu or buttons to the right to add or remove USB filters.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation type="unfinished">Ostalari ordenagailuari erantsitako hautatutako USB gailuaren eremu balioekin USB iragazki berri bat sortu.</translation>
+        <source>[filter]</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edits the selected USB filter.</source>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Removes the selected USB filter.</source>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Moves the selected USB filter up.</source>
-        <translation type="unfinished">Haututako USB iragazkia gora mugitzen du.</translation>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Moves the selected USB filter down.</source>
-        <translation type="unfinished">Haututako USB iragazkia behera mugitzen du.</translation>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New Filter %1</source>
-        <comment>usb</comment>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB controller of this machine.</source>
-        <translation type="unfinished">Markaturik dagoenean, makina honetako USB kontrolatzaile birtuala gaitzen du.</translation>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable &USB Controller</source>
-        <translation type="unfinished">Gaitu &USB Kontrolatzailea</translation>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Device &Filters</source>
-        <translation type="unfinished">USB Gailu &Iragazkiak</translation>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all USB filters of this machine. The checkbox to the left defines whether the particular filter is enabled or not. Use the context menu or buttons to the right to add or remove USB filters.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>[filter]</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Add Empty Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Add Filter From Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Edit Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Remove Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Move Filter Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Move Filter Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5308,67 +5421,67 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Product ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Product ID:</source>
+        <source>&Revision:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Manufacturer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Revision:</source>
+        <source>Pro&duct:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <source>&Serial No.:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Manufacturer:</source>
+        <source>Por&t:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>R&emote:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Pro&duct:</source>
+        <source>USB Filter Details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Serial No.:</source>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5389,10 +5502,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5408,6 +5517,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -5919,10 +6032,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Deleting this host-only network will remove the host-only interface this network is based on. Do you want to remove the (host-only network) interface <nobr><b>%1</b>?</nobr></p><p><b>Note:</b> this interface may be in use by one or more virtual network adapters belonging to one of your VMs. After it is removed, these adapters will no longer be usable until you correct their settings by either choosing a different in [...]
         <translation type="unfinished"></translation>
     </message>
@@ -6021,10 +6130,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation type="unfinished">Ezabatu</translation>
@@ -6099,10 +6204,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation type="unfinished">Ezabatu</translation>
     </message>
@@ -6162,10 +6263,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -6238,10 +6335,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -6425,10 +6518,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -6537,18 +6626,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -6588,30 +6665,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -6729,10 +6782,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6804,6 +6853,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -7445,6 +7534,13 @@ gogorrak erantsi ditzakezu.</p></translation>
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Izena</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Izena</translation>
     </message>
     <message>
@@ -7467,6 +7563,34 @@ gogorrak erantsi ditzakezu.</p></translation>
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -7677,13 +7801,6 @@ gogorrak erantsi ditzakezu.</p></translation>
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -7693,6 +7810,10 @@ gogorrak erantsi ditzakezu.</p></translation>
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -8111,96 +8232,96 @@ gogorrak erantsi ditzakezu.</p></translation>
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -8243,10 +8364,6 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8302,6 +8419,10 @@ gogorrak erantsi ditzakezu.</p></translation>
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -8557,83 +8678,83 @@ gogorrak erantsi ditzakezu.</p></translation>
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><nobr>%1 (%2 B)</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -8664,31 +8785,31 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9576,35 +9697,35 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished">Berrezarri</translation>
     </message>
     <message>
-        <source>Opens a window to select a different folder.</source>
+        <source>Resets the folder path to the default value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resets the folder path to the default value.</source>
+        <source>Resets the file path to the default value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to select a different file.</source>
+        <source>&Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resets the file path to the default value.</source>
+        <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Copy</source>
+        <source>Displays a window to select a different folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the folder path here.</source>
+        <source>Displays a window to select a different file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the file path here.</source>
+        <source>Holds the folder path.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
+        <source>Holds the file path.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11114,14 +11235,6 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11162,10 +11275,6 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Enabled</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation type="obsolete">Gaiturik</translation>
@@ -11363,25 +11472,37 @@ gogorrak erantsi ditzakezu.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -12658,7 +12779,7 @@ Linux SE batetatik atzitzeko. Ezaugarri honek Bezero Gehigarriak behar ditu.<
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation type="unfinished">Hautatutako egoera-argazkiaren xehetasunak ikusi</translation>
+        <translation type="obsolete">Hautatutako egoera-argazkiaren xehetasunak ikusi</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -12673,23 +12794,27 @@ Linux SE batetatik atzitzeko. Ezaugarri honek Bezero Gehigarriak behar ditu.<
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Restore the selected snapshot of the virtual machine</source>
+        <source> (%1 ago)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Clone...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete the selected snapshot of the virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> (%1 ago)</source>
+        <source>Delete selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Clone...</source>
+        <source>Display a window with selected snapshot details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -12748,6 +12873,10 @@ Linux SE batetatik atzitzeko. Ezaugarri honek Bezero Gehigarriak behar ditu.<
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">%1 egoera-argazkia</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBFilterSettings</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
index 6adbc52..4cafb59 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fa_IR.ts
@@ -185,7 +185,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>تغییر اندازه خودکار صفحه مهمان وقتی پنجره تغییر اندازه داده شد (به افزونه مهمان نیازدارد)</translation>
+        <translation type="obsolete">تغییر اندازه خودکار صفحه مهمان وقتی پنجره تغییر اندازه داده شد (به افزونه مهمان نیازدارد)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -245,7 +245,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>اِرسال رویداد فشار دکمه برق اِی سی پی آی به ماشین مجازی</translation>
+        <translation type="obsolete">اِرسال رویداد فشار دکمه برق اِی سی پی آی به ماشین مجازی</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -281,7 +281,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>تغییر تنظیمات آداپتورهای شبکه</translation>
+        <translation type="obsolete">تغییر تنظیمات آداپتورهای شبکه</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -289,7 +289,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>ایجاد یا ویرایش پوشه های اشتراکی</translation>
+        <translation type="obsolete">ایجاد یا ویرایش پوشه های اشتراکی</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -376,7 +376,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>مدیریت تنظیمات ماشین مجازی</translation>
+        <translation type="obsolete">مدیریت تنظیمات ماشین مجازی</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -404,7 +404,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>مدیر عملکردهای شبکه را نشان میدهد</translation>
+        <translation type="obsolete">مدیر عملکردهای شبکه را نشان میدهد</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -416,7 +416,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>پنجره اطلاعات محصول را نشان میدهد</translation>
+        <translation type="obsolete">پنجره اطلاعات محصول را نشان میدهد</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -428,7 +428,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>ایجاد یک ضبط وضعیت ماشین مجازی</translation>
+        <translation type="obsolete">ایجاد یک ضبط وضعیت ماشین مجازی</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -471,11 +471,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>اولو&یت ها...</translation>
+        <translation type="obsolete">اولو&یت ها...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>پنجره تنظیمات سراسری را نشان میدهد</translation>
+        <translation type="obsolete">پنجره تنظیمات سراسری را نشان میدهد</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -491,15 +491,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>ایجاد یک ماشین مجازی جدید</translation>
+        <translation type="obsolete">ایجاد یک ماشین مجازی جدید</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>افزودن یک ماشین موجود</translation>
+        <translation type="obsolete">افزودن یک ماشین موجود</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>ماشین مجازی انتخاب شده را تغییرنام میدهد</translation>
+        <translation type="obsolete">ماشین مجازی انتخاب شده را تغییرنام میدهد</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -511,27 +511,27 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>تازه& کردن...</translation>
+        <translation type="obsolete">تازه& کردن...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>تازه کردن وضعیت دسترسی پذیری ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">تازه کردن وضعیت دسترسی پذیری ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>نمایش در یابنده</translation>
+        <translation type="obsolete">نمایش در یابنده</translation>
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>نمایش در اکسپلورر</translation>
+        <translation type="obsolete">نمایش در اکسپلورر</translation>
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>نمایش در مدیرفایل</translation>
+        <translation type="obsolete">نمایش در مدیرفایل</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>ماشین ویرچوال باکس را در مدیرفایل نشان میدهد</translation>
+        <translation type="obsolete">ماشین ویرچوال باکس را در مدیرفایل نشان میدهد</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -543,7 +543,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>افزودن یک گروه جدید مبتنی بر آیتم انتخاب شده</translation>
+        <translation type="obsolete">افزودن یک گروه جدید مبتنی بر آیتم انتخاب شده</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -551,7 +551,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>شبیه سازی ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">شبیه سازی ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -563,7 +563,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>لغو وضعیت ذخیره& شده...</translation>
+        <translation type="obsolete">لغو وضعیت ذخیره& شده...</translation>
     </message>
     <message>
         <source>&Close</source>
@@ -591,67 +591,67 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>مرتبسازی الفبایی آیتم های گروه ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">مرتبسازی الفبایی آیتم های گروه ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>ماشین مجازی انتخاب شده را حذف میکند</translation>
+        <translation type="obsolete">ماشین مجازی انتخاب شده را حذف میکند</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>شروع ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">شروع ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>رفتن به پنجره انتخاب شده ماشین مجازی</translation>
+        <translation type="obsolete">رفتن به پنجره انتخاب شده ماشین مجازی</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>تعلیق اِجرای ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">تعلیق اِجرای ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>ماشین مجازی انتخاب شده را ریست میکند</translation>
+        <translation type="obsolete">ماشین مجازی انتخاب شده را ریست میکند</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>لغو وضعیت ذخیره شده ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">لغو وضعیت ذخیره شده ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>ماشین ویرچوال باکس را در یابنده نشان میدهد</translation>
+        <translation type="obsolete">ماشین ویرچوال باکس را در یابنده نشان میدهد</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>ماشین ویرچوال باکس را در اکسپلورر نشان میدهد</translation>
+        <translation type="obsolete">ماشین ویرچوال باکس را در اکسپلورر نشان میدهد</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>ایجاد میانبر روی دسکتاپ</translation>
+        <translation type="obsolete">ایجاد میانبر روی دسکتاپ</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>ایجاد یک فایل نماد از ماشین مجازی در دسکتاپ شما</translation>
+        <translation type="obsolete">ایجاد یک فایل نماد از ماشین مجازی در دسکتاپ شما</translation>
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>ایجاد میانبر در دسکتاپ</translation>
+        <translation type="obsolete">ایجاد میانبر در دسکتاپ</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>ایجاد یک فایل میانبر از ماشین مجازی در دسکتاپ شما</translation>
+        <translation type="obsolete">ایجاد یک فایل میانبر از ماشین مجازی در دسکتاپ شما</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>ذخیره وضعیت</translation>
+        <translation type="obsolete">ذخیره وضعیت</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>ذخیره وضعیت ماشین،ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">ذخیره وضعیت ماشین،ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>اِرسال رویداد فشار دکمه برق اِی سی پی آی به ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">اِرسال رویداد فشار دکمه برق اِی سی پی آی به ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -659,11 +659,11 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>برق ماشین مجازی انتخاب شده را قطع میکند</translation>
+        <translation type="obsolete">برق ماشین مجازی انتخاب شده را قطع میکند</translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>نمایش فایل وقایع ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">نمایش فایل وقایع ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -675,15 +675,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>&خروج از گروه...</translation>
+        <translation type="obsolete">&خروج از گروه...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>خروج از گروه آیتم های گروه ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">خروج از گروه آیتم های گروه ماشین مجازی انتخاب شده</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>مرتبسازی</translation>
+        <translation type="obsolete">مرتبسازی</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -691,7 +691,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>مرتبسازی الفبایی گروه اولین ماشین انتخاب شده</translation>
+        <translation type="obsolete">مرتبسازی الفبایی گروه اولین ماشین انتخاب شده</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -702,10 +702,6 @@
         <translation type="obsolete">کشیدن 'و' رهاکردن</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -722,246 +718,298 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Network</source>
+        <translation type="obsolete">شبکه</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">نمایش و&قایع...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&File</source>
+        <translation type="unfinished">&فایل</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Seam&less Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">شبکه</translation>
+        <source>Enable host mouse pointer integration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">نمایش و&قایع...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&فایل</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">اولو&یت ها...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Seam&less Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -973,9 +1021,180 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">پیشنمایش مانیتور %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">دستگاه یو اِس بی متصل نشده است</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">دستگاه پشتیبانی شده ای به رایانه میزبان متصل نشده است</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">تازه& کردن</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -991,6 +1210,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1044,15 +1285,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>کنترلر هارد دیسک (IDE)</translation>
+        <translation type="obsolete">کنترلر هارد دیسک (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>کنترلر هارد دیسک (SATA)</translation>
+        <translation type="obsolete">کنترلر هارد دیسک (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>کنترلر هارد دیسک (SCSI)</translation>
+        <translation type="obsolete">کنترلر هارد دیسک (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1096,7 +1337,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>کنترلر هارد دیسک (SAS)</translation>
+        <translation type="obsolete">کنترلر هارد دیسک (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1106,6 +1347,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>مقداردهی مجدد &آدرس مک همه کارت های شبکه</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1433,18 +1690,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>رهاکردن داده ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -1498,31 +1752,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIGChooserItemGroup</name>
     <message>
         <source><b>%1</b></source>
@@ -1989,7 +2218,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>حداکثر عرضی را که ما دوست داریم مهمان استفاده کند را مشخص میکند.</translation>
+        <translation type="obsolete">حداکثر عرضی را که ما دوست داریم مهمان استفاده کند را مشخص میکند.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -1997,7 +2226,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>حداکثر ارتفاعی را که ما دوست داریم مهمان استفاده کند را مشخص میکند.</translation>
+        <translation type="obsolete">حداکثر ارتفاعی را که ما دوست داریم مهمان استفاده کند را مشخص میکند.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -2031,11 +2260,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2063,11 +2300,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>افزودن بسته</translation>
+        <translation type="obsolete">افزودن بسته</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>حذف بسته</translation>
+        <translation type="obsolete">حذف بسته</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -2085,6 +2322,22 @@
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -2125,15 +2378,15 @@
         <translation type="obsolete">غیر&فعالسازی محافظ صفحه نمایش میزبان</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2180,11 +2433,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2359,15 +2612,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>افزودن فقط-می&زبان شبکه</translation>
+        <translation type="obsolete">افزودن فقط-می&زبان شبکه</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>حذف &شبکه فقط-میزبان</translation>
+        <translation type="obsolete">حذف &شبکه فقط-میزبان</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>ویرایش فقط-م&یزبان شبکه</translation>
+        <translation type="obsolete">ویرایش فقط-م&یزبان شبکه</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -2499,15 +2752,51 @@
         <translation type="unfinished">فعال</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2622,7 +2911,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">استفاده از پیکربندی دستی برای این آداپتور شبکه فقط-میزبان.</translation>
+        <translation type="obsolete">استفاده از پیکربندی دستی برای این آداپتور شبکه فقط-میزبان.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -2666,7 +2955,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">هرگاه سرور دی اِچ سی پی در اِستارت آپ ماشین فعال شده باشد یا نه،را نشان میدهد.</translation>
+        <translation type="obsolete">هرگاه سرور دی اِچ سی پی در اِستارت آپ ماشین فعال شده باشد یا نه،را نشان میدهد.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -2700,6 +2989,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">محدوده آدرس پایین تر ارائه شده توسط سرور دی اِچ سی پی خدماتی شبکه وابسته سازی شده با این اداپتور فقط-میزبان را نشان میدهد.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -2712,10 +3009,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2740,32 +3033,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">پنجره را برای مدیریت دستورات اِرسال پورت باز میکند.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">اِرسا&ل پورت</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">پنجره را برای مدیریت دستورات اِرسال پورت باز میکند.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">اِرسا&ل پورت</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2799,7 +3100,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>تغییر پراکسی میزبان.</translation>
+        <translation type="obsolete">تغییر پراکسی میزبان.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -2807,7 +3108,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>تغییر پورت پراکسی.</translation>
+        <translation type="obsolete">تغییر پورت پراکسی.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -2841,6 +3142,14 @@
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -2858,7 +3167,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>مشخص میکند هرچند وقت یکبار بررسی نسخه جدید باید اجرا شود.توجه کنید که اگر میخواهید کاملا این بررسی را غیرفعال کنید،گزینه بالایی را غیرفعال کنید.</translation>
+        <translation type="obsolete">مشخص میکند هرچند وقت یکبار بررسی نسخه جدید باید اجرا شود.توجه کنید که اگر میخواهید کاملا این بررسی را غیرفعال کنید،گزینه بالایی را غیرفعال کنید.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -2892,6 +3201,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>همه نسخه ها و پیش نسخه ه&ا</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -3097,7 +3410,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>فعالیت دیسک سخت مجازی را نشان میدهد:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>فعالیت دیسک سخت مجازی را نشان میدهد:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -3170,7 +3483,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>هرگاه صفحه کلید توسط سیستم عامل مهمان ضیط شده باشد (<img src=:/hostkey_captured_16px.png/>) یا نه،را نشان میدهد (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">هرگاه صفحه کلید توسط سیستم عامل مهمان ضیط شده باشد (<img src=:/hostkey_captured_16px.png/>) یا نه،را نشان میدهد (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -3216,6 +3529,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -3228,11 +3550,11 @@
     <name>UIMachineLogic</name>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>پیشنمایش مانیتور %1</translation>
+        <translation type="obsolete">پیشنمایش مانیتور %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>ضبط وضعیت %1</translation>
+        <translation type="obsolete">ضبط وضعیت %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -3252,32 +3574,16 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>دستگاه یو اِس بی متصل نشده است</translation>
+        <translation type="obsolete">دستگاه یو اِس بی متصل نشده است</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>دستگاه پشتیبانی شده ای به رایانه میزبان متصل نشده است</translation>
+        <translation type="obsolete">دستگاه پشتیبانی شده ای به رایانه میزبان متصل نشده است</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>یک نام فایل برای ضبط وضعیت انتخاب کنید...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -3295,7 +3601,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>درایور خروجی صدا را کنترل میکند. گزینه <b>درایور صوتی تهی</b> باعث میشود که مهمان کارت صوتی را مشاهده کند، هر چند هر دسترسی به آن چشمپوشی میشود.</translation>
+        <translation type="obsolete">درایور خروجی صدا را کنترل میکند. گزینه <b>درایور صوتی تهی</b> باعث میشود که مهمان کارت صوتی را مشاهده کند، هر چند هر دسترسی به آن چشمپوشی میشود.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -3305,6 +3611,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>نوع کارت صدای مجازی را انتخاب کنید.وابسته به این مقدار،ویرچوال باکس صدای سخت افزاری متفاوت به ماشین مجازی ارائه میدهد.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -3314,7 +3624,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;مگابایت</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;مگابایت</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -3366,7 +3676,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>روش تایید اعتبار VRDP را تعریف میکند.</translation>
+        <translation type="obsolete">روش تایید اعتبار VRDP را تعریف میکند.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -3374,7 +3684,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>مدت زمان را برای تایید اعتبار مهمان مشخص میکند،در هزارم ثانیه.</translation>
+        <translation type="obsolete">مدت زمان را برای تایید اعتبار مهمان مشخص میکند،در هزارم ثانیه.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -3390,7 +3700,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>شماره پورت سرور VRDP. میتوانید <tt>0</tt> (صفر) را انتخاب کنید، برای انتخاب پورت 3389، پورت استاندارد برای RDP.</translation>
+        <translation type="obsolete">شماره پورت سرور VRDP. میتوانید <tt>0</tt> (صفر) را انتخاب کنید، برای انتخاب پورت 3389، پورت استاندارد برای RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -3402,11 +3712,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>تعیین اینکه چه موقع اتصالات چندگانه همزمان به ماشین مجازی را اجازه میدهد.</translation>
+        <translation type="obsolete">تعیین اینکه چه موقع اتصالات چندگانه همزمان به ماشین مجازی را اجازه میدهد.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -3441,46 +3751,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3489,10 +3771,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3544,10 +3822,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">نوارابزار کوچک:</translation>
     </message>
@@ -3593,21 +3867,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">سه بعدی {100%?}</translation>
+        <translation type="obsolete">سه بعدی {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">سه بعدی {200%?}</translation>
+        <translation type="obsolete">سه بعدی {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3619,12 +3889,76 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 مگابایت</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>مسیری که ضبط وضعیت ماشین مجازی در آن ذخیره شده را نشان میدهد.آگاه باشید که ضبط وضعیت فضای دیسک بسیاری استفاده می کند.</translation>
+        <translation type="obsolete">مسیری که ضبط وضعیت ماشین مجازی در آن ذخیره شده را نشان میدهد.آگاه باشید که ضبط وضعیت فضای دیسک بسیاری استفاده می کند.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -3723,10 +4057,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3763,6 +4093,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -3784,15 +4122,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">اگر انتخاب شده،نوار ابزار کوچک را در حالت تمام صفحه یا یکپارچه نشان میدهد.</translation>
+        <translation type="obsolete">اگر انتخاب شده،نوار ابزار کوچک را در حالت تمام صفحه یا یکپارچه نشان میدهد.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">نمایش &در تمام صفحه/یکپارچه</translation>
+        <translation type="obsolete">نمایش &در تمام صفحه/یکپارچه</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">اگر انتخاب شده، نوارابزار کوچک را در بالای صفحه نشان میدهد،بجای موقعیت پیش فرض آن در پایین صفحه.</translation>
+        <translation type="obsolete">اگر انتخاب شده، نوارابزار کوچک را در بالای صفحه نشان میدهد،بجای موقعیت پیش فرض آن در پایین صفحه.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -3802,6 +4140,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -3823,7 +4173,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>کنترل اینکه چگونه این آداپتور مجازی به شبکه واقعی سیستم عامل میزبان ضمیمه شده است.</translation>
+        <translation type="obsolete">کنترل اینکه چگونه این آداپتور مجازی به شبکه واقعی سیستم عامل میزبان ضمیمه شده است.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -3856,7 +4206,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>نمایش یا عدم نمایش گزینه های اضافی آداپتور شبکه.</translation>
+        <translation type="obsolete">نمایش یا عدم نمایش گزینه های اضافی آداپتور شبکه.</translation>
     </message>
     <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
@@ -3868,7 +4218,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>هرگاه کابل شبکه مجازی در اِستارت آپ ماشین متصل شده است یا نه،را نشان میدهد.</translation>
+        <translation type="obsolete">هرگاه کابل شبکه مجازی در اِستارت آپ ماشین متصل شده است یا نه،را نشان میدهد.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -3876,7 +4226,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>پنجره را برای مدیریت دستورات اِرسال پورت باز میکند.</translation>
+        <translation type="obsolete">پنجره را برای مدیریت دستورات اِرسال پورت باز میکند.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -3896,7 +4246,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>هرگونه پیکربندی تنظیمات برای درایور پیوست شبکه را که استفاده خواهید کرد را اینجا وارد کنید. تنظیمات باید به شکل <b>نام=مقدار</b> باشد و به درایور آن بستگی خواهد داشت. از <b>shift-enter</b> برای افزودن ورودی جدید استفاده کنید.</translation>
+        <translation type="obsolete">هرگونه پیکربندی تنظیمات برای درایور پیوست شبکه را که استفاده خواهید کرد را اینجا وارد کنید. تنظیمات باید به شکل <b>نام=مقدار</b> باشد و به درایور آن بستگی خواهد داشت. از <b>shift-enter</b> برای افزودن ورودی جدید استفاده کنید.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -3955,11 +4305,31 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4010,21 +4380,6 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>آدرس پورت ورودی/خروجی پایه این پورت پارالل را نشان میدهد. مقادیر معتبر اعداد صحیحی در محدوده <tt>0</tt> به <tt>0xFFFF</tt> هستند.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">شماره پورت تکراری انتخاب شده است </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">مسیر پورت مشخص نشده است </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">مسیر تکراری پورت وارد شده است </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -4047,6 +4402,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">شماره پورت تکراری انتخاب شده است </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">مسیر پورت مشخص نشده است </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">مسیر تکراری پورت وارد شده است </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -4054,42 +4424,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>این جدول شامل یک لیست از دستورات اِرسال پورت است.</translation>
+        <translation type="obsolete">این جدول شامل یک لیست از دستورات اِرسال پورت است.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>افزودن دستور جدید</translation>
+        <translation type="obsolete">افزودن دستور جدید</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>کپی دستور انتخاب شده</translation>
+        <translation type="obsolete">کپی دستور انتخاب شده</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>حذف دستور انتخاب شده</translation>
+        <translation type="obsolete">حذف دستور انتخاب شده</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>این دکمه دستور اِرسال پورت جدید اضافه میکند.</translation>
+        <translation type="obsolete">این دکمه دستور اِرسال پورت جدید اضافه میکند.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>این دکمه دستور اِرسال پورت انتخاب شده را حذف میکند.</translation>
+        <translation type="obsolete">این دکمه دستور اِرسال پورت انتخاب شده را حذف میکند.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>پوشه تعریف جدید اشتراکی را اضافه میکند.</translation>
+        <translation type="obsolete">پوشه تعریف جدید اشتراکی را اضافه میکند.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>پوشه تعریف اشتراکی انتخاب شده را ویرایش میکند.</translation>
+        <translation type="obsolete">پوشه تعریف اشتراکی انتخاب شده را ویرایش میکند.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>پوشه تعریف اشتراکی انتخاب شده را حذف میکند.</translation>
+        <translation type="obsolete">پوشه تعریف اشتراکی انتخاب شده را حذف میکند.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -4125,15 +4495,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&افزودن پوشه اشتراکی</translation>
+        <translation type="obsolete">&افزودن پوشه اشتراکی</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&ویرایش پوشه اشتراکی</translation>
+        <translation type="obsolete">&ویرایش پوشه اشتراکی</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&حذف پوشه اشتراکی</translation>
+        <translation type="obsolete">&حذف پوشه اشتراکی</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -4147,6 +4517,30 @@
         <source>Yes</source>
         <translation>بله</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -4196,7 +4590,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>اگر انتخاب شده باشد،این پوشه اشتراکی دائمی خواهد بود.</translation>
+        <translation type="obsolete">اگر انتخاب شده باشد،این پوشه اشتراکی دائمی خواهد بود.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4236,7 +4634,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>حالت کاری این پورت سریال را کنترل میکند. اگر شما <b>قطع شده است</b> را انتخاب کنید، سیستم عامل مهمان پورت سریال را تشخیص خواهد داد اما قادر به استفاده از آن نیست.</translation>
+        <translation type="obsolete">حالت کاری این پورت سریال را کنترل میکند. اگر شما <b>قطع شده است</b> را انتخاب کنید، سیستم عامل مهمان پورت سریال را تشخیص خواهد داد اما قادر به استفاده از آن نیست.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -4263,10 +4661,6 @@
         <translation>آدرس پورت ورودی/خروجی پایه را برای این پورت سریال را نشان میدهد. مقادیر معتبر اعداد صحیح در محدوده ای از <tt>0</tt> به <tt>0xFFFF</tt> هستند.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4278,20 +4672,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">شماره پورت تکراری انتخاب شده است </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">مسیر پورت مشخص نشده است </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">مسیر تکراری پورت وارد شده است </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -4315,6 +4702,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">شماره پورت تکراری انتخاب شده است </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">مسیر پورت مشخص نشده است </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">مسیر تکراری پورت وارد شده است </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source><nobr><b>%1</b></nobr><br><nobr>Bus:&nbsp;&nbsp;%2</nobr><br><nobr>Type:&nbsp;&nbsp;%3</nobr></source>
@@ -4322,11 +4724,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>بازکردن/بستن&nbsp;آیتم</nobr></translation>
+        <translation type="obsolete"><nobr>بازکردن/بستن&nbsp;آیتم</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>افزودن&nbsp;دیسک&nbsp;سخت</nobr></translation>
+        <translation type="obsolete"><nobr>افزودن&nbsp;دیسک&nbsp;سخت</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -4386,19 +4788,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>یک کنترلر جدید به انتهای درخت ذخیره ساز اضافه میکند.</translation>
+        <translation type="obsolete">یک کنترلر جدید به انتهای درخت ذخیره ساز اضافه میکند.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>کنترلر پررنگ شده در درخت ذخیره ساز را حذف میکند.</translation>
+        <translation type="obsolete">کنترلر پررنگ شده در درخت ذخیره ساز را حذف میکند.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>یک ضمیمه جدید به درخت ذخیره ساز توسط کنترلر انتخاب شده فعلی بعنوان منشاء اضافه میکند.</translation>
+        <translation type="obsolete">یک ضمیمه جدید به درخت ذخیره ساز توسط کنترلر انتخاب شده فعلی بعنوان منشاء اضافه میکند.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>ضمیمه پررنگ شده در درخت ذخیره ساز را حذف میکند.</translation>
+        <translation type="obsolete">ضمیمه پررنگ شده در درخت ذخیره ساز را حذف میکند.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -4426,7 +4828,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>شامل همه کنترلر های ذخیره ساز برای این ماشین و ماشین مجازی و درایوهای میزبان ضمیمه شده به آنها هست.</translation>
+        <translation type="obsolete">شامل همه کنترلر های ذخیره ساز برای این ماشین و ماشین مجازی و درایوهای میزبان ضمیمه شده به آنها هست.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -4446,7 +4848,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>نام کنترلر ذخیره ساز فعلی انتخاب شده را در درخت ذخیره ساز تغییر میدهد.</translation>
+        <translation type="obsolete">نام کنترلر ذخیره ساز فعلی انتخاب شده را در درخت ذخیره ساز تغییر میدهد.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -4494,7 +4896,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>اجازه استفاده از قابلیت کَش ورودی/خروجی میزبان را میدهد.</translation>
+        <translation type="obsolete">اجازه استفاده از قابلیت کَش ورودی/خروجی میزبان را میدهد.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -4518,7 +4920,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>ایمیج</translation>
+        <translation type="obsolete">ایمیج</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -4526,7 +4928,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>تنظیم دیسک سخت مجازی</translation>
+        <translation type="obsolete">تنظیم دیسک سخت مجازی</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -4550,15 +4952,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>تنظیم درایو فلاپی مجازی</translation>
+        <translation type="obsolete">تنظیم درایو فلاپی مجازی</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>ایجاد یک دیسک سخت جدید...</translation>
+        <translation type="obsolete">ایجاد یک دیسک سخت جدید...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>یک فایل ديسک سخت مجازی انتخاب کنید...</translation>
+        <translation type="obsolete">یک فایل ديسک سخت مجازی انتخاب کنید...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -4570,11 +4972,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>یک فایل دیسک فلاپی مجازی انتخاب کنید...</translation>
+        <translation type="obsolete">یک فایل دیسک فلاپی مجازی انتخاب کنید...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>وقتیکه انتخاب شده،دیسک مجازی حذف نخواهد شد زمانیکه سیستم مهمان آن را ایجکت میکند.</translation>
+        <translation type="obsolete">وقتیکه انتخاب شده،دیسک مجازی حذف نخواهد شد زمانیکه سیستم مهمان آن را ایجکت میکند.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -4582,7 +4984,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>وقتیکه انتخاب شده،سیستم مهمان دیسک مجازی را بعنوان یک دستگاه حالت جامد خواهد دید.</translation>
+        <translation type="obsolete">وقتیکه انتخاب شده،سیستم مهمان دیسک مجازی را بعنوان یک دستگاه حالت جامد خواهد دید.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -4655,47 +5057,116 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">یک فایل دیسک نوری مجازی انتخاب کنید...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">یک فایل دیسک نوری مجازی انتخاب کنید...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">ایمیج</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4727,12 +5198,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;مگابایت</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;مگابایت</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;پردازنده</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;پردازنده</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -4760,7 +5231,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>به پایین (Ctrl-Down)</translation>
+        <translation type="obsolete">به پایین (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -4768,7 +5239,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>به بالا (Ctrl-Up)</translation>
+        <translation type="obsolete">به بالا (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -4829,7 +5300,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;پردازنده</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;پردازنده</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -4841,7 +5312,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>اگر انتخاب شده، دستگاه RTC زمان را در یو تی سی گزارش میدهد، در غیراینصورت دز زمان (میزبان) محلی گزارش میدهد. یونیکس معمولا انتظار دارد ساعت سخت افزاری در یو تی سی تنظیم شده باشد.</translation>
+        <translation type="obsolete">اگر انتخاب شده، دستگاه RTC زمان را در یو تی سی گزارش میدهد، در غیراینصورت دز زمان (میزبان) محلی گزارش میدهد. یونیکس معمولا انتظار دارد ساعت سخت افزاری در یو تی سی تنظیم شده باشد.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -4886,12 +5357,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -4949,56 +5420,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 مگابایت</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>افزود&ن فیلتر خالی</translation>
+        <translation type="obsolete">افزود&ن فیلتر خالی</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>افزودن فیلت&ر از دستگاه</translation>
+        <translation type="obsolete">افزودن فیلت&ر از دستگاه</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>ویرایش &فیلتر</translation>
+        <translation type="obsolete">ویرایش &فیلتر</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>حذ&ف فیلتر</translation>
+        <translation type="obsolete">حذ&ف فیلتر</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&انتقال فیلتر به بالا</translation>
+        <translation type="obsolete">&انتقال فیلتر به بالا</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>&انتقال فیلتر به پایین</translation>
+        <translation type="obsolete">&انتقال فیلتر به پایین</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>یک فیلتر یو اِس بی جدید با همه فیلدهای آغازی تنظیم شده به استرینگ خالی اضافه میکند.توجه کنید که چنین فیلتری با هرگونه دستگاه یو اِس بی ضمیمه شده ای تطبیق پیدا میکند.</translation>
+        <translation type="obsolete">یک فیلتر یو اِس بی جدید با همه فیلدهای آغازی تنظیم شده به استرینگ خالی اضافه میکند.توجه کنید که چنین فیلتری با هرگونه دستگاه یو اِس بی ضمیمه شده ای تطبیق پیدا میکند.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>یک فیلتر یو اِس بی جدید با همه فیلدهای تنظیم شده به مقادیر دستگاه یو اِس بی انتخاب شده ضمیمه شده به رایانه میزبان اضافه میکند.</translation>
+        <translation type="obsolete">یک فیلتر یو اِس بی جدید با همه فیلدهای تنظیم شده به مقادیر دستگاه یو اِس بی انتخاب شده ضمیمه شده به رایانه میزبان اضافه میکند.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>ویرایش فیلتر یو اِس بی انتخاب شده.</translation>
+        <translation type="obsolete">ویرایش فیلتر یو اِس بی انتخاب شده.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>فیلتر یو اِس بی انتخاب شده را حذف میکند.</translation>
+        <translation type="obsolete">فیلتر یو اِس بی انتخاب شده را حذف میکند.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>فیلتر یو اِس بی انتخاب شده را به بالا انتقال میدهد.</translation>
+        <translation type="obsolete">فیلتر یو اِس بی انتخاب شده را به بالا انتقال میدهد.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>فیلتر یو اِس بی انتخاب شده را به پایین انتقال میدهد.</translation>
+        <translation type="obsolete">فیلتر یو اِس بی انتخاب شده را به پایین انتقال میدهد.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -5015,7 +5512,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>وقتیکه انتخاب شده، کنترلر یو اِس بی EHCI این ماشین را فعال میکند. کنترلر یو اِس بی EHCI پشتیبانی از یو اِس بی 2.0 را فراهم میکند.</translation>
+        <translation type="obsolete">وقتیکه انتخاب شده، کنترلر یو اِس بی EHCI این ماشین را فعال میکند. کنترلر یو اِس بی EHCI پشتیبانی از یو اِس بی 2.0 را فراهم میکند.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -5078,27 +5575,79 @@
         <translation type="obsolete">اکنون یو اِس بی 2.0 برای این ماشین فعال شده است. هرچند، این نیاز دارد که <b>%1</b> نصب شده باشد. لطفا بسته افزونه را از سایت ویرچوال باکس دانلود کنید. بعداز این شما قادر به فعال کردن مجدد یو اِس بی 2.0 هستید. آن در این فاصله غیرفعال شده است بجز اینکه شما تغییرات تنظیمات فعلی را لغو کنید.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5133,7 +5682,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>فیلتر شناسه فروشنده را تعریف میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>XXXX</tt> جایی که <tt>X</tt> یک رقم مبنای شانزده هست. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر شناسه فروشنده را تعریف میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>XXXX</tt> جایی که <tt>X</tt> یک رقم مبنای شانزده هست. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -5141,7 +5690,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>فیلتر شناسه محصول را تعریف میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>XXXX</tt> جایی که <tt>X</tt> یک رقم مبنای شانزده است. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر شناسه محصول را تعریف میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>XXXX</tt> جایی که <tt>X</tt> یک رقم مبنای شانزده است. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -5149,7 +5698,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>فیلتر شماره بازبینی را تعیین میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>IIFF</tt> جایی که <tt>I</tt> یک رقم دهدهی بخش صحیح و <tt>F</tt> یک رقم دهدهی بخش کسری هست. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر شماره بازبینی را تعیین میکند. فرمت استرینگ <i>تطبیق دقیق</i> هست <tt>IIFF</tt> جایی که <tt>I</tt> یک رقم دهدهی بخش صحیح و <tt>F</tt> یک رقم دهدهی بخش کسری هست. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -5157,7 +5706,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>فیلتر سازنده را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر سازنده را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -5165,7 +5714,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>فیلتر نام محصول را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر نام محصول را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -5173,7 +5722,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>فیلتر شماره سریال را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر شماره سریال را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -5181,7 +5730,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>فیلتر پورت یو اِس بی میزبان را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
+        <translation type="obsolete">فیلتر پورت یو اِس بی میزبان را بعنوان یک استرینگ <i>تطبیق دقیق</i> تعریف میکند. یک استرینگ خالی مطابق با هر مقداری است.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -5189,7 +5738,7 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>هرگاه این فیلتر اعمال شده به دستگاه یو اِس بی به رایانه میزبان محلی ضمیمه شده است (<i>خیر</i>)، به یک کلاینت رایانه VRDP (<i>بله</i>)، یا هر دو (<i>هر</i>) را تعریف میکند.</translation>
+        <translation type="obsolete">هرگاه این فیلتر اعمال شده به دستگاه یو اِس بی به رایانه میزبان محلی ضمیمه شده است (<i>خیر</i>)، به یک کلاینت رایانه VRDP (<i>بله</i>)، یا هر دو (<i>هر</i>) را تعریف میکند.</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -5203,6 +5752,38 @@
         <source>USB Filter Details</source>
         <translation>جزئیات فیلتر یو اِس بی</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -5222,7 +5803,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>درایو س&خت</translation>
+        <translation type="obsolete">درایو س&خت</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -5244,6 +5825,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -5602,7 +6187,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>به علت حافظه ویدیویی ناکافی قادر به تعویض صفحه مهمان به حالت تمام صفحه نیست.</p><p>شما باید ماشین مجازی را پیکربندی کنید که حداقل <b>%1</b> حافظه ویدیویی داشته باشد.</p><p>دکمه <b>چشمپوشی</b> را برای رفتن به حالت تمام صفحه درهر صورت فشار دهید یا دکمه <b>لغو</b> را برای لغو عملکرد فشار دهید.</p></translation>
+        <translation type="obsolete"><p>به علت حافظه ویدیویی ناکافی قادر به تعویض صفحه مهمان به حالت تمام صفحه نیست.</p><p>شما باید ماشین مجازی را پیکربندی کنید که حداقل <b>%1</b> حافظه ویدیویی داشته باشد.</p><p>دکمه <b>چشمپوشی</b> را برای رفتن به حالت تمام صفحه درهر صورت فشار دهید یا دکمه <b>لغو</b> را برای لغو عملکرد فشار دهید.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -5656,7 +6241,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>آیا میخواهید واحد ذخیره ساز دیسک سخت <nobr><b>%1</b></nobr> را حذف کنید؟</p><p>اگر شما <b>حذف</b> را انتخاب کنید سپس واحد ذخیره ساز مشخص شده همیشگی حذف خواهد شد. این عملکرد <b>قابل آندوکردن</b>نیست.</p><p>اگر شما <b>حفظ</b> را انتخاب کنید،سپس دیسک سخت فقط از لیست دیسک سخت های شناخته شده حذف خواهد شد، اما واحد ذخیره ساز دست نخورده باقی میماند که آن موجب میشود بعدا دیسک سخت را  [...]
+        <translation type="obsolete"><p>آیا میخواهید واحد ذخیره ساز دیسک سخت <nobr><b>%1</b></nobr> را حذف کنید؟</p><p>اگر شما <b>حذف</b> را انتخاب کنید سپس واحد ذخیره ساز مشخص شده همیشگی حذف خواهد شد. این عملکرد <b>قابل آندوکردن</b>نیست.</p><p>اگر شما <b>حفظ</b> را انتخاب کنید،سپس دیسک سخت فقط از لیست دیسک سخت های شناخته شده حذف خواهد شد، اما واحد ذخیره ساز دست نخورده باقی میماند که آن موجب میشود ب [...]
     </message>
     <message>
         <source>Delete</source>
@@ -5806,7 +6391,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>حذف ضبط وضعیت موجب میشود که اطلاعات ذخیره شده در آن از دست برود، و داده دیسک که در سطح چندین ایمیج گسترش یافته با اضافه ضبط وضعیت داخل یک فایل ادغام شوند. این میتواند یک فرآیند طولانی باشد، و اطلاعات ضبط وضعیت قابل بازگردانی نیست.</p></p>آیا میخواهید ضبط وضعیت انتخاب شده <b>%1</b> را حذف کنید؟</p></translation>
+        <translation type="obsolete"><p>حذف ضبط وضعیت موجب میشود که اطلاعات ذخیره شده در آن از دست برود، و داده دیسک که در سطح چندین ایمیج گسترش یافته با اضافه ضبط وضعیت داخل یک فایل ادغام شوند. این میتواند یک فرآیند طولانی باشد، و اطلاعات ضبط وضعیت قابل بازگردانی نیست.</p></p>آیا میخواهید ضبط وضعیت انتخاب شده <b>%1</b> را حذف کنید؟</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -5897,7 +6482,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>حذف ضبط وضعیت %1 موقتا فضای دیسک بیشتری را نیاز دارد. در بدترین حالت حجم ایمیج %2 توسط %3افزایش خواهد یافت، هرچند در این فایل سیستم آنجا فقط %4 آزاد است.</p><p>خارج شدن از فضای دیسک حین عملکرد ادغام میتواند موجب خرابی ایمیج و پیکربندی ماشین مجازی شود، مثل از دست دادن ماشین مجازی و داده های آن.</p><p>شما میتوانید با ریسک خود ضبط وضعیت را حذف کنید.</p></translation>
+        <translation type="obsolete"><p>حذف ضبط وضعیت %1 موقتا فضای دیسک بیشتری را نیاز دارد. در بدترین حالت حجم ایمیج %2 توسط %3افزایش خواهد یافت، هرچند در این فایل سیستم آنجا فقط %4 آزاد است.</p><p>خارج شدن از فضای دیسک حین عملکرد ادغام میتواند موجب خرابی ایمیج و پیکربندی ماشین مجازی شود، مثل از دست دادن ماشین مجازی و داده های آن.</p><p>شما میتوانید با ریسک خود ضبط وضعیت را حذف کنید.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -6041,7 +6626,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>پنجره ماشین مجازی حالا به حالت <b>تمام صفحه</b> میرود. با فشاردادن <b>%1</b> میتوانید به حالت پنجره ای بروید.</p><p>توجه داشته باشید که کلید <i>میزبان</i> اکنون بعنوان <b>%2</b> تعریف شده است.</p><p>توجه کنید که نوارمنوی اصلی در حالت یکپارچه پنهان است. میتوانید با فشاردادن <b>Host+Home</b> به آن دسترسی داشته باشید.</p></translation>
+        <translation type="obsolete"><p>پنجره ماشین مجازی حالا به حالت <b>تمام صفحه</b> میرود. با فشاردادن <b>%1</b> میتوانید به حالت پنجره ای بروید.</p><p>توجه داشته باشید که کلید <i>میزبان</i> اکنون بعنوان <b>%2</b> تعریف شده است.</p><p>توجه کنید که نوارمنوی اصلی در حالت یکپارچه پنهان است. میتوانید با فشاردادن <b>Host+Home</b> به آن دسترسی داشته باشید.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -6262,7 +6847,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>شما درصدد ایجاد یک ماشین مجازی جدید بدون درایو سخت هستید؟. تا زمانیکه یکی اضافه نکنید قادر به نصب سیستم عامل نیستید. در این زمان شما فقط قادر به شروع ماشین توسط دیسک نوری مجازی یا از شبکه هستید؟.</translation>
+        <translation type="obsolete">شما درصدد ایجاد یک ماشین مجازی جدید بدون درایو سخت هستید؟. تا زمانیکه یکی اضافه نکنید قادر به نصب سیستم عامل نیستید. در این زمان شما فقط قادر به شروع ماشین توسط دیسک نوری مجازی یا از شبکه هستید؟.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -6377,24 +6962,12 @@
         <translation type="unfinished">انتخاب دی&سک موجود</translation>
     </message>
     <message>
-        <source>Leave &empty</source>
-        <translation type="unfinished">خالی &بگذار</translation>
-    </message>
-    <message>
-        <source>&Choose disk</source>
-        <translation type="unfinished">انتخاب د&یسک</translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
+        <source>Leave &empty</source>
+        <translation type="unfinished">خالی &بگذار</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
+        <source>&Choose disk</source>
+        <translation type="unfinished">انتخاب د&یسک</translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -6436,30 +7009,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -6573,10 +7122,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6648,6 +7193,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
@@ -6803,27 +7388,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>نام</translation>
+        <translation type="obsolete">نام</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">پروتکل</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">آی پی میزبان</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">پورت میزبان</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">آی پی مهمان</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">پورت مهمان</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">نام</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>پروتکل</translation>
+        <translation type="unfinished">پروتکل</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>آی پی میزبان</translation>
+        <translation type="unfinished">آی پی میزبان</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>پورت میزبان</translation>
+        <translation type="unfinished">پورت میزبان</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>آی پی مهمان</translation>
+        <translation type="unfinished">آی پی مهمان</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>پورت مهمان</translation>
+        <translation type="unfinished">پورت مهمان</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7043,13 +7683,6 @@
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -7059,6 +7692,10 @@
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -7463,7 +8100,7 @@
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>کپی درایو سخت مجازی</translation>
+        <translation type="obsolete">کپی درایو سخت مجازی</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -7471,43 +8108,43 @@
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>درایو سخت برای کپی</translation>
+        <translation type="obsolete">درایو سخت برای کپی</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>لطفا یک فایل درایو سخت مجازی که میخواهید کپی کنید را اگر انتخاب نشده انتخاب کنید. میتوانید یکی از لیست انتخاب کنید یا از آیکون پوشه درکنار لیست یکی انتخاب کنید.</p></translation>
+        <translation type="obsolete"><p>لطفا یک فایل درایو سخت مجازی که میخواهید کپی کنید را اگر انتخاب نشده انتخاب کنید. میتوانید یکی از لیست انتخاب کنید یا از آیکون پوشه درکنار لیست یکی انتخاب کنید.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>یک فایل درایو سخت مجازی برای کپی انتخاب کنید...</translation>
+        <translation type="obsolete">یک فایل درایو سخت مجازی برای کپی انتخاب کنید...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>نوع فایل درایو سخت</translation>
+        <translation type="obsolete">نوع فایل درایو سخت</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>لطفا نوع فایلی را که میخواهید برای درایو سخت مجازی جدید استفاده کنید،انتخاب کنید. اگر نمیخواهید آن را با سایر برنامه های مجازی سازی استفاده کنید،میتوانید تنظیمات را تغییر ندهید.</translation>
+        <translation type="obsolete">لطفا نوع فایلی را که میخواهید برای درایو سخت مجازی جدید استفاده کنید،انتخاب کنید. اگر نمیخواهید آن را با سایر برنامه های مجازی سازی استفاده کنید،میتوانید تنظیمات را تغییر ندهید.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>ذخیره ساز در درایو سخت فیزیکی</translation>
+        <translation type="obsolete">ذخیره ساز در درایو سخت فیزیکی</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>لطفا انتخاب کنید چه موقع فایل درایو سخت مجازی جدید باید بزرگ شود بمهان اندازه که استفاده شده است (پویا اختصاص داده شده) یا آن باید در حداکثر حجم ایجاد شود (حجم ثابت شده).</translation>
+        <translation type="obsolete">لطفا انتخاب کنید چه موقع فایل درایو سخت مجازی جدید باید بزرگ شود بمهان اندازه که استفاده شده است (پویا اختصاص داده شده) یا آن باید در حداکثر حجم ایجاد شود (حجم ثابت شده).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>یک فایل درایو سخت <b>پویا اختصاص داده شده</b> فقط از فضای دیسک سخت فیزیکی شما استفاده میکند و آن را پر میکند (حداکثر تا تا <b>حجم ثابت شده</b>)، هرچند آن دوباره خودکار وقتیکه فضای آن خالی شد کوچک نمیشود.</p></translation>
+        <translation type="obsolete"><p>یک فایل درایو سخت <b>پویا اختصاص داده شده</b> فقط از فضای دیسک سخت فیزیکی شما استفاده میکند و آن را پر میکند (حداکثر تا تا <b>حجم ثابت شده</b>)، هرچند آن دوباره خودکار وقتیکه فضای آن خالی شد کوچک نمیشود.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>یک فایل درایو سخت <b>حجم ثابت شده</b> ممکن است در برخی سیستم ها بیشتر طول بکشد تا ایجاد شود اما اغلب استفاده سریعتری دارد.</p></translation>
+        <translation type="obsolete"><p>یک فایل درایو سخت <b>حجم ثابت شده</b> ممکن است در برخی سیستم ها بیشتر طول بکشد تا ایجاد شود اما اغلب استفاده سریعتری دارد.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>شما میتوانید <b>تقسیم</b> فایل درایو سخت به چندین فایل تا حجم دو گیگابایت را انتخاب کنید. این عمدتا برای ذخیره ماشین مجازی در دستگاه یو اِس بی قابل حمل یا سیستم قدیمی،که نمیتواند فایل های بزرگ را استفاده کند سودمند است.</translation>
+        <translation type="obsolete"><p>شما میتوانید <b>تقسیم</b> فایل درایو سخت به چندین فایل تا حجم دو گیگابایت را انتخاب کنید. این عمدتا برای ذخیره ماشین مجازی در دستگاه یو اِس بی قابل حمل یا سیستم قدیمی،که نمیتواند فایل های بزرگ را استفاده کند سودمند است.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -7523,19 +8160,19 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>لطفا یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید</translation>
+        <translation type="obsolete">لطفا یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>درایو سخت جدید برای ایجاد</translation>
+        <translation type="obsolete">درایو سخت جدید برای ایجاد</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>لطفا نام درایو سخت مجازی جدید را در کادر زیر وارد کنید یا روی پوشه آیکون برای انتخاب پوشه دیگری برای ایجاد فایل در آن کلیک کنید.</translation>
+        <translation type="obsolete">لطفا نام درایو سخت مجازی جدید را در کادر زیر وارد کنید یا روی پوشه آیکون برای انتخاب پوشه دیگری برای ایجاد فایل در آن کلیک کنید.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید...</translation>
+        <translation type="obsolete">یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -7544,15 +8181,87 @@
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>درایو سخت برای &کپی</translation>
+        <translation type="obsolete">درایو سخت برای &کپی</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&درایو سخت جدید برای ایجاد</translation>
+        <translation type="obsolete">&درایو سخت جدید برای ایجاد</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>نوع فایل &درایو سخت</translation>
+        <translation type="obsolete">نوع فایل &درایو سخت</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7595,7 +8304,7 @@
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>لطفا نوع شبیه سازی را که میخواهید برای ایجاد انتخاب کنید.</p><p>اگر شما <b>شبیه سازی کامل </b> را انتخاب کنید، یک کپی دقیق (شامل همه فایل های درایو سخت مجازی) از ماشین مجازی اصلی ایجاد خواهد شد.</p><p>اگر شما <b>شبیه سازی لینک شده</b> را انتخاب کنید، یک ماشین جدید ایجاد خواهد شد، اما فایل های درایو سخت مجازی به فایل های درایو سخت مجازی ماشین اصلی گره خورده است و شما قادر به انتقال ماشین مجازی جدید به رایانه دیگ [...]
+        <translation type="obsolete"><p>لطفا نوع شبیه سازی را که میخواهید برای ایجاد انتخاب کنید.</p><p>اگر شما <b>شبیه سازی کامل </b> را انتخاب کنید، یک کپی دقیق (شامل همه فایل های درایو سخت مجازی) از ماشین مجازی اصلی ایجاد خواهد شد.</p><p>اگر شما <b>شبیه سازی لینک شده</b> را انتخاب کنید، یک ماشین جدید ایجاد خواهد شد، اما فایل های درایو سخت مجازی به فایل های درایو سخت مجازی ماشین اصلی گره خورده است و شما قادر به انتقال ماشین مجازی جد [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -7653,6 +8362,10 @@
         <source>&Linked Clone</source>
         <translation>&شبیه سازی لینک شده</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -7929,7 +8642,7 @@
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>ایجاد یک درایو سخت مجازی</translation>
+        <translation type="obsolete">ایجاد یک درایو سخت مجازی</translation>
     </message>
     <message>
         <source>Create</source>
@@ -7937,31 +8650,31 @@
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>نوع فایل درایو سخت</translation>
+        <translation type="obsolete">نوع فایل درایو سخت</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>لطفا نوع فایلی را که میخواهید برای درایو سخت مجازی جدید استفاده کنید،انتخاب کنید. اگر نمیخواهید آن را با سایر برنامه های مجازی سازی استفاده کنید،میتوانید تنظیمات را تغییر ندهید.</translation>
+        <translation type="obsolete">لطفا نوع فایلی را که میخواهید برای درایو سخت مجازی جدید استفاده کنید،انتخاب کنید. اگر نمیخواهید آن را با سایر برنامه های مجازی سازی استفاده کنید،میتوانید تنظیمات را تغییر ندهید.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>ذخیره ساز در درایو سخت فیزیکی</translation>
+        <translation type="obsolete">ذخیره ساز در درایو سخت فیزیکی</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>لطفا انتخاب کنید چه موقع فایل درایو سخت مجازی جدید باید بزرگ شود بمهان اندازه که استفاده شده است (پویا اختصاص داده شده) یا آن باید در حداکثر حجم ایجاد شود (حجم ثابت شده).</translation>
+        <translation type="obsolete">لطفا انتخاب کنید چه موقع فایل درایو سخت مجازی جدید باید بزرگ شود بمهان اندازه که استفاده شده است (پویا اختصاص داده شده) یا آن باید در حداکثر حجم ایجاد شود (حجم ثابت شده).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>یک فایل درایو سخت <b>پویا اختصاص داده شده</b> فقط از فضای دیسک سخت فیزیکی شما استفاده میکند و آن را پر میکند (حداکثر تا تا <b>حجم ثابت شده</b>)، هرچند آن دوباره خودکار وقتیکه فضای آن خالی شد کوچک نمیشود.</p></translation>
+        <translation type="obsolete"><p>یک فایل درایو سخت <b>پویا اختصاص داده شده</b> فقط از فضای دیسک سخت فیزیکی شما استفاده میکند و آن را پر میکند (حداکثر تا تا <b>حجم ثابت شده</b>)، هرچند آن دوباره خودکار وقتیکه فضای آن خالی شد کوچک نمیشود.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>یک فایل درایو سخت <b>حجم ثابت شده</b> ممکن است در برخی سیستم ها بیشتر طول بکشد تا ایجاد شود اما اغلب استفاده سریعتری دارد.</p></translation>
+        <translation type="obsolete"><p>یک فایل درایو سخت <b>حجم ثابت شده</b> ممکن است در برخی سیستم ها بیشتر طول بکشد تا ایجاد شود اما اغلب استفاده سریعتری دارد.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>شما میتوانید <b>تقسیم</b> فایل درایو سخت به چندین فایل تا حجم دو گیگابایت را انتخاب کنید. این عمدتا برای ذخیره ماشین مجازی در دستگاه یو اِس بی قابل حمل یا سیستم قدیمی،که نمیتواند فایل های بزرگ را استفاده کند سودمند است.</translation>
+        <translation type="obsolete"><p>شما میتوانید <b>تقسیم</b> فایل درایو سخت به چندین فایل تا حجم دو گیگابایت را انتخاب کنید. این عمدتا برای ذخیره ماشین مجازی در دستگاه یو اِس بی قابل حمل یا سیستم قدیمی،که نمیتواند فایل های بزرگ را استفاده کند سودمند است.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -7985,15 +8698,15 @@
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>لطفا نام درایو سخت مجازی جدید را در کادر زیر وارد کنید یا روی پوشه آیکون برای انتخاب پوشه دیگری برای ایجاد فایل در آن کلیک کنید.</translation>
+        <translation type="obsolete">لطفا نام درایو سخت مجازی جدید را در کادر زیر وارد کنید یا روی پوشه آیکون برای انتخاب پوشه دیگری برای ایجاد فایل در آن کلیک کنید.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید...</translation>
+        <translation type="obsolete">یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>حجم درایو سخت مجازی را در مگابایت انتخاب کنید.این حجم محدودیتی در مقدار فایل داده هست که ماشین مجازی قادر به ذخیره آن در درایو سخت فیزیکی هست.</translation>
+        <translation type="obsolete">حجم درایو سخت مجازی را در مگابایت انتخاب کنید.این حجم محدودیتی در مقدار فایل داده هست که ماشین مجازی قادر به ذخیره آن در درایو سخت فیزیکی هست.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -8005,7 +8718,55 @@
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>نوع فایل &درایو سخت</translation>
+        <translation type="obsolete">نوع فایل &درایو سخت</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -8056,15 +8817,15 @@
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>درایو سخت</translation>
+        <translation type="obsolete">درایو سخت</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>اگر میخواهید درایو سخت مجازی به ماشین جدید اضافه کنید. میتوانید یک فایل درایو سخت جدید ایجاد کنید یا یکی از لیست انتخاب کنید یا توسط آیکون پوشه از مکان دیگری انتخاب کنید.</p><p>اگر نیاز به راه اندازی تنظیمات بیشتر ذخیره ساز دارید میتوانید این مرحله را رد کرده و تغییرات را در تنظیمات ماشین وقتی ایجاد شد انجام دهید.</p><p>حجم توصیه شده درایو سخت <b>%1</b> است.</p></translation>
+        <translation type="obsolete"><p>اگر میخواهید درایو سخت مجازی به ماشین جدید اضافه کنید. میتوانید یک فایل درایو سخت جدید ایجاد کنید یا یکی از لیست انتخاب کنید یا توسط آیکون پوشه از مکان دیگری انتخاب کنید.</p><p>اگر نیاز به راه اندازی تنظیمات بیشتر ذخیره ساز دارید میتوانید این مرحله را رد کرده و تغییرات را در تنظیمات ماشین وقتی ایجاد شد انجام دهید.</p><p>حجم توصیه شده درایو سخت <b>%1</b> است.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>یک فایل درایو سخت مجازی انتخاب کنید...</translation>
+        <translation type="obsolete">یک فایل درایو سخت مجازی انتخاب کنید...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -8072,15 +8833,39 @@
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>یک درایو سخت مجازی اضافه نک&ن</translation>
+        <translation type="obsolete">یک درایو سخت مجازی اضافه نک&ن</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>یک درایو سخت مجازی حالا ایجاد &کن</translation>
+        <translation type="obsolete">یک درایو سخت مجازی حالا ایجاد &کن</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>از یک فایل درایو سخت مجازی &استفاده کنید</translation>
+        <translation type="obsolete">از یک فایل درایو سخت مجازی &استفاده کنید</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">یک فایل ديسک سخت مجازی انتخاب کنید...</translation>
     </message>
 </context>
 <context>
@@ -8137,7 +8922,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>بازکردن یک پنجره برای انتخاب پوشه متفاوت.</translation>
+        <translation type="obsolete">بازکردن یک پنجره برای انتخاب پوشه متفاوت.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -8145,7 +8930,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>بازکردن یک پنجره برای انتخاب فایل متفاوت.</translation>
+        <translation type="obsolete">بازکردن یک پنجره برای انتخاب فایل متفاوت.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -8157,16 +8942,32 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>لطفا مسیر پوشه را اینجا وارد کنید.</translation>
+        <translation type="obsolete">لطفا مسیر پوشه را اینجا وارد کنید.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>لطفا مسیر فایل را اینجا وارد کنید.</translation>
+        <translation type="obsolete">لطفا مسیر فایل را اینجا وارد کنید.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobal</name>
@@ -8951,7 +9752,7 @@
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">ضمیمه کردن این دیسک سخت بطور غیرمستقیم توسط یک دیسک سخت متفاوت ایجاد شده جدید اِجرا شده است.</translation>
+        <translation type="unfinished">ضمیمه کردن این دیسک سخت بطور غیرمستقیم توسط یک دیسک سخت متفاوت ایجاد شده جدید اِجرا شده است.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -8961,7 +9762,7 @@
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">این دیسک سخت پایه غیرمستقیم ضمیمه شده توسط دیسک سخت متفاوت زیر:</translation>
+        <translation type="unfinished">این دیسک سخت پایه غیرمستقیم ضمیمه شده توسط دیسک سخت متفاوت زیر:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -9397,11 +10198,11 @@
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>لطفا یک فایل درایو سخت مجازی انتخاب کنید</translation>
+        <translation type="obsolete">لطفا یک فایل درایو سخت مجازی انتخاب کنید</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>همه فایل های درایو سخت مجازی (%1)</translation>
+        <translation type="obsolete">همه فایل های درایو سخت مجازی (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -9445,7 +10246,7 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>لطفا یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید</translation>
+        <translation type="obsolete">لطفا یک مکان برای فایل درایو سخت مجازی جدید انتخاب کنید</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -9645,25 +10446,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -9960,7 +10763,7 @@
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>نمایش جزئیات ضبط وضعیت انتخاب شده</translation>
+        <translation type="obsolete">نمایش جزئیات ضبط وضعیت انتخاب شده</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -9976,11 +10779,11 @@
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>بازگردانی ضبط وضعیت انتخاب شده ماشین مجازی</translation>
+        <translation type="obsolete">بازگردانی ضبط وضعیت انتخاب شده ماشین مجازی</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>حذف ضبط وضعیت انتخاب شده ماشین مجازی</translation>
+        <translation type="obsolete">حذف ضبط وضعیت انتخاب شده ماشین مجازی</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -9992,7 +10795,23 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>شبیه سازی ماشین مجازی انتخاب شده</translation>
+        <translation type="obsolete">شبیه سازی ماشین مجازی انتخاب شده</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10015,6 +10834,10 @@
             <numerusform>هشدار: شما درحال ایجاد یک ضبط وضعیت از ماشین درحال اجرا هستید که %n ایمیج تغییرناپذیر به آن ضمیمه شده است. تا زمانیکه شما روی این ضبط وضعیت کار میکنید ایمیج تغییرناپذیر برای جلوگیری از از بین رفتن داده ریست نخواهد شد.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">ضبط وضعیت %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
index ace0c58..2967d74 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fi.ts
@@ -290,7 +290,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Muuta asiakkaan näytön kokoa automaattisesti, kun ikkunan kokoa muutetaan (vaatii asiakaslisäosat)</translation>
+        <translation type="obsolete">Muuta asiakkaan näytön kokoa automaattisesti, kun ikkunan kokoa muutetaan (vaatii asiakaslisäosat)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -378,7 +378,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Lähetä virtanapin painosta kertova ACPI-tapahtuma virtuaalikoneelle</translation>
+        <translation type="obsolete">Lähetä virtanapin painosta kertova ACPI-tapahtuma virtuaalikoneelle</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -401,16 +401,12 @@
         <translation type="obsolete">&USB-laitteet</translation>
     </message>
     <message>
-        <source>Change the settings of network adapters</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>&Shared Folders...</source>
         <translation type="obsolete">&Jaetut kansiot...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Avaa jaettujen kansioiden käsittelyikkuna</translation>
+        <translation type="obsolete">Avaa jaettujen kansioiden käsittelyikkuna</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -472,16 +468,12 @@
         <translation type="unfinished">&Asetukset...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Näytä valitun virtuaalikoneen lokitiedostot</translation>
+        <translation type="obsolete">Näytä valitun virtuaalikoneen lokitiedostot</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -504,10 +496,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Etsi uusia VirtualBoxin versioita</translation>
     </message>
@@ -516,10 +504,6 @@
         <translation type="unfinished">&Tietoja VirtualBoxista...</translation>
     </message>
     <message>
-        <source>Show a window with product information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Take Sn&apshot...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -528,10 +512,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Tiedosto</translation>
@@ -568,11 +548,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Asetukset...</translation>
+        <translation type="obsolete">&Asetukset...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Näyttää yleisasetusten asetusikkuna</translation>
+        <translation type="obsolete">Näyttää yleisasetusten asetusikkuna</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -588,15 +568,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Luo uusi virtuaalikone</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Luo uusi virtuaalikone</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -615,445 +587,558 @@
         <translation type="obsolete">Siirry valitun virtuaalikoneen ikkunaan</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Päivitä tämän virtuaalikoneen saatavuuden tila</translation>
+    </message>
+    <message>
+        <source>&New...</source>
+        <translation type="unfinished">&Uusi...</translation>
+    </message>
+    <message>
+        <source>&Add...</source>
+        <translation type="unfinished">&Lisää...</translation>
+    </message>
+    <message>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Päivitä tämän virtuaalikoneen saatavuuden tila</translation>
+        <source>&Remove...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>Discard</source>
+        <translation type="unfinished">Hylkää</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Hylkää valitun virtuaalikoneen tallennettu tila</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">&Sulje</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">Näytä &loki...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">&VirtualBox-WWW-sivusto...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Et&si päivityksiä...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
-        <translation type="unfinished">&Uusi...</translation>
+        <source>&Add Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">&Lisää...</translation>
+        <source>Gro&up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Hylkää</translation>
+        <source>R&emote Display</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Hylkää valitun virtuaalikoneen tallennettu tila</translation>
+        <source>&Video Capture Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">&Sulje</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">Näytä &loki...</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">&VirtualBox-WWW-sivusto...</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Et&si päivityksiä...</translation>
+        <source>&Menu Bar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Näppäimistö</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>Network</source>
+        <translation type="obsolete">Verkko</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Näytä &loki...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">&Tiedosto</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Asetukset...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Kiintolevyt</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Näppäimistö</translation>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Käytössä</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Verkko</translation>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Tuettuja laitteita ei ole yhdistettynä isäntätietokoneeseen</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Näytä &loki...</translation>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Tiedosto</translation>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Pä&ivitä</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>S&how in File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1062,17 +1147,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Käytössä</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Käytössä</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1089,6 +1169,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1142,15 +1245,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Kiintolevyohjain (IDE)</translation>
+        <translation type="obsolete">Kiintolevyohjain (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Kiintolevyohjain (SATA)</translation>
+        <translation type="obsolete">Kiintolevyohjain (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Kiintolevyohjain (SCSI)</translation>
+        <translation type="obsolete">Kiintolevyohjain (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1207,15 +1310,27 @@
         <translation type="obsolete">MB</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1601,16 +1716,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1691,32 +1803,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -2673,18 +2759,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2716,11 +2794,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2743,27 +2829,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Versio</translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2810,15 +2904,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">&Näytä ilmoitusalueen kuvake</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2857,11 +2951,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3041,15 +3135,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Lisää laitteiston sisäinen verkko</translation>
+        <translation type="obsolete">&Lisää laitteiston sisäinen verkko</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Poista laitteiston sisäinen verkko</translation>
+        <translation type="obsolete">&Poista laitteiston sisäinen verkko</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Muokkaa laitteiston sisäistä verkkoa</translation>
+        <translation type="obsolete">&Muokkaa laitteiston sisäistä verkkoa</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3186,15 +3280,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3309,7 +3439,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Käytä käsin asetettuja asetuksia tälle laitteiston sisäiselle verkkosovittimelle.</translation>
+        <translation type="obsolete">Käytä käsin asetettuja asetuksia tälle laitteiston sisäiselle verkkosovittimelle.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3353,7 +3483,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Määrittää, käynnistetäänkö DHCP-palvelin tietokoneen käynnistyksen yhteydessä.</translation>
+        <translation type="obsolete">Määrittää, käynnistetäänkö DHCP-palvelin tietokoneen käynnistyksen yhteydessä.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3384,8 +3514,16 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Osoiteavaruuden &yläraja:</translation>
     </message>
     <message>
-        <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
-        <translation type="unfinished">Näyttää ylärajan DHCP-palvelimen antamille osoitteille, joita tarjoataan tälle laitteiston sisäiselle verkkosovittimelle.</translation>
+        <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
+        <translation type="unfinished">Näyttää ylärajan DHCP-palvelimen antamille osoitteille, joita tarjoataan tälle laitteiston sisäiselle verkkosovittimelle.</translation>
+    </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3399,10 +3537,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3427,31 +3561,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3485,23 +3623,23 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3521,7 +3659,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Määrittää, kuinka usein uuden version tarkastus tehdään. Huomaa että voit poistaa uusien versioden tarkastuksen käytöstä poistamalla ylläolean asetuksen.</translation>
+        <translation type="obsolete">Määrittää, kuinka usein uuden version tarkastus tehdään. Huomaa että voit poistaa uusien versioden tarkastuksen käytöstä poistamalla ylläolean asetuksen.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3555,6 +3693,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -3963,11 +4105,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation></translation>
@@ -4036,7 +4173,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Ilmaisee, onko näppäimistö kaapattu virtuaalikoneeseen (<img src=:/hostkey_captured_16px.png/>) vai ei (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Ilmaisee, onko näppäimistö kaapattu virtuaalikoneeseen (<img src=:/hostkey_captured_16px.png/>) vai ei (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -4069,6 +4206,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4084,41 +4230,17 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">VirtualBox OSE</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Palautuspiste %1</translation>
-    </message>
-    <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
+        <translation type="obsolete">Palautuspiste %1</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Tuettuja laitteita ei ole yhdistettynä isäntätietokoneeseen</translation>
+        <translation type="obsolete">Tuettuja laitteita ei ole yhdistettynä isäntätietokoneeseen</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4136,7 +4258,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Ohjaa äänikortin ajuria. <b>NULL-ajuri</b> näyttää äänikortin virtuaalikoneelle, mutta sen käsittely isäntäkoneessa jätetään huomioimatta.</translation>
+        <translation type="obsolete">Ohjaa äänikortin ajuria. <b>NULL-ajuri</b> näyttää äänikortin virtuaalikoneelle, mutta sen käsittely isäntäkoneessa jätetään huomioimatta.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4146,6 +4268,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Valitsee virtuaalisen äänikortin tyypin. Riippuen tästä arvosta, VirtualBox tarjoaa erityyppisiä äänilaitteita virtuaalikoneelle.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4155,7 +4281,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation type="unfinished"><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>Video &Memory:</source>
@@ -4206,18 +4332,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Todennus&menetelmä:</translation>
     </message>
     <message>
-        <source>Defines the VRDP authentication method.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Authentication &Timeout:</source>
         <translation type="unfinished">Todentamisen &aikakatkaisu:</translation>
     </message>
     <message>
-        <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4226,10 +4344,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mo&nitor Count:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4238,14 +4352,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Allow Multiple Connections</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4266,46 +4372,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4314,10 +4392,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4369,10 +4443,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><i>About %1MB per 5 minute video</i></source>
         <translation type="unfinished"></translation>
     </message>
@@ -4398,21 +4468,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4424,6 +4490,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4445,7 +4575,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Näytä polku, jonne tämän virtuaalikoneen palautuspisteet tallennetaan. Huomaa, että palautuspisteet voivat viedä paljon levytilaa.</translation>
+        <translation type="obsolete">Näytä polku, jonne tämän virtuaalikoneen palautuspisteet tallennetaan. Huomaa, että palautuspisteet voivat viedä paljon levytilaa.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4664,10 +4794,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4704,6 +4830,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4724,23 +4858,23 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
+        <source>Show at &Top of Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in &Fullscreen/Seamless</source>
+        <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
+        <source>Show in &Full-screen/Seamless</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4836,7 +4970,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Määrittää, kuinka virtuaalinen verkkosovitin liitetään isäntäkoneen verkkoon.</translation>
+        <translation type="obsolete">Määrittää, kuinka virtuaalinen verkkosovitin liitetään isäntäkoneen verkkoon.</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -4872,7 +5006,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation type="unfinished">Kertoo, onko virtuaalinen verkkokaapeli liitetty virtuaalikoneeseen käynnistettäessä.</translation>
+        <translation type="obsolete">Kertoo, onko virtuaalinen verkkokaapeli liitetty virtuaalikoneeseen käynnistettäessä.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -4919,18 +5053,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">&Lisäasetukset</translation>
     </message>
     <message>
-        <source>Shows or hides additional network adapter options.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Cable Connected</source>
         <translation type="unfinished">&Kaapeli liitetty</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4947,10 +5073,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4998,6 +5120,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5152,21 +5294,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Portin numero on valittu kahdesti</translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Portin polkua ei ole annettu</translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Portin polku on valittu kahdesti</translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5189,33 +5316,24 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>UIMachineSettingsParallelPage</name>
     <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Portin numero on valittu kahdesti</translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Portin polkua ei ole annettu</translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Portin polku on valittu kahdesti</translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5235,15 +5353,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Lisää uuden jaettujen kansioiden määrittelyn.</translation>
+        <translation type="obsolete">Lisää uuden jaettujen kansioiden määrittelyn.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Muokkaa valitun jaetun kansion määrityksiä.</translation>
+        <translation type="obsolete">Muokkaa valitun jaetun kansion määrityksiä.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Poistaa valitun jaettujen kansiouden määrityksen.</translation>
+        <translation type="obsolete">Poistaa valitun jaettujen kansiouden määrityksen.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5270,36 +5388,48 @@ p, li { white-space: pre-wrap; }
         <translation>Nimi</translation>
     </message>
     <message>
-        <source>Path</source>
-        <translation>Polku</translation>
+        <source>Path</source>
+        <translation>Polku</translation>
+    </message>
+    <message>
+        <source>Access</source>
+        <translation>Oikeudet</translation>
+    </message>
+    <message>
+        <source>&Folders List</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Auto-mount</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Access</source>
-        <translation>Oikeudet</translation>
+        <source>Yes</source>
+        <translation type="unfinished">Kyllä</translation>
     </message>
     <message>
-        <source>&Add Shared Folder</source>
+        <source>Add Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Shared Folder</source>
+        <source>Edit Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Shared Folder</source>
+        <source>Remove Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Folders List</source>
+        <source>Adds new shared folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Auto-mount</source>
+        <source>Edits selected shared folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation type="unfinished">Kyllä</translation>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5349,7 +5479,7 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5398,7 +5528,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Ohjaa tämän sarjaportin toimintatilaa. Jos valitset <b>Pois käytöstä</b>, virtuaalikone havaitsee sarjaportin mutta ei voi käyttää sitä.</translation>
+        <translation type="obsolete">Ohjaa tämän sarjaportin toimintatilaa. Jos valitset <b>Pois käytöstä</b>, virtuaalikone havaitsee sarjaportin mutta ei voi käyttää sitä.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5425,10 +5555,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5440,20 +5566,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Porttinumero on valittu kahteen kertaan</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Portin polkua ei ole määritelty</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Portin polku on valittu kahdesti</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5477,6 +5596,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Porttinumero on valittu kahteen kertaan</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Portin polkua ei ole määritelty</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Portin polku on valittu kahdesti</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5551,14 +5685,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Add Controller</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5595,22 +5721,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Poista liitos</translation>
     </message>
     <message>
-        <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hard &Disk:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5619,10 +5729,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5639,10 +5745,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">&Nimi:</translation>
     </message>
     <message>
-        <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Type:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5687,10 +5789,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5708,152 +5806,189 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation type="unfinished">Levykuva</translation>
+        <translation type="obsolete">Levykuva</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Levykuva</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5869,12 +6004,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation type="unfinished"><qt>%1&nbsp;MB</qt></translation>
-    </message>
-    <message>
-        <source><qt>%1&nbsp;CPU</qt></source>
-        <comment>%1 is 1 for now</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -5902,7 +6032,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation type="unfinished">Siirrä alas (Ctrl+alas)</translation>
+        <translation type="obsolete">Siirrä alas (Ctrl+alas)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5910,7 +6040,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation type="unfinished">Siirrä ylös (Ctrl+ylös)</translation>
+        <translation type="obsolete">Siirrä ylös (Ctrl+ylös)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5973,11 +6103,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Käytä sisäkkäistä &sivutusta</translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPUs</qt></source>
-        <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5986,10 +6111,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6014,16 +6135,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6075,56 +6186,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Lisää tyhjä suodatin</translation>
+        <translation type="obsolete">&Lisää tyhjä suodatin</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>&Lisää suodatin laitteelta</translation>
+        <translation type="obsolete">&Lisää suodatin laitteelta</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Muokkaa suodinta</translation>
+        <translation type="obsolete">&Muokkaa suodinta</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Poista suodatin</translation>
+        <translation type="obsolete">&Poista suodatin</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Siirrä suodatinta &ylös</translation>
+        <translation type="obsolete">Siirrä suodatinta &ylös</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Siirrä suodatinta &alas</translation>
+        <translation type="obsolete">Siirrä suodatinta &alas</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Lisää uuden USB-suodattimen, jossa kaikki kentät ovat oletuksena tyhjiä. Huomaa, että tällainen suodatin täsmää kaikkiin USB-laitteisiin.</translation>
+        <translation type="obsolete">Lisää uuden USB-suodattimen, jossa kaikki kentät ovat oletuksena tyhjiä. Huomaa, että tällainen suodatin täsmää kaikkiin USB-laitteisiin.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Lisää uuden USB-suodattimen, jossa kentän arvot on asetettu vastaamaan valittua isäntäkoneeseen liitettyä USB-laitetta.</translation>
+        <translation type="obsolete">Lisää uuden USB-suodattimen, jossa kentän arvot on asetettu vastaamaan valittua isäntäkoneeseen liitettyä USB-laitetta.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Muokkaa valittua USB-suodatinta.</translation>
+        <translation type="obsolete">Muokkaa valittua USB-suodatinta.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Poistaa valitun USB-suodattimen.</translation>
+        <translation type="obsolete">Poistaa valitun USB-suodattimen.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Siirrä valittua USB-suodatinta ylös.</translation>
+        <translation type="obsolete">Siirrä valittua USB-suodatinta ylös.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Siirrä valittua USB-suodatinta alas.</translation>
+        <translation type="obsolete">Siirrä valittua USB-suodatinta alas.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6141,7 +6278,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Jos asetettu, ottaa käyttöön virtuaalisen USB EHCI-ohjaimen tässä virtuaalikoneessa. USB EHCI-ohjain tarjoaa USB 2.0-tuen.</translation>
+        <translation type="obsolete">Jos asetettu, ottaa käyttöön virtuaalisen USB EHCI-ohjaimen tässä virtuaalikoneessa. USB EHCI-ohjain tarjoaa USB 2.0-tuen.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6160,67 +6297,119 @@ p, li { white-space: pre-wrap; }
         <translation>[suodatin]</translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Valmistajan tunniste: %1</nobr></translation>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Valmistajan tunniste: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Tuotteen tunniste: %2</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Revisio: %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Tuote: %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Valmistaja: %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Sarjanumero: %1<(/nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Portti: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Tila: %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Tuotteen tunniste: %2</nobr></translation>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Revisio: %3</nobr></translation>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Lisää tyhjä suodatin</translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Tuote: %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Valmistaja: %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Sarjanumero: %1<(/nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Poista suodatin</translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Portti: %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Tila: %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6255,7 +6444,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Määrittää suotimen valmistajan tunnisteelle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>XXXX</tt>, missä X on heksadesimaalinen luku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen valmistajan tunnisteelle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>XXXX</tt>, missä X on heksadesimaalinen luku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6263,7 +6452,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Määrittää suotimen tuotteen tunnisteelle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>XXXX</tt>, missä X on heksadesimaalinen luku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen tuotteen tunnisteelle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>XXXX</tt>, missä X on heksadesimaalinen luku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6271,7 +6460,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Määrittää suotimen revisionumerolle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>IIFF</tt>, missä I on kokonaislukuosan desimaalinumero ja F on pisteen jälkeisen osan desimaaliluku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen revisionumerolle. <i>Tarkan osuman</i> merkkijono on muodossa <tt>IIFF</tt>, missä I on kokonaislukuosan desimaalinumero ja F on pisteen jälkeisen osan desimaaliluku. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6279,7 +6468,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Määrittää suotimen valmistajan nimelle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen valmistajan nimelle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6287,7 +6476,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Määrittää suotimen tuotteen nimelle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen tuotteen nimelle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6295,7 +6484,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Määrittää suotimen sarjanumerolle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen sarjanumerolle <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6303,7 +6492,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Määrittää suotimen USB-portille <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
+        <translation type="obsolete">Määrittää suotimen USB-portille <i>tarkka osuma</i>-merkkijonona. Tyhjä merkkijono täsmää mihin tahansa arvoon.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6311,7 +6500,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Määrittää täsmääkö suodatin isäntäkoneeseen liitettyihin USB-laitteisiin (<i>Ei</i>), VRDP-asiakkaan laitteisiin (<i>Kyllä</i>) vai molempiin (<i>Mikä tahansa</i>).</translation>
+        <translation type="obsolete">Määrittää täsmääkö suodatin isäntäkoneeseen liitettyihin USB-laitteisiin (<i>Ei</i>), VRDP-asiakkaan laitteisiin (<i>Kyllä</i>) vai molempiin (<i>Mikä tahansa</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6325,6 +6514,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>USB-suotimen tiedot</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6343,10 +6564,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6362,6 +6579,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -6943,7 +7164,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Virtuaalikoneen näyttöä ei voitu siirtää kokoruututilaan, koska virtuaalikoneen näyttömuisti ei riitä.</p><p>Muuta virtuaalikoneen asetuksista näyttömuistin määräksi vähintään <b>%1</b>.</p><p>Valitse <p>Älä huomioi</p>, jos haluat joka tapauksessa siirtyä kokoruututilaan ta valitse <b>Peru</b>, jos haluat perua toiminnon.</p></translation>
+        <translation type="obsolete"><p>Virtuaalikoneen näyttöä ei voitu siirtää kokoruututilaan, koska virtuaalikoneen näyttömuisti ei riitä.</p><p>Muuta virtuaalikoneen asetuksista näyttömuistin määräksi vähintään <b>%1</b>.</p><p>Valitse <p>Älä huomioi</p>, jos haluat joka tapauksessa siirtyä kokoruututilaan ta valitse <b>Peru</b>, jos haluat perua toiminnon.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7058,7 +7279,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Haluatko poistaa kiintolevyn <nobr><b>%1</b></nobr> levykuvan?</p><p>Jos valitse <b>Poista</b>, poistetaan kiintolevyyn liittyvä levykuva pysyvästi. Tätä toimenpidettä <b>ei voi perua</b>.</p><p>Jos valitse <b>Säilytä</b>, kiintolevy poistetaan ainoastaan tunnettujen kiintolevyjen luettelosta, mutta siihen liittyvä levykuva säilytetään koskemattomana ja levy voidaan lisätä my [...]
+        <translation type="obsolete"><p>Haluatko poistaa kiintolevyn <nobr><b>%1</b></nobr> levykuvan?</p><p>Jos valitse <b>Poista</b>, poistetaan kiintolevyyn liittyvä levykuva pysyvästi. Tätä toimenpidettä <b>ei voi perua</b>.</p><p>Jos valitse <b>Säilytä</b>, kiintolevy poistetaan ainoastaan tunnettujen kiintolevyjen luettelosta, mutta siihen liittyvä levykuva säilytetään koskemattomana ja levy v [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7222,10 +7443,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation type="unfinished">Poista</translation>
     </message>
@@ -7290,10 +7507,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7366,10 +7579,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7563,10 +7772,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7675,18 +7880,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7726,30 +7919,6 @@ p, li { white-space: pre-wrap; }
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -7868,10 +8037,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7943,6 +8108,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -8682,6 +8887,13 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Nimi</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Nimi</translation>
     </message>
     <message>
@@ -8704,6 +8916,34 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -8922,13 +9162,6 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -8938,6 +9171,10 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9426,96 +9663,96 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9558,10 +9795,6 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9617,6 +9850,10 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -9876,83 +10113,83 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><nobr>%1 (%2 B)</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9983,31 +10220,31 @@ Kaikki VirtualBoxin komponentit käyttävät sitä koneen tunnistukseen.</p&g
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10969,7 +11206,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Avaa ikkunan, josta voi valita toisen kansion.</translation>
+        <translation type="obsolete">Avaa ikkunan, josta voi valita toisen kansion.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -10977,7 +11214,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Avaa ikkunan, josta voi valita eri tiedoston.</translation>
+        <translation type="obsolete">Avaa ikkunan, josta voi valita eri tiedoston.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -10989,16 +11226,32 @@ Version %1</source>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Syötä haluttu kansion polku tähän.</translation>
+        <translation type="obsolete">Syötä haluttu kansion polku tähän.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Syötä haluttu tiedoston polku tähän.</translation>
+        <translation type="obsolete">Syötä haluttu tiedoston polku tähän.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12605,14 +12858,6 @@ Version %1</source>
         <translation type="unfinished">Kuvaus</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12653,10 +12898,6 @@ Version %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Enabled</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation type="obsolete">Käytössä</translation>
@@ -12854,25 +13095,37 @@ Version %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14247,7 +14500,7 @@ to access it from a Linux OS. This feature requires Guest Additions.</qt><
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Näytä valitun palautuspisteen tiedot</translation>
+        <translation type="obsolete">Näytä valitun palautuspisteen tiedot</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -14286,23 +14539,27 @@ to access it from a Linux OS. This feature requires Guest Additions.</qt><
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Restore the selected snapshot of the virtual machine</source>
+        <source> (%1 ago)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Clone...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete the selected snapshot of the virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> (%1 ago)</source>
+        <source>Delete selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Clone...</source>
+        <source>Display a window with selected snapshot details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -14362,6 +14619,10 @@ to access it from a Linux OS. This feature requires Guest Additions.</qt><
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Palautuspiste %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
index de29aad..21aa2e1 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_fr.ts
@@ -217,7 +217,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensionner automatiquement l'écran virtuel comme la fenêtre (nécessite les Additions invité)</translation>
+        <translation type="obsolete">Redimensionner automatiquement l'écran virtuel comme la fenêtre (nécessite les Additions invité)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -309,7 +309,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envoie le signal ACPI marche/arrêt à la machine virtuelle</translation>
+        <translation type="obsolete">Envoie le signal ACPI marche/arrêt à la machine virtuelle</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -345,7 +345,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Changer les paramètres des cartes réseaux</translation>
+        <translation type="obsolete">Changer les paramètres des cartes réseaux</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -353,7 +353,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Créer ou modifier des dossiers partagés</translation>
+        <translation type="obsolete">Créer ou modifier des dossiers partagés</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -493,7 +493,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Gérer la configuration de la machine virtuelle</translation>
+        <translation type="obsolete">Gérer la configuration de la machine virtuelle</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -537,11 +537,11 @@
         <source>&Preferences...</source>
         <comment>global settings</comment>
         <translatorcomment>In French "(Global) Settings" is "Préférences", "(Machine) Settings" is "Configuration"</translatorcomment>
-        <translation>&Paramètres...</translation>
+        <translation type="obsolete">&Paramètres...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Afficher la fenêtre des préférences de VirtualBox</translation>
+        <translation type="obsolete">Afficher la fenêtre des préférences de VirtualBox</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -557,7 +557,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Créer une nouvelle machine virtuelle</translation>
+        <translation type="obsolete">Créer une nouvelle machine virtuelle</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -565,7 +565,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Ajouter une machine virtuelle existante</translation>
+        <translation type="obsolete">Ajouter une machine virtuelle existante</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -573,7 +573,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Cloner la machine virtuelle sélectionnée</translation>
+        <translation type="obsolete">Cloner la machine virtuelle sélectionnée</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -613,11 +613,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">&Actualiser</translation>
+        <translation type="unfinished">&Actualiser</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Actualiser l'état d'accésibilité de la machine virtuelle sélectionnée</translation>
+        <translation type="obsolete">Actualiser l'état d'accésibilité de la machine virtuelle sélectionnée</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -625,11 +625,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Afficher le journal de la machine virtuelle sélectionnée</translation>
+        <translation type="obsolete">Afficher le journal de la machine virtuelle sélectionnée</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Afficher dans le Finder</translation>
+        <translation type="obsolete">Afficher dans le Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -637,7 +637,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Afficher dans l'explorateur</translation>
+        <translation type="obsolete">Afficher dans l'explorateur</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -645,15 +645,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Afficher dans le gestionnaire de fichier</translation>
+        <translation type="obsolete">Afficher dans le gestionnaire de fichier</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Afficher le fichier de définition de la machine virtuelle dans le gestionnaire de fichier</translation>
+        <translation type="obsolete">Afficher le fichier de définition de la machine virtuelle dans le gestionnaire de fichier</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Créer un alias sur le bureau</translation>
+        <translation type="obsolete">Créer un alias sur le bureau</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -661,7 +661,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Créer un raccourci sur le bureau</translation>
+        <translation type="obsolete">Créer un raccourci sur le bureau</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -689,7 +689,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Affiche le gestionnaire d'opérations réseau</translation>
+        <translation type="obsolete">Affiche le gestionnaire d'opérations réseau</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -701,7 +701,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Affiche dans une fenêtre des informations sur ce produit</translation>
+        <translation type="obsolete">Affiche dans une fenêtre des informations sur ce produit</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -713,7 +713,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Prend une capture de l'écran de la machine virtuelle</translation>
+        <translation type="obsolete">Prend une capture de l'écran de la machine virtuelle</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -725,15 +725,15 @@
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Renome le groupe de machines virtuelles</translation>
+        <translation type="obsolete">Renome le groupe de machines virtuelles</translation>
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Actualiser...</translation>
+        <translation type="obsolete">&Actualiser...</translation>
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Ajoute un nouveau groupe basé sur les éléments sélectionnés</translation>
+        <translation type="obsolete">Ajoute un nouveau groupe basé sur les éléments sélectionnés</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -741,7 +741,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Oubl&ier l'état sauvegardé...</translation>
+        <translation type="obsolete">Oubl&ier l'état sauvegardé...</translation>
     </message>
     <message>
         <source>&Close</source>
@@ -765,59 +765,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Trie alphabétiquement les éléments du groupe de machines virtuelles sélectionné</translation>
+        <translation type="obsolete">Trie alphabétiquement les éléments du groupe de machines virtuelles sélectionné</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Supprime les machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Supprime les machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Démarre les machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Démarre les machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Bascule vers les fenêtres des machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Bascule vers les fenêtres des machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspend l'éxécution des machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Suspend l'éxécution des machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Réinitialise les machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Réinitialise les machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Oublie l'état sauvegardé des machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Oublie l'état sauvegardé des machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Affiche le fichier de définition de la Machine VirtualBox dans le Finder</translation>
+        <translation type="obsolete">Affiche le fichier de définition de la Machine VirtualBox dans le Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Affiche le fichier de définition de la Machine VirtualBox dans l'explorateur</translation>
+        <translation type="obsolete">Affiche le fichier de définition de la Machine VirtualBox dans l'explorateur</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crée un alias du fichier de définition de la Machine VirtualBox sur votre bureau</translation>
+        <translation type="obsolete">Crée un alias du fichier de définition de la Machine VirtualBox sur votre bureau</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crée un raccourci vers le fichier de définition de la Machine VirtualBox sur votre bureau</translation>
+        <translation type="obsolete">Crée un raccourci vers le fichier de définition de la Machine VirtualBox sur votre bureau</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Sauvergarde l'état</translation>
+        <translation type="obsolete">Sauvergarde l'état</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Sauvergarde l'état des machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Sauvergarde l'état des machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Envoye l'évenement Bouton d'alimention ACPI pressé aux machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Envoye l'évenement Bouton d'alimention ACPI pressé aux machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -825,7 +825,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Eteind les machines virtuelles sélectionnées</translation>
+        <translation type="obsolete">Eteind les machines virtuelles sélectionnées</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -837,15 +837,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Dégro&uper...</translation>
+        <translation type="obsolete">Dégro&uper...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Dégroupe les éléments du groupe de machines virtuelles sélectionné</translation>
+        <translation type="obsolete">Dégroupe les éléments du groupe de machines virtuelles sélectionné</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Trier</translation>
+        <translation type="obsolete">Trier</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -853,7 +853,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Trie alphabétiquement le groupe de la première machine sélectionnée</translation>
+        <translation type="obsolete">Trie alphabétiquement le groupe de la première machine sélectionnée</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -864,10 +864,6 @@
         <translation type="obsolete">Glisser-Déposer</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -884,246 +880,298 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Network</source>
+        <translation type="obsolete">Réseau</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Afficher le &journal...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fichier</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Seam&less Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Réseau</translation>
+        <source>Enable host mouse pointer integration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">Afficher le &journal...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fichier</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Paramètres...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Seam&less Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1135,9 +1183,181 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Aperçu de l'écran %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Aucun périphérique USB n'est branché</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Aucun périphérique supporté n'est connecté à l'ordinateur</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Activer</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1154,6 +1374,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1207,15 +1450,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Contrôleur disque dur IDE</translation>
+        <translation type="obsolete">Contrôleur disque dur IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Contrôleur disque dur SATA</translation>
+        <translation type="obsolete">Contrôleur disque dur SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Contrôleur disque dur SCSI</translation>
+        <translation type="obsolete">Contrôleur disque dur SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1265,7 +1508,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Contrôleur disque dur SAS</translation>
+        <translation type="obsolete">Contrôleur disque dur SAS</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1275,6 +1518,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Réinitialiser l'adresse MAC de tous les cartes réseau</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1963,18 +2222,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Abandon des données...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2036,32 +2292,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Appliance Export Wizard</source>
@@ -2977,7 +3207,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Définit la largeur maximale autorisée sur l'invité.</translation>
+        <translation type="obsolete">Définit la largeur maximale autorisée sur l'invité.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -2985,7 +3215,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Définit la hauteur maximale autorisée sur l'invité.</translation>
+        <translation type="obsolete">Définit la hauteur maximale autorisée sur l'invité.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3019,11 +3249,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3051,11 +3289,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Ajouter extension</translation>
+        <translation type="obsolete">Ajouter extension</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Supprimer extension</translation>
+        <translation type="obsolete">Supprimer extension</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3073,6 +3311,22 @@
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3121,15 +3375,15 @@
         <translation type="obsolete">Désactiver l'é&conomiseur d'écran hôte</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3184,11 +3438,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3255,15 +3509,15 @@
     <name>UIGlobalSettingsNetwork</name>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Ajouter réseau privé hôte</translation>
+        <translation type="obsolete">&Ajouter réseau privé hôte</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Supprimer réseau privé hôte</translation>
+        <translation type="obsolete">&Supprimer réseau privé hôte</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Modifier réseau privé hôte</translation>
+        <translation type="obsolete">&Modifier réseau privé hôte</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3517,15 +3771,51 @@
         <translation type="unfinished">Active</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3640,7 +3930,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Utiliser la configuration manuelle pour cette interface de réseau privé hôte.</translation>
+        <translation type="obsolete">Utiliser la configuration manuelle pour cette interface de réseau privé hôte.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3684,7 +3974,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indique si le serveur DHCP est activé au démarrage de la machine.</translation>
+        <translation type="obsolete">Indique si le serveur DHCP est activé au démarrage de la machine.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3718,6 +4008,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Affiche la limite supérieure de la plage d'adresses du serveur DHCP du réseau associé à cette interface de réseau privé hôte.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3730,10 +4028,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3758,32 +4052,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Ouvre une fenêtre pour gérer les règles de redirection de ports.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Redirection de &ports</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Ouvre une fenêtre pour gérer les règles de redirection de ports.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Redirection de &ports</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3817,7 +4119,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Change l'adresse du serveur du proxy.</translation>
+        <translation type="obsolete">Change l'adresse du serveur du proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3825,7 +4127,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Change le port du proxy.</translation>
+        <translation type="obsolete">Change le port du proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3859,6 +4161,14 @@
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3876,7 +4186,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Configure la fréquence des recherches de mises à jour. Décochez la case ci-dessus pour désactiver ces recherches.</translation>
+        <translation type="obsolete">Configure la fréquence des recherches de mises à jour. Décochez la case ci-dessus pour désactiver ces recherches.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3910,6 +4220,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Toutes, même les e&xpérimentales</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4277,7 +4591,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indique l'activité des disques durs virtuels :</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indique l'activité des disques durs virtuels :</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4363,7 +4677,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indique si le clavier est capturé par le système d'exploitation invité (<img src=:/hostkey_captured_16px.png/>) ou ne l'est pas (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indique si le clavier est capturé par le système d'exploitation invité (<img src=:/hostkey_captured_16px.png/>) ou ne l'est pas (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4409,6 +4723,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4429,11 +4752,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Aperçu de l'écran %1</translation>
+        <translation type="obsolete">Aperçu de l'écran %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Instantané %1</translation>
+        <translation type="obsolete">Instantané %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4469,32 +4792,12 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Aucun périphérique USB n'est branché</translation>
-    </message>
-    <message>
-        <source>No supported devices connected to the host PC</source>
-        <translation></translation>
+        <translation type="obsolete">Aucun périphérique USB n'est branché</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Choisissez un nom de fichier pour la capture d'écran ...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4512,7 +4815,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Détermine le pilote de sortie audio. Le <b>Pilote audio factice</b> simule une carte son à laquelle tous les accès sont ignorés.</translation>
+        <translation type="obsolete">Détermine le pilote de sortie audio. Le <b>Pilote audio factice</b> simule une carte son à laquelle tous les accès sont ignorés.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4522,6 +4825,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Choisit le type de la carte son virtuelle. Cette valeur déterminera le matériel que VirtualBox affectera à la machine virtuelle.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4531,7 +4838,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;Mo</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;Mo</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4584,7 +4891,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Définit la méthode d'authentification VRDP.</translation>
+        <translation type="obsolete">Définit la méthode d'authentification VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4592,7 +4899,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Définit le délai d'attente (en millisecondes) pour l'authentification de l'invité.</translation>
+        <translation type="obsolete">Définit le délai d'attente (en millisecondes) pour l'authentification de l'invité.</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -4608,7 +4915,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Numéro de port du serveur VRDP. Vous pouvez mettre <tt>0</tt> pour choisir le port RDP standard (3389).</translation>
+        <translation type="obsolete">Numéro de port du serveur VRDP. Vous pouvez mettre <tt>0</tt> pour choisir le port RDP standard (3389).</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4620,11 +4927,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Authorise ou non de multiples connexions simultanées vers la machine virtuelle.</translation>
+        <translation type="obsolete">Authorise ou non de multiples connexions simultanées vers la machine virtuelle.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4663,46 +4970,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4711,10 +4990,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4766,10 +5041,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Barre d'outils compacte :</translation>
     </message>
@@ -4815,21 +5086,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D  {100%?}</translation>
+        <translation type="obsolete">3D  {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D  {200%?}</translation>
+        <translation type="obsolete">3D  {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4841,12 +5108,76 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 Mo</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Affiche le dossier dans lequel les instantanés de cette machine virtuelle seront sauvegardés. Sachez que les instantanés peuvent prendre beaucoup de place.</translation>
+        <translation type="obsolete">Affiche le dossier dans lequel les instantanés de cette machine virtuelle seront sauvegardés. Sachez que les instantanés peuvent prendre beaucoup de place.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4953,10 +5284,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4993,6 +5320,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5014,15 +5349,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Si cette case est cochée la barre d'outils compacte sera affichée en modes plein écran et intégré.</translation>
+        <translation type="obsolete">Si cette case est cochée la barre d'outils compacte sera affichée en modes plein écran et intégré.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">A&fficher en plein écran/mode intégré</translation>
+        <translation type="obsolete">A&fficher en plein écran/mode intégré</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Si cette case est cochée la barre d'outils compacte sera affichée en haut de l'écran, plutôt qu'en bas comme par défaut.</translation>
+        <translation type="obsolete">Si cette case est cochée la barre d'outils compacte sera affichée en haut de l'écran, plutôt qu'en bas comme par défaut.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5032,6 +5367,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5053,7 +5400,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Détermine la façon dont la carte virtuelle accède au réseau réel de l'ordinateur hôte.</translation>
+        <translation type="obsolete">Détermine la façon dont la carte virtuelle accède au réseau réel de l'ordinateur hôte.</translation>
     </message>
     <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
@@ -5065,7 +5412,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indique si le câble du réseau virtuel est branché au démarrage de la machine virtuelle.</translation>
+        <translation type="obsolete">Indique si le câble du réseau virtuel est branché au démarrage de la machine virtuelle.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -5102,7 +5449,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Affiche ou cache les options avancées de la carte réseau.</translation>
+        <translation type="obsolete">Affiche ou cache les options avancées de la carte réseau.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5114,7 +5461,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Ouvre une fenêtre pour gérer les règles de redirection de ports.</translation>
+        <translation type="obsolete">Ouvre une fenêtre pour gérer les règles de redirection de ports.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5134,7 +5481,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Vous pouvez spécifier des paramètres ici pour le pilote de mode d'accès réseau que vous sélectionnez. Les paramètres doivent avoir le format <b>nom=valeur</b> et sont spécifiques au pilote. Vous pouvez ajouter un paramètre avec <b>maj+entrée</b>.</translation>
+        <translation type="obsolete">Vous pouvez spécifier des paramètres ici pour le pilote de mode d'accès réseau que vous sélectionnez. Les paramètres doivent avoir le format <b>nom=valeur</b> et sont spécifiques au pilote. Vous pouvez ajouter un paramètre avec <b>maj+entrée</b>.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5197,7 +5544,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5248,21 +5615,6 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Affiche l'adresse E/S de ce port parallèle. Celle-ci doit être un nombre entier compris entre <tt>0</tt> et <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Le numéro de port choisi fait doublon </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Le chemin du port est vide </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Le chemin du port choisi fait doublon </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5285,6 +5637,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Le numéro de port choisi fait doublon </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Le chemin du port est vide </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Le chemin du port choisi fait doublon </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5292,42 +5659,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Cette table contient une liste de règles de redirection de ports.</translation>
+        <translation type="obsolete">Cette table contient une liste de règles de redirection de ports.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Ajouter une règle</translation>
+        <translation type="obsolete">Ajouter une règle</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copier la règle sélectionnée</translation>
+        <translation type="obsolete">Copier la règle sélectionnée</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Supprimer la règle sélectionnée</translation>
+        <translation type="obsolete">Supprimer la règle sélectionnée</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Ce bouton ajoute une nouvelle règle de redirection de ports.</translation>
+        <translation type="obsolete">Ce bouton ajoute une nouvelle règle de redirection de ports.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Ce bouton supprime la règle de redirection de ports sélectionnée.</translation>
+        <translation type="obsolete">Ce bouton supprime la règle de redirection de ports sélectionnée.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Ajoute un nouveau dossier partagé.</translation>
+        <translation type="obsolete">Ajoute un nouveau dossier partagé.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Modifie le dossier partagé sélectionné.</translation>
+        <translation type="obsolete">Modifie le dossier partagé sélectionné.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Enlève le dossier partagé sélectionné.</translation>
+        <translation type="obsolete">Enlève le dossier partagé sélectionné.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5367,15 +5734,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Ajouter un dossier partagé</translation>
+        <translation type="obsolete">&Ajouter un dossier partagé</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Modifier un dossier partagé</translation>
+        <translation type="obsolete">&Modifier un dossier partagé</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Supprimer un dossier partagé</translation>
+        <translation type="obsolete">&Supprimer un dossier partagé</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5389,6 +5756,30 @@
         <source>Yes</source>
         <translation>Oui</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5439,7 +5830,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Si cette case est cochée le dossier partagé sera créé de façon permanente.</translation>
+        <translation type="obsolete">Si cette case est cochée le dossier partagé sera créé de façon permanente.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5475,7 +5870,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Détermine le mode de fonctionnement de ce port série. Si vous choisissez <b>Déconnecté</b> le système d´exploitation invité le détectera mais ne pourra pas l'utiliser.</translation>
+        <translation type="obsolete">Détermine le mode de fonctionnement de ce port série. Si vous choisissez <b>Déconnecté</b> le système d´exploitation invité le détectera mais ne pourra pas l'utiliser.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5506,10 +5901,6 @@
         <translation>Affiche l'adresse E/S de ce port série. Celle-ci doit être un nombre entier compris entre <tt>0</tt> et <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5521,20 +5912,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Le numéro de port choisi fait doublon </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Le chemin du port est vide </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Le chemin du port choisi fait doublon </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5558,6 +5942,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Le numéro de port choisi fait doublon </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Le chemin du port est vide </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Le chemin du port choisi fait doublon </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>If checked, shows the differencing hard disks that are attached to slots rather than their base hard disks (shown for indirect attachments) and allows explicit attaching of differencing hard disks. Check this only if you need a complex hard disk setup.</source>
@@ -5569,11 +5968,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Développer/Réduire</nobr></translation>
+        <translation type="obsolete"><nobr>Développer/Réduire</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Ajouter&nbsp;disque&nbsp;dur</nobr></translation>
+        <translation type="obsolete"><nobr>Ajouter&nbsp;disque&nbsp;dur</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5637,19 +6036,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Ajoute un nouveau contrôleur en bas de l'arborescence.</translation>
+        <translation type="obsolete">Ajoute un nouveau contrôleur en bas de l'arborescence.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Supprime le contrôleur sélectionné dans l'arborescence.</translation>
+        <translation type="obsolete">Supprime le contrôleur sélectionné dans l'arborescence.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Ajoute un nouveau périphérique au contrôleur sélectionné dans l'arborescence.</translation>
+        <translation type="obsolete">Ajoute un nouveau périphérique au contrôleur sélectionné dans l'arborescence.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Supprime le périphérique sélectionné dans l'arborescence.</translation>
+        <translation type="obsolete">Supprime le périphérique sélectionné dans l'arborescence.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5685,7 +6084,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Contient tous les contrôleurs de stockage pour cette machine virtuelle, avec les disques virtuels et lecteurs physiques qui leurs sont associés.</translation>
+        <translation type="obsolete">Contient tous les contrôleurs de stockage pour cette machine virtuelle, avec les disques virtuels et lecteurs physiques qui leurs sont associés.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5705,7 +6104,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Modifie le nom du contrôleur de stockage sélectionné dans l'arborescence.</translation>
+        <translation type="obsolete">Modifie le nom du contrôleur de stockage sélectionné dans l'arborescence.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5773,7 +6172,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Autorise l'utilisation du cache E/S de la machine hôte.</translation>
+        <translation type="obsolete">Autorise l'utilisation du cache E/S de la machine hôte.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5805,7 +6204,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Disque virtuel</translation>
+        <translation type="obsolete">Disque virtuel</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5813,7 +6212,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Configuration du disque dur virtuel</translation>
+        <translation type="obsolete">Configuration du disque dur virtuel</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5837,15 +6236,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configuration du lecteur de disquettes virtuel</translation>
+        <translation type="obsolete">Configuration du lecteur de disquettes virtuel</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Créer un nouveau disque dur...</translation>
+        <translation type="obsolete">Créer un nouveau disque dur...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Choisissez un fichier de disque dur virtuel...</translation>
+        <translation type="obsolete">Choisissez un fichier de disque dur virtuel...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5857,11 +6256,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Choisissez un fichier de disquette virtuel...</translation>
+        <translation type="obsolete">Choisissez un fichier de disquette virtuel...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Si cette case est cochée le média ne sera pas déselectionné quand le système d'exploitation invité l'éjecte.</translation>
+        <translation type="obsolete">Si cette case est cochée le média ne sera pas déselectionné quand le système d'exploitation invité l'éjecte.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5870,7 +6269,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Si cette case est cochée l'invité verra le média comme un stockage solid-state.</translation>
+        <translation type="obsolete">Si cette case est cochée l'invité verra le média comme un stockage solid-state.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -5939,47 +6338,116 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Choisissez un fichier de disque optique virtuel...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Choisissez un fichier de disque optique virtuel...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Optical &Drive:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Disque virtuel</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6011,12 +6479,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;Mo</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;Mo</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;processeur</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processeur</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -6044,7 +6512,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Déplacer vers le bas (Ctrl-Bas)</translation>
+        <translation type="obsolete">Déplacer vers le bas (Ctrl-Bas)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6052,7 +6520,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Déplacer vers le haut (Ctrl-Haut)</translation>
+        <translation type="obsolete">Déplacer vers le haut (Ctrl-Haut)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6113,7 +6581,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;processeurs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processeurs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6125,7 +6593,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Si cette case est cochée l'horloge HTR de la machine virtuelle retournera le temps universel coordonné (UTC) et sinon le temps local de l'hôte. Les systèmes Unix s'attendent en général à de l'UTC.</translation>
+        <translation type="obsolete">Si cette case est cochée l'horloge HTR de la machine virtuelle retournera le temps universel coordonné (UTC) et sinon le temps local de l'hôte. Les systèmes Unix s'attendent en général à de l'UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6174,12 +6642,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6237,57 +6705,83 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 Mo</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Ajouter un filtre vide</translation>
+        <translation type="obsolete">&Ajouter un filtre vide</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Ajouter un filtre &depuis un périphérique</translation>
+        <translation type="obsolete">Ajouter un filtre &depuis un périphérique</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>Modifi&er le filtre</translation>
+        <translation type="obsolete">Modifi&er le filtre</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Supp&rimer le filtre</translation>
+        <translation type="obsolete">Supp&rimer le filtre</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Déplacer le filtre vers le &haut</translation>
+        <translation type="obsolete">Déplacer le filtre vers le &haut</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Déplacer le filtre vers le &bas</translation>
+        <translation type="obsolete">Déplacer le filtre vers le &bas</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Ajoute un filtre USB dont tous les champs sont vides. Un tel filtre acceptera tous les périphériques USB connectés.</translation>
+        <translation type="obsolete">Ajoute un filtre USB dont tous les champs sont vides. Un tel filtre acceptera tous les périphériques USB connectés.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translatorcomment>At the time you read that you haven't "selected" the device yet.</translatorcomment>
-        <translation>Ajoute un filtre USB dont tous les champs correspondent aux valeurs du périphérique voulu de l'hôte.</translation>
+        <translation type="obsolete">Ajoute un filtre USB dont tous les champs correspondent aux valeurs du périphérique voulu de l'hôte.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Modifie le filtre USB sélectionné.</translation>
+        <translation type="obsolete">Modifie le filtre USB sélectionné.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Supprime le filtre USB sélectionné.</translation>
+        <translation type="obsolete">Supprime le filtre USB sélectionné.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Déplace le filtre USB sélectionné vers le haut.</translation>
+        <translation type="obsolete">Déplace le filtre USB sélectionné vers le haut.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Déplace le filtre USB sélectionné vers le bas.</translation>
+        <translation type="obsolete">Déplace le filtre USB sélectionné vers le bas.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6304,7 +6798,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Si cette case est cochée le contrôleur USB EHCI virtuel de cette machine sera activé. Il permet d'utiliser la norme USB 2.0.</translation>
+        <translation type="obsolete">Si cette case est cochée le contrôleur USB EHCI virtuel de cette machine sera activé. Il permet d'utiliser la norme USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6371,27 +6865,79 @@
         <translation type="obsolete">USB 2.0 est activée pour cette machine virtuelle, mais ceci nécessite que l'extension <b>%1</b> soit installée. Veuillez installer l'extension à partir du site de téléchargement VirtualBox. Vous pourrez alors réactiver USB 2.0. En attendant, la fonctionnalité sera désactivée si vous n'annulez pas les changements actuels.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6426,7 +6972,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Filtre sur l'ID du vendeur. Le format pour une <i>concordance exacte</i> est <tt>XXXX</tt> (hexadécimal). Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre sur l'ID du vendeur. Le format pour une <i>concordance exacte</i> est <tt>XXXX</tt> (hexadécimal). Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6434,7 +6980,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Filtre sur l'ID du produit. Le format pour une <i>concordance exacte</i> est <tt>XXXX</tt> (hexadécimal). Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre sur l'ID du produit. Le format pour une <i>concordance exacte</i> est <tt>XXXX</tt> (hexadécimal). Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6442,7 +6988,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Filtre sur le numéro de révision. Le format pour une <i>concordance exacte</i> est <tt>IIFF</tt> (décimal) où II représente la partie entière et FF la partie fractionnaire. Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre sur le numéro de révision. Le format pour une <i>concordance exacte</i> est <tt>IIFF</tt> (décimal) où II représente la partie entière et FF la partie fractionnaire. Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6450,7 +6996,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Filtre de <i>concordance exacte</i> sur le fabricant. Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre de <i>concordance exacte</i> sur le fabricant. Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6458,7 +7004,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Filtre de <i>concordance exacte</i> sur le nom du produit. Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre de <i>concordance exacte</i> sur le nom du produit. Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6466,7 +7012,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Filtre de <i>concordance exacte</i> sur le numéro de série. Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre de <i>concordance exacte</i> sur le numéro de série. Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6474,7 +7020,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Filtre de <i>concordance exacte</i> sur le numéro de port USB de l'hôte. Une chaîne vide acceptera toutes les valeurs.</translation>
+        <translation type="obsolete">Filtre de <i>concordance exacte</i> sur le numéro de port USB de l'hôte. Une chaîne vide acceptera toutes les valeurs.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6482,7 +7028,7 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Détermine si le filtre sera appliqué aux périphériques connectés à l'hôte (<i>Non</i>), à un client VRDP (<i>Oui</i>), ou aux deux (<i>Tous</i>).</translation>
+        <translation type="obsolete">Détermine si le filtre sera appliqué aux périphériques connectés à l'hôte (<i>Non</i>), à un client VRDP (<i>Oui</i>), ou aux deux (<i>Tous</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6496,6 +7042,38 @@
         <source>USB Filter Details</source>
         <translation>Détails filtre USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6515,7 +7093,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Disques durs</translation>
+        <translation type="obsolete">&Disques durs</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -6537,6 +7115,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -6977,7 +7559,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>L'affichage de l'invité n'a pas pu passer en mode plein écran car il n'a pas assez de mémoire vidéo.</p><p>Allouez au moins <b>%1</b> de mémoire vidéo à la machine virtuelle.</p><p>Cliquez sur <b>Ignorer</b> pour quand même passer en mode plein écran ou bien sur <b>Annuler</b> pour annuler l'opération.</p></translation>
+        <translation type="obsolete"><p>L'affichage de l'invité n'a pas pu passer en mode plein écran car il n'a pas assez de mémoire vidéo.</p><p>Allouez au moins <b>%1</b> de mémoire vidéo à la machine virtuelle.</p><p>Cliquez sur <b>Ignorer</b> pour quand même passer en mode plein écran ou bien sur <b>Annuler</b> pour annuler l'opération.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7079,7 +7661,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Voulez-vous supprimer le conteneur du disque dur <nobr><b>%1</b></nobr> ?</p><p>Si vous choisissez <b>Supprimer</b> le conteneur sera supprimé. Cette opération est <b>irréversible</b>.</p><p>Si vous choisissez <b>Conserver</b> il sera seulement enlevé de la liste des disques connus, et le conteneur sera laissé tel quel. Il sera donc possible de rajouter le disque dur à la lis [...]
+        <translation type="obsolete"><p>Voulez-vous supprimer le conteneur du disque dur <nobr><b>%1</b></nobr> ?</p><p>Si vous choisissez <b>Supprimer</b> le conteneur sera supprimé. Cette opération est <b>irréversible</b>.</p><p>Si vous choisissez <b>Conserver</b> il sera seulement enlevé de la liste des disques connus, et le conteneur sera laissé tel quel. Il sera donc possible de rajouter le dis [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7345,7 +7927,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Supprimer cet instantané entrainera la perte de toutes les informations d'état qui y sont sauvegardées, et la fusion des données de disques virtuels répartis sur plusieurs fichiers en un seul. Ce processus peut durer longtemps et est irréversible.</p></p>Voulez-vous vraiment supprimer l'instantané <b>%1</b> ?</p></translation>
+        <translation type="obsolete"><p>Supprimer cet instantané entrainera la perte de toutes les informations d'état qui y sont sauvegardées, et la fusion des données de disques virtuels répartis sur plusieurs fichiers en un seul. Ce processus peut durer longtemps et est irréversible.</p></p>Voulez-vous vraiment supprimer l'instantané <b>%1</b> ?</p></translation>
     </message>
     <message>
         <source>Failed to detach the %1 from slot <i>%2</i> of the machine <b>%3</b>.</source>
@@ -7394,7 +7976,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>La suppression de l'instantané %1 nécessitera temporairement de l'espace disque supplémentaire. La taille du fichier %2 pourra augmenter de %3, mais il n'y a que %4 d'espace disponible.</p><p>Un manque d'espace disque pendant l'opération de fusion peut corrompre le fichier et la configuration de la machine virtuelle, donc une perte de ces données.</p><p>Soyez conscient des risques encourus.</p></tra [...]
+        <translation type="obsolete"><p>La suppression de l'instantané %1 nécessitera temporairement de l'espace disque supplémentaire. La taille du fichier %2 pourra augmenter de %3, mais il n'y a que %4 d'espace disponible.</p><p>Un manque d'espace disque pendant l'opération de fusion peut corrompre le fichier et la configuration de la machine virtuelle, donc une perte de ces données.</p><p>Soyez conscient des risques encourus [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7565,7 +8147,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>La fenêtre de la machine virtuelle va passer en mode <b>plein écran</b>. Vous pouvez toujours revenir au mode fenêtré avec <b>%1</b>. La <i>touche hôte</i> est actuellement <b>%2</b>.</p><p>Attention, la barre de menu n'est pas affichée en mode plein écran. Vous pouvez toutefois y accéder avec la combinaison <b>Hôte+Début</b>.</p></translation>
+        <translation type="obsolete"><p>La fenêtre de la machine virtuelle va passer en mode <b>plein écran</b>. Vous pouvez toujours revenir au mode fenêtré avec <b>%1</b>. La <i>touche hôte</i> est actuellement <b>%2</b>.</p><p>Attention, la barre de menu n'est pas affichée en mode plein écran. Vous pouvez toutefois y accéder avec la combinaison <b>Hôte+Début</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -7804,7 +8386,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Vous êtes sur le point de créer une machine virtuelle sans disque dur. Vous ne pourrez pas installer de système d'exploitation sur cette machine tant que vous n'en aurez pas ajouté un. Vous ne pourrez démarrer la machine dans cette configuration qu'au moyen d'un disque optique virtuel ou depuis le réseau.</translation>
+        <translation type="obsolete">Vous êtes sur le point de créer une machine virtuelle sans disque dur. Vous ne pourrez pas installer de système d'exploitation sur cette machine tant que vous n'en aurez pas ajouté un. Vous ne pourrez démarrer la machine dans cette configuration qu'au moyen d'un disque optique virtuel ou depuis le réseau.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -7923,18 +8505,6 @@
         <translation type="unfinished">&Choisir un disque</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7974,30 +8544,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8116,10 +8662,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8191,6 +8733,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -8854,27 +9436,82 @@ And the size is not necessarily "in megabytes", the slider chooses the
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nom</translation>
+        <translation type="obsolete">Nom</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocole</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP hôte</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Port hôte</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP invité</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Port invité</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocole</translation>
+        <translation type="unfinished">Protocole</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP hôte</translation>
+        <translation type="unfinished">IP hôte</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Port hôte</translation>
+        <translation type="unfinished">Port hôte</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP invité</translation>
+        <translation type="unfinished">IP invité</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Port invité</translation>
+        <translation type="unfinished">Port invité</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9122,13 +9759,6 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9138,6 +9768,10 @@ And the size is not necessarily "in megabytes", the slider chooses the
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9625,7 +10259,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copier le média virtuel</translation>
+        <translation type="obsolete">Copier le média virtuel</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -9633,43 +10267,43 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Disque dur à copier</translation>
+        <translation type="obsolete">Disque dur à copier</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Veuillez choisir le fichier de disque dur virtuel que vous souhaitez copier s'il n'est pas déjà sélectionné. Vous pouvez soit en choisir un de la liste ou utiliser l'icône dossier en dessous de la liste pour en choisir un.</p></translation>
+        <translation type="obsolete"><p>Veuillez choisir le fichier de disque dur virtuel que vous souhaitez copier s'il n'est pas déjà sélectionné. Vous pouvez soit en choisir un de la liste ou utiliser l'icône dossier en dessous de la liste pour en choisir un.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Choisissez un fichier de disque dur virtuel à copier...</translation>
+        <translation type="obsolete">Choisissez un fichier de disque dur virtuel à copier...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Type de fichier de disque dur</translation>
+        <translation type="obsolete">Type de fichier de disque dur</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Choisissez le type de fichier que vous désirez utiliser pour le nouveau disque virtuel. Si vous n'avez pas besoin de l'utiliser avec d'autres logiciels de virtualisation vous pouvez laisser ce paramètre inchangé.</translation>
+        <translation type="obsolete">Choisissez le type de fichier que vous désirez utiliser pour le nouveau disque virtuel. Si vous n'avez pas besoin de l'utiliser avec d'autres logiciels de virtualisation vous pouvez laisser ce paramètre inchangé.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Stockage sur disque dur physique</translation>
+        <translation type="obsolete">Stockage sur disque dur physique</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Veuilez choisir si le nouveau fichier de disque dur virtuel doit croître au fur et à mesure (allocation dynamique) ou bien s'il doit être crée à sa taille maximale (taille fixe).</translation>
+        <translation type="obsolete">Veuilez choisir si le nouveau fichier de disque dur virtuel doit croître au fur et à mesure (allocation dynamique) ou bien s'il doit être crée à sa taille maximale (taille fixe).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un fichier de disque dur <b>alloué dynamiquement</b> n'utilisera d'espace sur votre disque dur physique qu'au fur et à mesure qu'il se remplira (jusqu'à une <b>taille fixe</> maximale), cependant il ne se réduira pas lorsque de l'espace sur celui-ci sera libéré.</p></translation>
+        <translation type="obsolete"><p>Un fichier de disque dur <b>alloué dynamiquement</b> n'utilisera d'espace sur votre disque dur physique qu'au fur et à mesure qu'il se remplira (jusqu'à une <b>taille fixe</> maximale), cependant il ne se réduira pas lorsque de l'espace sur celui-ci sera libéré.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fichier de disque dur à <b>taille fixe</b> sera plus long à créer sur certains systèmes mais sera souvent plus rapide à utiliser.</p></translation>
+        <translation type="obsolete"><p>Un fichier de disque dur à <b>taille fixe</b> sera plus long à créer sur certains systèmes mais sera souvent plus rapide à utiliser.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Vous pouvez également choisir de <b>diviser</b> le fichier de disque dur en plusieurs fichiers pouvant aller jusqu'à 2 Go chacun. Ceci est particulièrement utile si vous souhaitez stocker la machine virtuelle sur des périphériques USB amovibles ou sur des systèmes plus anciens, qui ne peuvent généralement pas gérer des fichiers très volumineux.</translation>
+        <translation type="obsolete"><p>Vous pouvez également choisir de <b>diviser</b> le fichier de disque dur en plusieurs fichiers pouvant aller jusqu'à 2 Go chacun. Ceci est particulièrement utile si vous souhaitez stocker la machine virtuelle sur des périphériques USB amovibles ou sur des systèmes plus anciens, qui ne peuvent généralement pas gérer des fichiers très volumineux.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -9685,19 +10319,19 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Choisissez un emplacement pour le nouveau fichier de disque dur virtuel</translation>
+        <translation type="obsolete">Choisissez un emplacement pour le nouveau fichier de disque dur virtuel</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Nouveau disque dur à créer</translation>
+        <translation type="obsolete">Nouveau disque dur à créer</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Veuillez saisir un nom pour le nouveau fichier de disque dur virtuel dans la boîte si dessous ou cliquez sur l'icône dossier pour choisir un autre dossier dans lequel le créer.</translation>
+        <translation type="obsolete">Veuillez saisir un nom pour le nouveau fichier de disque dur virtuel dans la boîte si dessous ou cliquez sur l'icône dossier pour choisir un autre dossier dans lequel le créer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Choisissez un emplacement pour le nouveau fichier de disque dur virtuel...</translation>
+        <translation type="obsolete">Choisissez un emplacement pour le nouveau fichier de disque dur virtuel...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -9706,15 +10340,87 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Disque dur à &copier</translation>
+        <translation type="obsolete">Disque dur à &copier</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Nouveau disque dur à créer</translation>
+        <translation type="obsolete">&Nouveau disque dur à créer</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&type de fichier de disque dur</translation>
+        <translation type="obsolete">&type de fichier de disque dur</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9757,7 +10463,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Veuillez choisir le type de clone que vous souhaitez créer.</p><p>Si vous choisissez <b>Clone complet</b>, une copie exacte (incluant tous les fichiers de disques durs virtuels) de la machine virtuelle d'origine sera créee.</p><p>Si vous choisissez <b>Clone lié</b>, une nouvelle machine sera créee, mais les fichiers de disques durs virtuels seront liés aux fichiers de disques durs virtuels de la machine d& [...]
+        <translation type="obsolete"><p>Veuillez choisir le type de clone que vous souhaitez créer.</p><p>Si vous choisissez <b>Clone complet</b>, une copie exacte (incluant tous les fichiers de disques durs virtuels) de la machine virtuelle d'origine sera créee.</p><p>Si vous choisissez <b>Clone lié</b>, une nouvelle machine sera créee, mais les fichiers de disques durs virtuels seront liés aux fichiers de disques durs virtuels  [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -9815,6 +10521,10 @@ And the size is not necessarily "in megabytes", the slider chooses the
         <source>&Linked Clone</source>
         <translation>Clone &Lié</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10091,7 +10801,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Créer le disque dur virtuel</translation>
+        <translation type="obsolete">Créer le disque dur virtuel</translation>
     </message>
     <message>
         <source>Create</source>
@@ -10099,31 +10809,31 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Type de fichier de disque dur</translation>
+        <translation type="obsolete">Type de fichier de disque dur</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Choisissez le type de fichier que vous désirez utiliser pour le nouveau disque virtuel. Si vous n'avez pas besoin de l'utiliser avec d'autres logiciels de virtualisation vous pouvez laisser ce paramètre inchangé.</translation>
+        <translation type="obsolete">Choisissez le type de fichier que vous désirez utiliser pour le nouveau disque virtuel. Si vous n'avez pas besoin de l'utiliser avec d'autres logiciels de virtualisation vous pouvez laisser ce paramètre inchangé.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Stockage sur disque dur physique</translation>
+        <translation type="obsolete">Stockage sur disque dur physique</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Veuilez choisir si le nouveau fichier de disque dur virtuel doit croître au fur et à mesure (allocation dynamique) ou bien s'il doit être crée à sa taille maximale (taille fixe).</translation>
+        <translation type="obsolete">Veuilez choisir si le nouveau fichier de disque dur virtuel doit croître au fur et à mesure (allocation dynamique) ou bien s'il doit être crée à sa taille maximale (taille fixe).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un fichier de disque dur <b>alloué dynamiquement</b> n'utilisera d'espace sur votre disque dur physique qu'au fur et à mesure qu'il se remplira (jusqu'à une <b>taille fixe</> maximale), cependant il ne se réduira pas lorsque de l'espace sur celui-ci sera libéré.</p></translation>
+        <translation type="obsolete"><p>Un fichier de disque dur <b>alloué dynamiquement</b> n'utilisera d'espace sur votre disque dur physique qu'au fur et à mesure qu'il se remplira (jusqu'à une <b>taille fixe</> maximale), cependant il ne se réduira pas lorsque de l'espace sur celui-ci sera libéré.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un fichier de disque dur à <b>taille fixe</b> sera plus long à créer sur certains systèmes mais sera souvent plus rapide à utiliser.</p></translation>
+        <translation type="obsolete"><p>Un fichier de disque dur à <b>taille fixe</b> sera plus long à créer sur certains systèmes mais sera souvent plus rapide à utiliser.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Vous pouvez également choisir de <b>diviser</b> le fichier de disque dur en plusieurs fichiers pouvant aller jusqu'à 2 Go chacun. Ceci est particulièrement utile si vous souhaitez stocker la machine virtuelle sur des périphériques USB amovibles ou sur des systèmes plus anciens, qui ne peuvent généralement pas gérer des fichiers très volumineux.</translation>
+        <translation type="obsolete"><p>Vous pouvez également choisir de <b>diviser</b> le fichier de disque dur en plusieurs fichiers pouvant aller jusqu'à 2 Go chacun. Ceci est particulièrement utile si vous souhaitez stocker la machine virtuelle sur des périphériques USB amovibles ou sur des systèmes plus anciens, qui ne peuvent généralement pas gérer des fichiers très volumineux.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10147,15 +10857,15 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Veuillez saisir un nom pour le nouveau fichier de disque dur virtuel dans la boîte si dessous ou cliquez sur l'icône dossier pour choisir un autre dossier dans lequel le créer.</translation>
+        <translation type="obsolete">Veuillez saisir un nom pour le nouveau fichier de disque dur virtuel dans la boîte si dessous ou cliquez sur l'icône dossier pour choisir un autre dossier dans lequel le créer.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Choisissez un emplacement pour le nouveau fichier de disque dur virtuel...</translation>
+        <translation type="obsolete">Choisissez un emplacement pour le nouveau fichier de disque dur virtuel...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Choisissez la taille du disque dur virtuel en mégaoctets. Cette taille est la limite de la quantité de données de fichiers qu'une machine virtuelle sera capable de stocker sur le disque dur.</translation>
+        <translation type="obsolete">Choisissez la taille du disque dur virtuel en mégaoctets. Cette taille est la limite de la quantité de données de fichiers qu'une machine virtuelle sera capable de stocker sur le disque dur.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -10167,7 +10877,55 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Type de fichier de disque dur</translation>
+        <translation type="obsolete">&Type de fichier de disque dur</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10218,15 +10976,15 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Disque dur</translation>
+        <translation type="obsolete">Disque dur</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>SI vous le souhaitez, vous pouvez ajouter un disque dur virtuel à la nouvelle machine. Vous pouvez soit créer un nouveau disque, soit en choisir un de la liste ou d'un autre emplacement en utilisant l'icône dossier.</p><p>Si vous avez besoin d'une configuration de stockage plus complexe, vous pouvez sauter cette étape et modifier les réglages de la machine une fois celle-ci crée.</p><p>La taille du disque dur recommandé [...]
+        <translation type="obsolete"><p>SI vous le souhaitez, vous pouvez ajouter un disque dur virtuel à la nouvelle machine. Vous pouvez soit créer un nouveau disque, soit en choisir un de la liste ou d'un autre emplacement en utilisant l'icône dossier.</p><p>Si vous avez besoin d'une configuration de stockage plus complexe, vous pouvez sauter cette étape et modifier les réglages de la machine une fois celle-ci crée.</p><p>La taille du disqu [...]
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Choisissez un fichier de disque dur virtuel...</translation>
+        <translation type="obsolete">Choisissez un fichier de disque dur virtuel...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -10234,15 +10992,39 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>&Ne pas ajouter de disque dur virtuel</translation>
+        <translation type="obsolete">&Ne pas ajouter de disque dur virtuel</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Créer un disque dur virtuel maintenant</translation>
+        <translation type="obsolete">&Créer un disque dur virtuel maintenant</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Utiliser un fichier de disque dur virtuel existant</translation>
+        <translation type="obsolete">&Utiliser un fichier de disque dur virtuel existant</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Choisissez un fichier de disque dur virtuel...</translation>
     </message>
 </context>
 <context>
@@ -10346,7 +11128,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Ouvre une fenêtre pour choisir un autre dossier.</translation>
+        <translation type="obsolete">Ouvre une fenêtre pour choisir un autre dossier.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -10354,7 +11136,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Ouvre une fenêtre pour choisir un autre fichier.</translation>
+        <translation type="obsolete">Ouvre une fenêtre pour choisir un autre fichier.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -10366,16 +11148,32 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Entrez le chemin du dossier ici.</translation>
+        <translation type="obsolete">Entrez le chemin du dossier ici.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Entrez le chemin du fichier ici.</translation>
+        <translation type="obsolete">Entrez le chemin du fichier ici.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -11363,7 +12161,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Ce disque sera connecté indirectement, en créant un nouveau disque dur différentiel.</translation>
+        <translation type="unfinished">Ce disque sera connecté indirectement, en créant un nouveau disque dur différentiel.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -11373,7 +12171,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Ce disque dur de base est connecté indirectement à travers le disque dur différentiel suivant :</translation>
+        <translation type="unfinished">Ce disque dur de base est connecté indirectement à travers le disque dur différentiel suivant :</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -11928,11 +12726,11 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Choisissez un fichier de disque dur virtuel</translation>
+        <translation type="obsolete">Choisissez un fichier de disque dur virtuel</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Tous les fichiers de disque dur virtuel (%1)</translation>
+        <translation type="obsolete">Tous les fichiers de disque dur virtuel (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -11976,7 +12774,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Choisissez un emplacement pour le nouveau fichier de disque dur virtuel</translation>
+        <translation type="obsolete">Choisissez un emplacement pour le nouveau fichier de disque dur virtuel</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -12156,25 +12954,27 @@ And the size is not necessarily "in megabytes", the slider chooses the
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -12927,7 +13727,7 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Voir les détails de l'instantané sélectionné</translation>
+        <translation type="obsolete">Voir les détails de l'instantané sélectionné</translation>
     </message>
     <message>
         <source>&Restore Snapshot</source>
@@ -12939,11 +13739,11 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaurer l'instantané sélectionné de la machine virtuelle</translation>
+        <translation type="obsolete">Restaurer l'instantané sélectionné de la machine virtuelle</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Supprimer l'instantané sélectionné de la machine virtuelle</translation>
+        <translation type="obsolete">Supprimer l'instantané sélectionné de la machine virtuelle</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -12959,7 +13759,23 @@ And the size is not necessarily "in megabytes", the slider chooses the
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Cloner la machine virtuelle sélectionnée</translation>
+        <translation type="obsolete">Cloner la machine virtuelle sélectionnée</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12994,6 +13810,10 @@ And the size is not necessarily "in megabytes", the slider chooses the
             <numerusform>Attention : vous allez prendre un instantané d'une machine allumée aui a %n disques virtuels immuables connectées. Tant que vous travaillez sous cet instantané les disques ne seront pas réinitialisées pour éviter la perte de données.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Instantané %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
index 96a98d4..f333d94 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_gl_ES.ts
@@ -253,7 +253,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensionar automaticamente o tamaño da pantalla do convidado  cando se redimensiona a xanela (require dos aplicativos para o sistema operativo convidado)</translation>
+        <translation type="obsolete">Redimensionar automaticamente o tamaño da pantalla do convidado  cando se redimensiona a xanela (require dos aplicativos para o sistema operativo convidado)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -345,7 +345,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envía o evento pulsación botón de enerxía (ACPI Power) á máquina virtual</translation>
+        <translation type="obsolete">Envía o evento pulsación botón de enerxía (ACPI Power) á máquina virtual</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -368,16 +368,12 @@
         <translation type="obsolete">Dispositivos &USB</translation>
     </message>
     <message>
-        <source>Change the settings of network adapters</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>&Shared Folders...</source>
         <translation type="obsolete">Cartafole&s compartidos...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Crear ou modificar cartafoles compartidos</translation>
+        <translation type="obsolete">Crear ou modificar cartafoles compartidos</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -443,16 +439,12 @@
         <translation type="unfinished">Configuración&s...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Mostrar os ficheiros de rexistro da máquina virtual seleccionada</translation>
+        <translation type="obsolete">Mostrar os ficheiros de rexistro da máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -475,10 +467,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Comproba se hai unha nova versión de VirtualBox</translation>
     </message>
@@ -488,7 +476,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Mostrar un diálogo con información do produto</translation>
+        <translation type="obsolete">Mostrar un diálogo con información do produto</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -499,10 +487,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Ficheiro</translation>
@@ -539,11 +523,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Preferencias...</translation>
+        <translation type="obsolete">&Preferencias...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Mostrar o diálogo de configuracións globais</translation>
+        <translation type="obsolete">Mostrar o diálogo de configuracións globais</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -559,15 +543,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Crear unha nova máquina virtual</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Crear unha nova máquina virtual</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -586,467 +562,570 @@
         <translation type="obsolete">Cambia a xanela da máquina virtual seleccionada</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Actualizar o estado de accesibilidade da máquina virtual seleccionada</translation>
+    </message>
+    <message>
+        <source>&New...</source>
+        <translation type="unfinished">&Novo...</translation>
+    </message>
+    <message>
+        <source>&Add...</source>
+        <translation type="unfinished">Eng&adir...</translation>
+    </message>
+    <message>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Actualizar o estado de accesibilidade da máquina virtual seleccionada</translation>
+        <source>&Remove...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard</source>
+        <translation type="unfinished">Descartar</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Descartar o estado gardado da máquina virtual seleccionada</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">&Cerrar</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">Mostrar re&xistro...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">Sitio web de &VirtualBox...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">&Restabelecer todos os avisos</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Ve&rificar actualizacións...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
-        <translation type="unfinished">&Novo...</translation>
+        <source>Gro&up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">Eng&adir...</translation>
+        <source>Shared &Clipboard</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Descartar</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Descartar o estado gardado da máquina virtual seleccionada</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">&Cerrar</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">Mostrar re&xistro...</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">Sitio web de &VirtualBox...</translation>
+        <source>&VirtualBox</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">&Restabelecer todos os avisos</translation>
+        <source>&Menu Bar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Ve&rificar actualizacións...</translation>
+        <source>&Menu Bar Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>Network</source>
+        <translation type="obsolete">Rede</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Mostrar re&xistro...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">&Ficheiro</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferencias...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Activar</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Rede</translation>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Ningún dispositivo compatíbel está conectado ao PC anfitrión</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Mostrar re&xistro...</translation>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Ficheiro</translation>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Actuali&zar</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
     <message>
-        <source>Enable</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished">Activar</translation>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1%</source>
-        <comment>scale-factor</comment>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Activar</translation>
+    </message>
+</context>
+<context>
     <name>UIAddDiskEncryptionPasswordDialog</name>
     <message>
         <source>%1 - Disk Encryption</source>
@@ -1060,6 +1139,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1113,15 +1215,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlador IDE do disco ríxido</translation>
+        <translation type="obsolete">Controlador IDE do disco ríxido</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlador SATA do disco ríxido</translation>
+        <translation type="obsolete">Controlador SATA do disco ríxido</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlador SCSI do disco ríxido</translation>
+        <translation type="obsolete">Controlador SCSI do disco ríxido</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1178,15 +1280,27 @@
         <translation type="obsolete">MB</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1602,16 +1716,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1680,32 +1791,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -2847,18 +2932,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2890,11 +2967,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2917,27 +3002,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Versión</translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2984,15 +3077,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Previsualización en tempo real &da icona ancorada</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3031,11 +3124,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3215,15 +3308,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Eng&adir  rede exclusiva do anfitrión</translation>
+        <translation type="obsolete">Eng&adir  rede exclusiva do anfitrión</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Elimina&r rede exclusiva do anfitrión</translation>
+        <translation type="obsolete">Elimina&r rede exclusiva do anfitrión</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Editar rede exclusiva do anfitrión</translation>
+        <translation type="obsolete">&Editar rede exclusiva do anfitrión</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3299,76 +3392,112 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network CIDR</source>
+        <source>Network CIDR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Supports DHCP</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Supports IPv6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports DHCP</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>yes</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>no</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports IPv6</source>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Active</source>
+        <comment>NAT network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3483,7 +3612,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Empregar a configuración manual para este adaptador da rede exclusiva do anfitrión.</translation>
+        <translation type="obsolete">Empregar a configuración manual para este adaptador da rede exclusiva do anfitrión.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3527,7 +3656,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indica se o servidor DHCP está activado no arranque da máquina ou non.</translation>
+        <translation type="obsolete">Indica se o servidor DHCP está activado no arranque da máquina ou non.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3561,6 +3690,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Mostra o límite superior de enderezos ofrecidos polo servidor DHCP ao servir a rede asociada con este adaptador exclusivo do anfitrión.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3573,10 +3710,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3601,31 +3734,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3659,23 +3796,23 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3695,7 +3832,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Especifica con que frecuencia se realizará a comprobación de novas versións. Se quere desactivar completamente esta comprobación, simplemente desmarque a caixa de verificación de enriba.</translation>
+        <translation type="obsolete">Especifica con que frecuencia se realizará a comprobación de novas versións. Se quere desactivar completamente esta comprobación, simplemente desmarque a caixa de verificación de enriba.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3729,6 +3866,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4137,11 +4278,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation></translation>
@@ -4215,7 +4351,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica se o teclado está capturado polo sistema operativo convidado<img src=:/hostkey_captured_16px.png/>) ou non (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica se o teclado está capturado polo sistema operativo convidado<img src=:/hostkey_captured_16px.png/>) ou non (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -4248,6 +4384,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4263,41 +4408,17 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">VirtualBox OSE</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Instantánea %1</translation>
-    </message>
-    <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
+        <translation type="obsolete">Instantánea %1</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Ningún dispositivo compatíbel está conectado ao PC anfitrión</translation>
+        <translation type="obsolete">Ningún dispositivo compatíbel está conectado ao PC anfitrión</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4315,7 +4436,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controla o controlador da saída de audio. O <b>Controlador de audio nulo</b> fai que o convidado vexa unha tarxeta de son, porén calquera acceso será ignorado.</translation>
+        <translation type="obsolete">Controla o controlador da saída de audio. O <b>Controlador de audio nulo</b> fai que o convidado vexa unha tarxeta de son, porén calquera acceso será ignorado.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4325,6 +4446,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Seleccione o tipo da tarxeta de son virtual. Dependendo deste valor, VirtualBox proporcionará diferente hardware de audio á máquina virtual.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4334,7 +4459,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4390,7 +4515,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Define o método de autenticación VRDP.</translation>
+        <translation type="obsolete">Define o método de autenticación VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4398,7 +4523,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica o tempo de espera para a autenticación do convidado, en milísegundos.</translation>
+        <translation type="obsolete">Especifica o tempo de espera para a autenticación do convidado, en milísegundos.</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -4409,10 +4534,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mo&nitor Count:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4421,14 +4542,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Allow Multiple Connections</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4449,46 +4562,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4497,10 +4582,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4552,10 +4633,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Barra de ferramentas pequena:</translation>
     </message>
@@ -4592,31 +4669,83 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>100%</source>
+        <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>200%</source>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%</source>
+        <source>Use &Unscaled HiDPI Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
+        <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>HiDPI Support:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4624,7 +4753,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Mostra o camiño onde se almacenaran as instantáneas desta máquina virtual. Nota que as instantáneas poden ocupar bastante espazo en disco. </translation>
+        <translation type="obsolete">Mostra o camiño onde se almacenaran as instantáneas desta máquina virtual. Nota que as instantáneas poden ocupar bastante espazo en disco. </translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4723,10 +4852,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4763,6 +4888,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4776,22 +4909,30 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Se está marcada, mostra a barra de ferramentas pequena nos modos fluído e de pantalla completa.</translation>
+        <translation type="obsolete">Se está marcada, mostra a barra de ferramentas pequena nos modos fluído e de pantalla completa.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Mostrar en modo de &Pantalla completa/Fluído</translation>
+        <translation type="obsolete">Mostrar en modo de &Pantalla completa/Fluído</translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <source>Show at &Top of Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
+        <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4815,7 +4956,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla como este adaptador virtual se conecta á rede real do sistema operativo anfitrión.</translation>
+        <translation type="obsolete">Controla como este adaptador virtual se conecta á rede real do sistema operativo anfitrión.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -4855,10 +4996,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">&Avanzado</translation>
     </message>
     <message>
-        <source>Shows or hides additional network adapter options.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
         <translation type="unfinished">Mostrar o enderezo MAC deste adaptador. Contén exactamente 12 caracteres escollidos de {0-9,A-F}. Nota que o segundo carácter debe ser un díxito par.</translation>
     </message>
@@ -4868,17 +5005,13 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation type="unfinished">Indica se o cable da rede virtual está conectado no arranque da máquina ou non.</translation>
+        <translation type="obsolete">Indica se o cable da rede virtual está conectado no arranque da máquina ou non.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
         <translation type="unfinished">&Cable conectado</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4895,10 +5028,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4950,6 +5079,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5033,21 +5182,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Seleccionouse un número de porto duplicado </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Non se especificou o camiño do porto </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Introduciuse un camiño de porto duplicado </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5070,33 +5204,24 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>UIMachineSettingsParallelPage</name>
     <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Seleccionouse un número de porto duplicado </translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Non se especificou o camiño do porto </translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Introduciuse un camiño de porto duplicado </translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5116,15 +5241,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Engada unha nova definición ao cartafol compartido.</translation>
+        <translation type="obsolete">Engada unha nova definición ao cartafol compartido.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita a definición do cartafol compartido seleccionado.</translation>
+        <translation type="obsolete">Edita a definición do cartafol compartido seleccionado.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Elimina a definición do cartafol compartido seleccionado.</translation>
+        <translation type="obsolete">Elimina a definición do cartafol compartido seleccionado.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5159,28 +5284,40 @@ p, li { white-space: pre-wrap; }
         <translation>Acceso</translation>
     </message>
     <message>
-        <source>&Add Shared Folder</source>
+        <source>&Folders List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Shared Folder</source>
+        <source>Auto-mount</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Shared Folder</source>
+        <source>Yes</source>
+        <translation type="unfinished">Si</translation>
+    </message>
+    <message>
+        <source>Add Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Folders List</source>
+        <source>Edit Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Auto-mount</source>
+        <source>Remove Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation type="unfinished">Si</translation>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5230,7 +5367,7 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5279,7 +5416,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla o modo de traballo deste porto serie. Se selecciona <b>desconectado</b>, o sistema operativo convidado detectará o porto serie pero non poderá manexalo.</translation>
+        <translation type="obsolete">Controla o modo de traballo deste porto serie. Se selecciona <b>desconectado</b>, o sistema operativo convidado detectará o porto serie pero non poderá manexalo.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5306,10 +5443,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5321,20 +5454,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Seleccionouse un número de porto duplicado </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Non se especificou o camiño do porto </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Introduciuse un camiño de porto duplicado </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5358,6 +5484,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Seleccionouse un número de porto duplicado </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Non se especificou o camiño do porto </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Introduciuse un camiño de porto duplicado </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5428,14 +5569,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Add Controller</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5472,22 +5605,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hard &Disk:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5496,10 +5613,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5516,10 +5629,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">&Nome:</translation>
     </message>
     <message>
-        <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Type:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5564,10 +5673,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5585,152 +5690,189 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation type="unfinished">Imaxe</translation>
+        <translation type="obsolete">Imaxe</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imaxe</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5762,12 +5904,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -5800,7 +5942,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mover cara a abaixo (Ctrl-Av Páx)</translation>
+        <translation type="obsolete">Mover cara a abaixo (Ctrl-Av Páx)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5808,7 +5950,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mover cara a arriba (Ctrl-Re Páx)</translation>
+        <translation type="obsolete">Mover cara a arriba (Ctrl-Re Páx)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5881,7 +6023,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -5892,10 +6034,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5920,16 +6058,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5981,56 +6109,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Eng&adir o filtro baleiro</translation>
+        <translation type="obsolete">Eng&adir o filtro baleiro</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Engadir o filtro desde &dispositivo</translation>
+        <translation type="obsolete">Engadir o filtro desde &dispositivo</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Editar o filtro</translation>
+        <translation type="obsolete">&Editar o filtro</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Elimina&r o filtro</translation>
+        <translation type="obsolete">Elimina&r o filtro</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mover cara a arriba o filtro</translation>
+        <translation type="obsolete">&Mover cara a arriba o filtro</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&over cara a abaixo o filtro</translation>
+        <translation type="obsolete">M&over cara a abaixo o filtro</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Engade un novo filtro USB con todos os campos definidos inicialmente con cadeas baleiras. Nota que tal filtro coincidirá con calquera dispositivo USB conectado. </translation>
+        <translation type="obsolete">Engade un novo filtro USB con todos os campos definidos inicialmente con cadeas baleiras. Nota que tal filtro coincidirá con calquera dispositivo USB conectado. </translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Engade un novo filtro USB con todos os campos definidos aos valores do dispositivo USB seleccionado conectado ao PC anfitrión.</translation>
+        <translation type="obsolete">Engade un novo filtro USB con todos os campos definidos aos valores do dispositivo USB seleccionado conectado ao PC anfitrión.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edita o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Edita o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Elimina o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Elimina o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Move cara a arriba o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Move cara a arriba o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Move cara a abaixo o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Move cara a abaixo o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6047,7 +6201,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Cando está marcada, activa o controlador USB EHCI virtual desta máquina. O controlador USB EHCI fornecerá compatibilidade de USB 2.0.</translation>
+        <translation type="obsolete">Cando está marcada, activa o controlador USB EHCI virtual desta máquina. O controlador USB EHCI fornecerá compatibilidade de USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6066,67 +6220,119 @@ p, li { white-space: pre-wrap; }
         <translation>[filtro]</translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ID do vendedor: %1</nobr></translation>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ID do vendedor: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ID do produto: %2</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Revisión: %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Produto: %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Fabricante: %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Número de serie: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Porto: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Estado: %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ID do produto: %2</nobr></translation>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Revisión: %3</nobr></translation>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Produto: %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Fabricante: %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Número de serie: %1</nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Porto: %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Estado: %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6161,7 +6367,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define o filtro do ID do vendedor. O formato da cadea de <i>coincidencia exacta</i> é <tt>XXXX</tt> onde <tt>X</tt> é un díxito hexadecimal. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do ID do vendedor. O formato da cadea de <i>coincidencia exacta</i> é <tt>XXXX</tt> onde <tt>X</tt> é un díxito hexadecimal. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6169,7 +6375,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define o filtro do ID do produto. O formato da cadea de <i>coincidencia exacta</i> é <tt>XXXX</tt> onde <tt>X</tt> é un díxito hexadecimal. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do ID do produto. O formato da cadea de <i>coincidencia exacta</i> é <tt>XXXX</tt> onde <tt>X</tt> é un díxito hexadecimal. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6177,7 +6383,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Define o filtro do número de revisión. O formato da cadea de <i>coincidencia exacta</i> é <tt>IIFF</tt> onde <tt>l</tt> é un díxito decimal da parte enteira e <tt>F</tt> é un díxito decimal da parte fraccionaria. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do número de revisión. O formato da cadea de <i>coincidencia exacta</i> é <tt>IIFF</tt> onde <tt>l</tt> é un díxito decimal da parte enteira e <tt>F</tt> é un díxito decimal da parte fraccionaria. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6185,7 +6391,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro do fabricante como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do fabricante como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6193,7 +6399,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro do nome do produto como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do nome do produto como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6201,7 +6407,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro do número de serie como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do número de serie como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6209,7 +6415,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro do porto USB anfitrión como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
+        <translation type="obsolete">Define o filtro do porto USB anfitrión como unha cadea de <i>coincidencia exacta</i>. Unha cadea baleira coincidirá con calquera valor.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6217,7 +6423,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Define se este filtro se lles aplica aos dispositivos USB conectados localmente ao computador anfitrión (<i>Non</i>), a un computador cliente VRDP (<i>Si</i>), ou a ambos (<i>Calquera</i>).</translation>
+        <translation type="obsolete">Define se este filtro se lles aplica aos dispositivos USB conectados localmente ao computador anfitrión (<i>Non</i>), a un computador cliente VRDP (<i>Si</i>), ou a ambos (<i>Calquera</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6231,6 +6437,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Detalles do filtro USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6249,10 +6487,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6268,6 +6502,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -6720,7 +6958,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Non foi posíbel cambiar a pantalla do convidado ao modo de pantalla completa debido a que o convidado non ten memoria de vídeo suficiente.</p><p>Debería configurar a máquina virtual para ter polo menos <b>%1</b> de memoria de vídeo.</p><p>Prema en <b>Ignorar</b> para cambiar ao modo de pantalla completa de calquera maneira ou en <b>Cancelar</b> para cancelar a operación.</p></translation>
+        <translation type="obsolete"><p>Non foi posíbel cambiar a pantalla do convidado ao modo de pantalla completa debido a que o convidado non ten memoria de vídeo suficiente.</p><p>Debería configurar a máquina virtual para ter polo menos <b>%1</b> de memoria de vídeo.</p><p>Prema en <b>Ignorar</b> para cambiar ao modo de pantalla completa de calquera maneira ou en <b>Cancelar</b> para cancelar a operación.</p></t [...]
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -6834,7 +7072,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Quere borrar a unidade de almacenamento do disco ríxido <nobr><b>%1</b></nobr>?</p><p>Se selecciona <b>Borrar</b>, a unidade de almacenamento especificada borrarase permanentemente. <b>Non é posíbel desfacer</b> esta operación.</p><p>Se selecciona <b>Manter</b>, o disco ríxido só se eliminará da lista de discos ríxidos coñecidos, pero a unidade de almacenamento non se modific [...]
+        <translation type="obsolete"><p>Quere borrar a unidade de almacenamento do disco ríxido <nobr><b>%1</b></nobr>?</p><p>Se selecciona <b>Borrar</b>, a unidade de almacenamento especificada borrarase permanentemente. <b>Non é posíbel desfacer</b> esta operación.</p><p>Se selecciona <b>Manter</b>, o disco ríxido só se eliminará da lista de discos ríxidos coñecidos, pero a unidade de almacenament [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7078,10 +7316,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation type="unfinished">Borrar</translation>
     </message>
@@ -7146,10 +7380,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7222,10 +7452,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7419,10 +7645,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7531,18 +7753,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7582,30 +7792,6 @@ p, li { white-space: pre-wrap; }
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -7724,10 +7910,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7799,6 +7981,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -8441,6 +8663,13 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Nome</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Nome</translation>
     </message>
     <message>
@@ -8463,6 +8692,34 @@ p, li { white-space: pre-wrap; }
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -8689,13 +8946,6 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -8705,6 +8955,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9177,96 +9431,96 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9309,10 +9563,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9368,6 +9618,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -9631,83 +9885,83 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><nobr>%1 (%2 B)</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9738,31 +9992,31 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10284,7 +10538,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Abre unha caixa de diálogo para seleccionar un cartafol diferente.</translation>
+        <translation type="obsolete">Abre unha caixa de diálogo para seleccionar un cartafol diferente.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -10292,7 +10546,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Abre unha caixa de diálogo para seleccionar un ficheiro diferente.</translation>
+        <translation type="obsolete">Abre unha caixa de diálogo para seleccionar un ficheiro diferente.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -10304,16 +10558,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Introduza aquí o camiño do cartafol desexada.</translation>
+        <translation type="obsolete">Introduza aquí o camiño do cartafol desexada.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Introduza aquí o camiño do ficheiro desexada.</translation>
+        <translation type="obsolete">Introduza aquí o camiño do ficheiro desexada.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -11783,14 +12053,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Descrición</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -11831,10 +12093,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Enabled</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation type="obsolete">Activado</translation>
@@ -12032,25 +12290,37 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -12838,7 +13108,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostrar os detalles da instantánea seleccionada</translation>
+        <translation type="obsolete">Mostrar os detalles da instantánea seleccionada</translation>
     </message>
     <message>
         <source>&Discard Snapshot</source>
@@ -12861,23 +13131,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Restore the selected snapshot of the virtual machine</source>
+        <source> (%1 ago)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Clone...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete the selected snapshot of the virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> (%1 ago)</source>
+        <source>Delete selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Clone...</source>
+        <source>Display a window with selected snapshot details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -12913,6 +13187,10 @@ p, li { white-space: pre-wrap; }
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Instantánea %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
index 86332d4..02bfc78 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts
@@ -309,7 +309,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Automatikusan átméretezi a vendég gép képernyőjét, ha az ablak mérete változik (az integrációs szolgáltatások telepítése szükséges)</translation>
+        <translation type="obsolete">Automatikusan átméretezi a vendég gép képernyőjét, ha az ablak mérete változik (az integrációs szolgáltatások telepítése szükséges)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -401,7 +401,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>ACPI Power gomb esemény küldése a virtuális gépnek</translation>
+        <translation type="obsolete">ACPI Power gomb esemény küldése a virtuális gépnek</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -437,7 +437,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>A hálózati kártyák beállítása</translation>
+        <translation type="obsolete">A hálózati kártyák beállítása</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -445,7 +445,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Ablak megnyitása az megosztott mappák beállításához</translation>
+        <translation type="obsolete">Ablak megnyitása az megosztott mappák beállításához</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -594,7 +594,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Virtuális gépek konfigurálásainak kezelése</translation>
+        <translation type="obsolete">Virtuális gépek konfigurálásainak kezelése</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -602,7 +602,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>A kiválasztott gép naplófájljainak mutatása</translation>
+        <translation type="obsolete">A kiválasztott gép naplófájljainak mutatása</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -626,7 +626,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Hálózati műveletek kezelő megjelenítése</translation>
+        <translation type="obsolete">Hálózati műveletek kezelő megjelenítése</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -638,7 +638,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Termékinformációs ablak megjelenítése</translation>
+        <translation type="obsolete">Termékinformációs ablak megjelenítése</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -650,7 +650,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Pillanatfelvétel a virtuális gépről</translation>
+        <translation type="obsolete">Pillanatfelvétel a virtuális gépről</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -693,11 +693,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Beállítások...</translation>
+        <translation type="obsolete">&Beállítások...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Itt lehet megtenni a globális beállításokat</translation>
+        <translation type="obsolete">Itt lehet megtenni a globális beállításokat</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -713,15 +713,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Új virtuális gép készítése</translation>
+        <translation type="obsolete">Új virtuális gép készítése</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Létező virtuális gép hozzáadása</translation>
+        <translation type="obsolete">Létező virtuális gép hozzáadása</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>A kiválasztott virtuális gép csoport átnevezése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gép csoport átnevezése</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -741,15 +741,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Frissítés...</translation>
+        <translation type="obsolete">&Frissítés...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Frissíti az állapotinformációkat a kiválasztott virtuális gépen</translation>
+        <translation type="obsolete">Frissíti az állapotinformációkat a kiválasztott virtuális gépen</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Megjelenítés a keresőben</translation>
+        <translation type="obsolete">Megjelenítés a keresőben</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -757,7 +757,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Megjelenítés az Intézőben</translation>
+        <translation type="obsolete">Megjelenítés az Intézőben</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -765,11 +765,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Megjelenítés a fájlkezelőben</translation>
+        <translation type="obsolete">Megjelenítés a fájlkezelőben</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>A VirtualBox gép definíciós fájljának megjelenítése a fájlkezelőben</translation>
+        <translation type="obsolete">A VirtualBox gép definíciós fájljának megjelenítése a fájlkezelőben</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -781,7 +781,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Új csoport hozzáadása a kiválasztott elemek alapján</translation>
+        <translation type="obsolete">Új csoport hozzáadása a kiválasztott elemek alapján</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -789,7 +789,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>A kiválasztott virtuális gép klónozása</translation>
+        <translation type="obsolete">A kiválasztott virtuális gép klónozása</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -805,7 +805,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Mentett állapot eldobá&sa...</translation>
+        <translation type="obsolete">Mentett állapot eldobá&sa...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -813,7 +813,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Alias létrehozása az asztalon</translation>
+        <translation type="obsolete">Alias létrehozása az asztalon</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -821,7 +821,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Parancsikon létrehozása az asztalon</translation>
+        <translation type="obsolete">Parancsikon létrehozása az asztalon</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -853,59 +853,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>A kiválasztott virtuális gép csoport elemeinek betűrentdbe rendezése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gép csoport elemeinek betűrentdbe rendezése</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>A kiválasztott viruális gépek eltávolítása</translation>
+        <translation type="obsolete">A kiválasztott viruális gépek eltávolítása</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek indítása</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek indítása</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek ablakaira váltás</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek ablakaira váltás</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek futásának felfüggesztése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek futásának felfüggesztése</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek resetelése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek resetelése</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek mentett állapotának eldobása</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek mentett állapotának eldobása</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>A VirtualBox gép definíciós fájljának megjelenítése a keresőben</translation>
+        <translation type="obsolete">A VirtualBox gép definíciós fájljának megjelenítése a keresőben</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>A VirtualBox gép definíciós fájljának megjelenítése az Intézőben</translation>
+        <translation type="obsolete">A VirtualBox gép definíciós fájljának megjelenítése az Intézőben</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Létrehoz egy Alias-t az asztalon a VirtualBox gép definíciós fájljához</translation>
+        <translation type="obsolete">Létrehoz egy Alias-t az asztalon a VirtualBox gép definíciós fájljához</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Létrehoz egy parancsikont az asztalon a VirtualBox gép definíciós fájljához</translation>
+        <translation type="obsolete">Létrehoz egy parancsikont az asztalon a VirtualBox gép definíciós fájljához</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Állapot mentése</translation>
+        <translation type="obsolete">Állapot mentése</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépek állapotának mentése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépek állapotának mentése</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>A kiválasztott virtuális gépeknek ACPI Power gombi esemény küldése</translation>
+        <translation type="obsolete">A kiválasztott virtuális gépeknek ACPI Power gombi esemény küldése</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -913,7 +913,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>A kiválasztott viruális gépek kikapcsolása</translation>
+        <translation type="obsolete">A kiválasztott viruális gépek kikapcsolása</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -925,15 +925,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>C&soportosítatlan...</translation>
+        <translation type="obsolete">C&soportosítatlan...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>A kiválasztott virtuális gép csoportosítatlan elemei</translation>
+        <translation type="obsolete">A kiválasztott virtuális gép csoportosítatlan elemei</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Rendezés</translation>
+        <translation type="obsolete">Rendezés</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -941,7 +941,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Az elsőnek kiválasztott gép csoportjának betűrendbe rendezése</translation>
+        <translation type="obsolete">Az elsőnek kiválasztott gép csoportjának betűrendbe rendezése</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -952,10 +952,6 @@
         <translation type="obsolete">Fogd és vidd</translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
@@ -972,242 +968,294 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Billentyűzet</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Hálózat</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Nap&ló mutatása...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fájl</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Billentyűzet</translation>
+        <source>Switch between normal and full-screen mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Hálózat</translation>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Nap&ló mutatása...</translation>
+        <source>&Headless Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fájl</translation>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Beállítások...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Merevlemezek</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1219,9 +1267,185 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Monitor-előnézet: %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Nincs USB eszköz csatlakoztatva</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Nincs támogatott eszköz a gazda PC-hez csatlakoztatva</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Engedélyez</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1237,6 +1461,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1290,15 +1536,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>IDE merevlemezvezérlő</translation>
+        <translation type="obsolete">IDE merevlemezvezérlő</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>SATA merevlemezvezérlő</translation>
+        <translation type="obsolete">SATA merevlemezvezérlő</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>SCSI merevlemezvezérlő</translation>
+        <translation type="obsolete">SCSI merevlemezvezérlő</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1356,7 +1602,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Merevlemez vezérlő (SAS)</translation>
+        <translation type="obsolete">Merevlemez vezérlő (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1366,6 +1612,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>MAC címek új&ra-inicializálása a hálózati kártyákhoz</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2055,18 +2317,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Adatok fogadása...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2172,31 +2431,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3442,7 +3676,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>A maximális szélesség, melyet a vendég használhat.</translation>
+        <translation type="obsolete">A maximális szélesség, melyet a vendég használhat.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3450,7 +3684,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>A maximális magasság, melyet a vendég használhat.</translation>
+        <translation type="obsolete">A maximális magasság, melyet a vendég használhat.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3484,11 +3718,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3516,11 +3758,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Csomag hozzáadása</translation>
+        <translation type="obsolete">Csomag hozzáadása</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Csomag eltávolítása</translation>
+        <translation type="obsolete">Csomag eltávolítása</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3538,6 +3780,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3602,15 +3860,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Gazda képernyővédőjének kikapc&solása</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3665,11 +3923,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3849,15 +4107,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Host-only hálózat hozzá&adása</translation>
+        <translation type="obsolete">Host-only hálózat hozzá&adása</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Host-only hálózat eltávolítá&sa</translation>
+        <translation type="obsolete">Host-only hálózat eltávolítá&sa</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>Host-only hálózat sz&erkesztése</translation>
+        <translation type="obsolete">Host-only hálózat sz&erkesztése</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3957,56 +4215,92 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Active</source>
+        <comment>NAT network</comment>
+        <translation type="unfinished">Aktív</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
-        <translation type="unfinished">Aktív</translation>
-    </message>
-    <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4121,7 +4415,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Kézi beállítás használata ehhez a host-only hálózati kártyához.</translation>
+        <translation type="obsolete">Kézi beállítás használata ehhez a host-only hálózati kártyához.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4165,7 +4459,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Megmutatja, hogy a DHCP szerver be van-e kapcsolva a gépen.</translation>
+        <translation type="obsolete">Megmutatja, hogy a DHCP szerver be van-e kapcsolva a gépen.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4199,6 +4493,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">A DHCP szerver által, ehhez a host-only kártyával kiosztható felső címhatár.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4211,10 +4513,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4239,32 +4537,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Megnyitja a port továbbítási szabályait kezelő ablakot.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">&Port továbbítása</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Megnyitja a port továbbítási szabályait kezelő ablakot.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">&Port továbbítása</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4298,7 +4604,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>A proxy gazda módosítása.</translation>
+        <translation type="obsolete">A proxy gazda módosítása.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4306,7 +4612,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>A proxy port módosítása.</translation>
+        <translation type="obsolete">A proxy port módosítása.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4340,6 +4646,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4357,7 +4671,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Megadhatod, hogy a VirtualBox milyen sűrűn nézzen frissítések után. Ha azt szeretnéd, hogy egyáltalán ne keressen frissítést, tiltsd le a pipadobozban.</translation>
+        <translation type="obsolete">Megadhatod, hogy a VirtualBox milyen sűrűn nézzen frissítések után. Ha azt szeretnéd, hogy egyáltalán ne keressen frissítést, tiltsd le a pipadobozban.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4391,6 +4705,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>az elő&zetes és a végeges kiadásokat</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4781,7 +5099,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space: pre'><nobr>Jelzi a merevlemez aktivitását:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space: pre'><nobr>Jelzi a merevlemez aktivitását:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4863,7 +5181,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Jelzi, hogy a billentyűzetet elkapta-e a vendég OS (<img src=:/hostkey_captured_16px.png/>) vagy nem (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Jelzi, hogy a billentyűzetet elkapta-e a vendég OS (<img src=:/hostkey_captured_16px.png/>) vagy nem (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4909,6 +5227,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4929,11 +5256,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Monitor-előnézet: %1</translation>
+        <translation type="obsolete">Monitor-előnézet: %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Pillanatkép: %1</translation>
+        <translation type="obsolete">Pillanatkép: %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4969,32 +5296,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Nincs USB eszköz csatlakoztatva</translation>
+        <translation type="obsolete">Nincs USB eszköz csatlakoztatva</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nincs támogatott eszköz a gazda PC-hez csatlakoztatva</translation>
+        <translation type="obsolete">Nincs támogatott eszköz a gazda PC-hez csatlakoztatva</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Válassz nevet a képernyőmentésnek ...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -5012,7 +5323,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Az audio kimenet driver beállítása. A <b>Null Audio Driver</b> hatására a virtuális gép látni fogja a hangkártyát, de nem szólal meg a gazda gépen.</translation>
+        <translation type="obsolete">Az audio kimenet driver beállítása. A <b>Null Audio Driver</b> hatására a virtuális gép látni fogja a hangkártyát, de nem szólal meg a gazda gépen.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -5022,6 +5333,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>A virtuális hangkártya kiválasztása. A választott hangkártyát fogja a VirtualBox mutatni a virtuális gép felé.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -5031,7 +5346,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5087,7 +5402,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>A VRDP autentikációs metódus.</translation>
+        <translation type="obsolete">A VRDP autentikációs metódus.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5095,7 +5410,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Időkorlát a vendég autentikálásához, ezredmásodpercben.</translation>
+        <translation type="obsolete">Időkorlát a vendég autentikálásához, ezredmásodpercben.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5112,7 +5427,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translatorcomment>CHECK</translatorcomment>
-        <translation>A VRDP szerver portja. Adj meg <tt>0</tt>-t (nulla) a szabványos RDP port (3389) kiválasztásához.</translation>
+        <translation type="obsolete">A VRDP szerver portja. Adj meg <tt>0</tt>-t (nulla) a szabványos RDP port (3389) kiválasztásához.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5124,11 +5439,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Több, egyidejű kapcsolatot engedélyez a virtuális géphez.</translation>
+        <translation type="obsolete">Több, egyidejű kapcsolatot engedélyez a virtuális géphez.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5167,46 +5482,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5215,10 +5502,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5270,10 +5553,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Mini eszköztár:</translation>
     </message>
@@ -5319,21 +5598,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5345,6 +5620,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5354,7 +5693,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>A gépről készített pillanatképek útvonala. A pillanatképek egy picit sok helyet foglalnak el.</translation>
+        <translation type="obsolete">A gépről készített pillanatképek útvonala. A pillanatképek egy picit sok helyet foglalnak el.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5602,10 +5941,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5642,6 +5977,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5663,15 +6006,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Ha engedélyezed, a Mini eszköztár meg fog jelenni teljes képernyős és asztal-integrációs módban.</translation>
+        <translation type="obsolete">Ha engedélyezed, a Mini eszköztár meg fog jelenni teljes képernyős és asztal-integrációs módban.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Jelenjen meg &teljes képernyőn</translation>
+        <translation type="obsolete">Jelenjen meg &teljes képernyőn</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Ha engedélyezed, a Mini ToolBar a képernyő tetején fog megjelenni, és nem az alján, ahol alapértelmezetten megjelenik.</translation>
+        <translation type="obsolete">Ha engedélyezed, a Mini ToolBar a képernyő tetején fog megjelenni, és nem az alján, ahol alapértelmezetten megjelenik.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5681,6 +6024,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5714,7 +6069,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Megadhatod, hogyan legyen a virtuális adapter a valódi hálózathoz csatlakoztatva.</translation>
+        <translation type="obsolete">Megadhatod, hogyan legyen a virtuális adapter a valódi hálózathoz csatlakoztatva.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5742,7 +6097,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Jelzi, hogy a virtuális hálózati kábel be lesz-e dugva a gépbe induláskor vagy sem.</translation>
+        <translation type="obsolete">Jelzi, hogy a virtuális hálózati kábel be lesz-e dugva a gépbe induláskor vagy sem.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5833,7 +6188,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Megjeleníti vagy elrejti a további hálókártya opciókat.</translation>
+        <translation type="obsolete">Megjeleníti vagy elrejti a további hálókártya opciókat.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5845,7 +6200,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Megnyitja a port továbbítási szabályait kezelő ablakot.</translation>
+        <translation type="obsolete">Megnyitja a port továbbítási szabályait kezelő ablakot.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5865,7 +6220,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Adj meg itt bármilyen konfigurációs beállítást a használandó hálózati driverhez. A beállításokat <b>név=érték</b> formátumban kellene megadni és a drivertől fognak függni. Új bejegyzés hozzáadásához használd a <b>shift-enter</b> kombinációt.</translation>
+        <translation type="obsolete">Adj meg itt bármilyen konfigurációs beállítást a használandó hálózati driverhez. A beállításokat <b>név=érték</b> formátumban kellene megadni és a drivertől fognak függni. Új bejegyzés hozzáadásához használd a <b>shift-enter</b> kombinációt.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5927,6 +6282,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6025,21 +6400,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>A párhuzamos port I/O báziscíme. Bármely cím érvényes <tt>0</tt> és <tt>0xFFFF</tt> között.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Kettős portszám van kiválasztva </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">A port útvonala nincs megadva </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Kétszer van ugyanaz az útvonal megadva </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -6062,6 +6422,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Kettős portszám van kiválasztva </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">A port útvonala nincs megadva </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Kétszer van ugyanaz az útvonal megadva </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -6069,27 +6444,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>A táblázat a port továbbítási szabályait tartalmazza.</translation>
+        <translation type="obsolete">A táblázat a port továbbítási szabályait tartalmazza.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Új szabály beszúrása</translation>
+        <translation type="obsolete">Új szabály beszúrása</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Választott szabály másolása</translation>
+        <translation type="obsolete">Választott szabály másolása</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Választott szabály törlése</translation>
+        <translation type="obsolete">Választott szabály törlése</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>A gombbal új port továbbítási szabály adható hozzá.</translation>
+        <translation type="obsolete">A gombbal új port továbbítási szabály adható hozzá.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>A gombbal port továbbítási szabály törölhető.</translation>
+        <translation type="obsolete">A gombbal port továbbítási szabály törölhető.</translation>
     </message>
 </context>
 <context>
@@ -6108,15 +6483,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Új megosztott mappa hozzáadása.</translation>
+        <translation type="obsolete">Új megosztott mappa hozzáadása.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>A kiválasztott megosztott mappa szerkesztése.</translation>
+        <translation type="obsolete">A kiválasztott megosztott mappa szerkesztése.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Megosztott mappa törlése.</translation>
+        <translation type="obsolete">Megosztott mappa törlése.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6156,27 +6531,51 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Megosztott mappa hozzá&adása</translation>
+        <translation type="obsolete">Megosztott mappa hozzá&adása</translation>
+    </message>
+    <message>
+        <source>&Edit Shared Folder</source>
+        <translation type="obsolete">Megosztott mappa sz&erkesztése</translation>
+    </message>
+    <message>
+        <source>&Remove Shared Folder</source>
+        <translation type="obsolete">Megosztott mappa eltávolítá&sa</translation>
+    </message>
+    <message>
+        <source>&Folders List</source>
+        <translation>&Mappalista</translation>
+    </message>
+    <message>
+        <source>Auto-mount</source>
+        <translation>Automata csatolás</translation>
+    </message>
+    <message>
+        <source>Yes</source>
+        <translation>Igen</translation>
+    </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Shared Folder</source>
-        <translation>Megosztott mappa sz&erkesztése</translation>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Shared Folder</source>
-        <translation>Megosztott mappa eltávolítá&sa</translation>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Folders List</source>
-        <translation>&Mappalista</translation>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Auto-mount</source>
-        <translation>Automata csatolás</translation>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <translation>Igen</translation>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6227,7 +6626,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Ha engedélyezed, ez a megosztott mappa végleges lesz.</translation>
+        <translation type="obsolete">Ha engedélyezed, ez a megosztott mappa végleges lesz.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6275,7 +6678,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>A soros port működési módja. Ha a <b>Lekapcsolva</b> módot választod, a vendég rendszer érzékeli majd a soros portot, de használni nem fogja tudni (nem lesz benne kábel).</translation>
+        <translation type="obsolete">A soros port működési módja. Ha a <b>Lekapcsolva</b> módot választod, a vendég rendszer érzékeli majd a soros portot, de használni nem fogja tudni (nem lesz benne kábel).</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6306,10 +6709,6 @@ p, li { white-space: pre-wrap; }
         <translation>A soros port I/O báziscíme. Bármely cím érvényes <tt>0</tt> és <tt>0xFFFF</tt> között.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6321,20 +6720,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Kettős portszám van kiválasztva </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">A port útvonala nincs megadva </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Kétszer van ugyanaz az útvonal megadva </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6358,6 +6750,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Kettős portszám van kiválasztva </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">A port útvonala nincs megadva </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Kétszer van ugyanaz az útvonal megadva </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6433,11 +6840,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Elem&nbsp;összecsukása/kibontása</nobr></translation>
+        <translation type="obsolete"><nobr>Elem&nbsp;összecsukása/kibontása</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Merevlemez&nbsp;hozzáadása</nobr></translation>
+        <translation type="obsolete"><nobr>Merevlemez&nbsp;hozzáadása</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6501,19 +6908,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Az új vezérlőt a tároló-fa végéhez adja hozzá.</translation>
+        <translation type="obsolete">Az új vezérlőt a tároló-fa végéhez adja hozzá.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Eltávolítja a kijelölt vezérlőt a tároló-fából.</translation>
+        <translation type="obsolete">Eltávolítja a kijelölt vezérlőt a tároló-fából.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Új eszköz hozzáadása a tárolófához és csatlakoztatása a jelenleg kiválasztott vezérlőhöz.</translation>
+        <translation type="obsolete">Új eszköz hozzáadása a tárolófához és csatlakoztatása a jelenleg kiválasztott vezérlőhöz.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Eltávolítja a kijelölt eszközt a tárolófából.</translation>
+        <translation type="obsolete">Eltávolítja a kijelölt eszközt a tárolófából.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6549,7 +6956,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>A virtuális gép minden tárolási vezérlőjét, illetve a géphez csatolt összes lemezképét, és gazdaeszközét tartalmazza.</translation>
+        <translation type="obsolete">A virtuális gép minden tárolási vezérlőjét, illetve a géphez csatolt összes lemezképét, és gazdaeszközét tartalmazza.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6569,7 +6976,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Átnevezi a tárolófában kijelölt vezérlőt.</translation>
+        <translation type="obsolete">Átnevezi a tárolófában kijelölt vezérlőt.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6639,7 +7046,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Lehetővé teszi a gazda I/O cache képességeinek haszbnálatát.</translation>
+        <translation type="obsolete">Lehetővé teszi a gazda I/O cache képességeinek haszbnálatát.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6671,7 +7078,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Képfájl</translation>
+        <translation type="obsolete">Képfájl</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6679,7 +7086,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>A virtuális merevlemez beállítása</translation>
+        <translation type="obsolete">A virtuális merevlemez beállítása</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6703,15 +7110,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>A virtuális floppy meghajtó beállítása</translation>
+        <translation type="obsolete">A virtuális floppy meghajtó beállítása</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Új virtuális merevlemez létrehozása...</translation>
+        <translation type="obsolete">Új virtuális merevlemez létrehozása...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Virtuális merevlemez választása...</translation>
+        <translation type="obsolete">Virtuális merevlemez választása...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6723,11 +7130,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Virtuális floppy választása...</translation>
+        <translation type="obsolete">Virtuális floppy választása...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Ha engedélyezed, a virtuális lemez nem lesz eltávolítva, mikor a vendég rendszer kiadja azt.</translation>
+        <translation type="obsolete">Ha engedélyezed, a virtuális lemez nem lesz eltávolítva, mikor a vendég rendszer kiadja azt.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6735,7 +7142,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Ha engedélyezed, a vendég rendszer mozgó alkatrészek nélküli tárolóként (SSD) fogja látni a virtuális lemezt.</translation>
+        <translation type="obsolete">Ha engedélyezed, a vendég rendszer mozgó alkatrészek nélküli tárolóként (SSD) fogja látni a virtuális lemezt.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6804,47 +7211,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Virtuális optikai lemez választása...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Virtuális optikai lemez választása...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Képfájl</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6876,12 +7352,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;processzor</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processzor</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6914,7 +7390,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Le (Ctrl+Le)</translation>
+        <translation type="obsolete">Le (Ctrl+Le)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6922,7 +7398,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Fel (Ctrl+Fel)</translation>
+        <translation type="obsolete">Fel (Ctrl+Fel)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6995,7 +7471,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;processzor</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processzor</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7007,7 +7483,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Ha engedélyezed, az RTC eszköz az UTC időt közli, egyéb esetben a helyi (gazda) idő lesz érvényben. Az Unix rendszer általában elvárja a hardveres idő UTC-re állítását.</translation>
+        <translation type="obsolete">Ha engedélyezed, az RTC eszköz az UTC időt közli, egyéb esetben a helyi (gazda) idő lesz érvényben. Az Unix rendszer általában elvárja a hardveres idő UTC-re állítását.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7056,12 +7532,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7123,56 +7599,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Üres szűrő hozzá&adása</translation>
+        <translation type="obsolete">Üres szűrő hozzá&adása</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Szűrő hozzáa&dása eszköz alapján</translation>
+        <translation type="obsolete">Szűrő hozzáa&dása eszköz alapján</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>Szűrő sz&erkesztése</translation>
+        <translation type="obsolete">Szűrő sz&erkesztése</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Szűrő tö&rlése</translation>
+        <translation type="obsolete">Szűrő tö&rlése</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Feljebb</translation>
+        <translation type="obsolete">&Feljebb</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>&Lejjebb</translation>
+        <translation type="obsolete">&Lejjebb</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Egy teljesen üres USB szűrőt hoz létre. Ez a szűrő minden csatlakoztatott eszközre illeszkedni fog.</translation>
+        <translation type="obsolete">Egy teljesen üres USB szűrőt hoz létre. Ez a szűrő minden csatlakoztatott eszközre illeszkedni fog.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Egy teljesen új USB szűrő létrehozása a kiválasztott USB eszköz paraméterei alapján.</translation>
+        <translation type="obsolete">Egy teljesen új USB szűrő létrehozása a kiválasztott USB eszköz paraméterei alapján.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>A kijelölt szűrő szerkesztése.</translation>
+        <translation type="obsolete">A kijelölt szűrő szerkesztése.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Törli a kiválasztott USB szűrőt.</translation>
+        <translation type="obsolete">Törli a kiválasztott USB szűrőt.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>A kijelölt USB szűrőt feljebb tolja.</translation>
+        <translation type="obsolete">A kijelölt USB szűrőt feljebb tolja.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>A kijelölt USB szűrőt lejjebb tolja.</translation>
+        <translation type="obsolete">A kijelölt USB szűrőt lejjebb tolja.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7189,7 +7691,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Ha engedélyezed, a virtuális USB EHCI vezérlő használható lesz ebben a virtuális gépben. Az USB EHCI vezérlő USB 2.0 támogatással is rendelkezik.</translation>
+        <translation type="obsolete">Ha engedélyezed, a virtuális USB EHCI vezérlő használható lesz ebben a virtuális gépben. Az USB EHCI vezérlő USB 2.0 támogatással is rendelkezik.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7256,27 +7758,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Az USB 2.0 jelenleg be van kapcsolva a virtuális gépen. Azonban ehhez a következőnek telepítve kell lennie: <b><nobr>%1</nobr></b>.</p><p>A VirtualBox oldaláról letöltve telepítsd fel a Kiterjesztő csomagot. Ezután újra be engedélyezni tudod az USB 2.0-t. Addig ki lesz kapcsolva, hacsak meg nem szakítod a beállítások módosítását.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7311,7 +7865,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Gyártó ID alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>XXXX</tt>, ahol <tt>X</tt> egy hexadecimális szám. Ha a mező üres, a szűrő bármely azonosítóra illeszkedni fog.</translation>
+        <translation type="obsolete">Gyártó ID alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>XXXX</tt>, ahol <tt>X</tt> egy hexadecimális szám. Ha a mező üres, a szűrő bármely azonosítóra illeszkedni fog.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7319,7 +7873,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Termék ID alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>XXXX</tt>, ahol <tt>X</tt> egy hexadecimális szám. Ha a mező üres, a szűrő bármely azonosítóra illeszkedni fog.</translation>
+        <translation type="obsolete">Termék ID alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>XXXX</tt>, ahol <tt>X</tt> egy hexadecimális szám. Ha a mező üres, a szűrő bármely azonosítóra illeszkedni fog.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7327,7 +7881,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Revízió szám alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>IIFF</tt>, ahol <tt>I</tt> az egész rész egy számjegye, <tt>F</tt> pedig a törtrész számjegye. Ha a mező üres, a szűrő minden revízióra illeszkedni fog.</translation>
+        <translation type="obsolete">Revízió szám alapú szűrőt készít. A <i>pontos illeszkedéshez</i> szükséges formátum <tt>IIFF</tt>, ahol <tt>I</tt> az egész rész egy számjegye, <tt>F</tt> pedig a törtrész számjegye. Ha a mező üres, a szűrő minden revízióra illeszkedni fog.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7335,7 +7889,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Gyártó alapú szűrőt készít a gyártó <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden gyártóra illeszkedni fog.</translation>
+        <translation type="obsolete">Gyártó alapú szűrőt készít a gyártó <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden gyártóra illeszkedni fog.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7343,7 +7897,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Termék alapú szűrőt készít a termék <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden termékre illeszkedni fog.</translation>
+        <translation type="obsolete">Termék alapú szűrőt készít a termék <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden termékre illeszkedni fog.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7351,7 +7905,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Sorozatszám alapú szűrőt készít a sorozatszám alapján. Ha a mező üres, a szűrő minden sorozatszámra illeszkedni fog.</translation>
+        <translation type="obsolete">Sorozatszám alapú szűrőt készít a sorozatszám alapján. Ha a mező üres, a szűrő minden sorozatszámra illeszkedni fog.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7359,7 +7913,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Gazda port alapú szűrőt készít a port <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden portra illeszkedni fog.</translation>
+        <translation type="obsolete">Gazda port alapú szűrőt készít a port <i>pontos</i> neve alapján. Ha a mező üres, a szűrő minden portra illeszkedni fog.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7367,7 +7921,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>A csatlakoztatás módjára épülő szűrőt határoz meg, azaz hogy az USB eszköz helyileg (<i>Nem</i>), a VRDP kliens gépen  (<i>Igen</i>) van csatlakoztatva, vagy mindegy  (<i>Bárhol</i>).</translation>
+        <translation type="obsolete">A csatlakoztatás módjára épülő szűrőt határoz meg, azaz hogy az USB eszköz helyileg (<i>Nem</i>), a VRDP kliens gépen  (<i>Igen</i>) van csatlakoztatva, vagy mindegy  (<i>Bárhol</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7381,6 +7935,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>USB szűrő adatai</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7400,7 +7986,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Merevlemezek</translation>
+        <translation type="obsolete">&Merevlemezek</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7422,6 +8008,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7915,7 +8505,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Nem tudsz teljes képernyőre váltani a vendég kevés videó-memóriája miatt.</p><p>Be kell állítanod a virtuális gépet, hogy legalább <b>%1</b> videó-memóriával rendelkezzen.</p><p>A <b>Kihagy</b> teljes képernyőre válthatsz vagy a <b>Mégsem</b> gombbal megszakíthatod a műveletet.</p></translation>
+        <translation type="obsolete"><p>Nem tudsz teljes képernyőre váltani a vendég kevés videó-memóriája miatt.</p><p>Be kell állítanod a virtuális gépet, hogy legalább <b>%1</b> videó-memóriával rendelkezzen.</p><p>A <b>Kihagy</b> teljes képernyőre válthatsz vagy a <b>Mégsem</b> gombbal megszakíthatod a műveletet.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -8029,7 +8619,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Törölni akarod a merevlemez ezen tárolóegységét: <nobr><b>%1</b></nobr>?</p><p>Ha a <b>Törlést</b> választod, a tárolóegység véglegesen törlődni fog. Ez a művelet <b>nem vonható vissza</b>.</p><p>Ha a <b>Megtartást</b> választod, a merevlemez csak az ismert merevlemezek listájáról törlődik, de a tárolóegység érintetlen marad, amit később újra hozzá lehet adni a merevlemezek l [...]
+        <translation type="obsolete"><p>Törölni akarod a merevlemez ezen tárolóegységét: <nobr><b>%1</b></nobr>?</p><p>Ha a <b>Törlést</b> választod, a tárolóegység véglegesen törlődni fog. Ez a művelet <b>nem vonható vissza</b>.</p><p>Ha a <b>Megtartást</b> választod, a merevlemez csak az ismert merevlemezek listájáról törlődik, de a tárolóegység érintetlen marad, amit később újra hozzá lehet adni  [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8286,7 +8876,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>A pillanatkép törlése azt okozhatja, hogy a mentett állapotinformációk elvesznek, és a VirtualBox által készített lemez-pillanatképek rá lesznek játszva az aktuális lemezre. Ez hosszú ideig is eltarthat, és a pillanatkép-beli információk ezután már nem lesznek helyreállíthatóak.</p><p>Biztos törlöd ezt a pillanatképet: <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>A pillanatkép törlése azt okozhatja, hogy a mentett állapotinformációk elvesznek, és a VirtualBox által készített lemez-pillanatképek rá lesznek játszva az aktuális lemezre. Ez hosszú ideig is eltarthat, és a pillanatkép-beli információk ezután már nem lesznek helyreállíthatóak.</p><p>Biztos törlöd ezt a pillanatképet: <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8422,7 +9012,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>A(z) %1 pillanatfelvéte törléséhez időlegesen többszabad hely szükséges. A legrosszabb esetben a(z) %2 kép mérete %3 mérettel nőhet meg, miközben csak %4 szabad hely van a rendszeren.</p><p>Ha a művelet közben fogy el a szabad hely, az a kép és a virtuális gép beállításainak megsérülését okozhatja,mint például a virtuális gép és annak adatainak elvesztése.</p><p>Saját felelősségre folytathatja a pillanatfelvétel törlését.</p></t [...]
+        <translation type="obsolete"><p>A(z) %1 pillanatfelvéte törléséhez időlegesen többszabad hely szükséges. A legrosszabb esetben a(z) %2 kép mérete %3 mérettel nőhet meg, miközben csak %4 szabad hely van a rendszeren.</p><p>Ha a művelet közben fogy el a szabad hely, az a kép és a virtuális gép beállításainak megsérülését okozhatja,mint például a virtuális gép és annak adatainak elvesztése.</p><p>Saját felelősségre folytathatja a pillanatfelvétel törlés [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8600,7 +9190,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>A virtuális gép ablaka most <b>teljes képernyős</b> módra vált. Bármikor visszaléphetsz az ablakos módba a(z) <b>%1</b> gomb megnyomásával. Ne feledd, hogy a <i>gazda</i> gomb jelenleg ez: <b>%2</b>.</p><p>Ne feledd, hogy a főmenü eltűnik a teljes képernyős módnál. A <b>gazda+Home</b> gombok megnyomásával érheted el.</p></translation>
+        <translation type="obsolete"><p>A virtuális gép ablaka most <b>teljes képernyős</b> módra vált. Bármikor visszaléphetsz az ablakos módba a(z) <b>%1</b> gomb megnyomásával. Ne feledd, hogy a <i>gazda</i> gomb jelenleg ez: <b>%2</b>.</p><p>Ne feledd, hogy a főmenü eltűnik a teljes képernyős módnál. A <b>gazda+Home</b> gombok megnyomásával érheted el.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8837,7 +9427,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Merevlemez nélküli gépet készülsz létrehozni. Merevlemez nélkül, nem leszel képes operációs rendszert telepíteni rá. Addig csak virtuális optikai meghajtóról vagy hálózatról tudod elindítani a gépet.</translation>
+        <translation type="obsolete">Merevlemez nélküli gépet készülsz létrehozni. Merevlemez nélkül, nem leszel képes operációs rendszert telepíteni rá. Addig csak virtuális optikai meghajtóról vagy hálózatról tudod elindítani a gépet.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -8957,79 +9547,43 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Lemez &választása</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Would you like to try to force insertion of this disk?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Would you like to try to force ejection of this disk?</p></source>
+        <source><p>As this hard disk is inaccessible its image file can not be deleted.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual optical disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Would you like to try to force insertion of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Would you like to try to force ejection of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
@@ -9149,10 +9703,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9224,6 +9774,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10332,27 +10922,82 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Név</translation>
+        <translation type="obsolete">Név</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokoll</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Gazda IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Gazda port</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Vendég IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Vendég port</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Név</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokoll</translation>
+        <translation type="unfinished">Protokoll</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Gazda IP</translation>
+        <translation type="unfinished">Gazda IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Gazda port</translation>
+        <translation type="unfinished">Gazda port</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Vendég IP</translation>
+        <translation type="unfinished">Vendég IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Vendég port</translation>
+        <translation type="unfinished">Vendég port</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10604,13 +11249,6 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10620,6 +11258,10 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11165,7 +11807,7 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Virtuális merevlemez másolása</translation>
+        <translation type="obsolete">Virtuális merevlemez másolása</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11173,43 +11815,43 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Másolandó merevlemez</translation>
+        <translation type="obsolete">Másolandó merevlemez</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Válaszd ki a virtuális lemezt, amelyiket másolni szeretnél, ha még nincs kiválasztva. Válaszhatsz másikat is a listából vagy a mappa ikonnal kiválaszthatsz egy virtuális lemezfájlt.</p></translation>
+        <translation type="obsolete"><p>Válaszd ki a virtuális lemezt, amelyiket másolni szeretnél, ha még nincs kiválasztva. Válaszhatsz másikat is a listából vagy a mappa ikonnal kiválaszthatsz egy virtuális lemezfájlt.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Másolandó virtuális merevlemez választása...</translation>
+        <translation type="obsolete">Másolandó virtuális merevlemez választása...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Merevlemez típusa</translation>
+        <translation type="obsolete">Merevlemez típusa</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Válassz egy fájltípust, amit az új virtuális lemezhez szeretnél használni. Ha nem szeretnéd másik virtualizációs szoftverhez használni, nem kell a beállításokat módosítanod.</translation>
+        <translation type="obsolete">Válassz egy fájltípust, amit az új virtuális lemezhez szeretnél használni. Ha nem szeretnéd másik virtualizációs szoftverhez használni, nem kell a beállításokat módosítanod.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Fizikai merevlemezen tárolás</translation>
+        <translation type="obsolete">Fizikai merevlemezen tárolás</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Válaszd ki, hogy az új virtuális lemez mérete folyamatosan növekedjen (dinamikusan növekvő) vagy lefoglalja-e a teljes területét (fix méretű).</translation>
+        <translation type="obsolete">Válaszd ki, hogy az új virtuális lemez mérete folyamatosan növekedjen (dinamikusan növekvő) vagy lefoglalja-e a teljes területét (fix méretű).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>A <b>dinamikus növekvő</b> virtuális lemezfájl a benne levő adatokhoz mérten foglal helyet a fizikai merevlemezen (a maxmimális <b>fix méretig</b>), bár a felszabaduló hellyel nem fog automatikusan csökkeni a mérete.</p></translation>
+        <translation type="obsolete"><p>A <b>dinamikus növekvő</b> virtuális lemezfájl a benne levő adatokhoz mérten foglal helyet a fizikai merevlemezen (a maxmimális <b>fix méretig</b>), bár a felszabaduló hellyel nem fog automatikusan csökkeni a mérete.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>A <b>fix méretű</b> merevlemezfájl létrehozása egyes rendszereken lassú lehet, de gyakran gyorsabb a használata.</p></translation>
+        <translation type="obsolete"><p>A <b>fix méretű</b> merevlemezfájl létrehozása egyes rendszereken lassú lehet, de gyakran gyorsabb a használata.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p><b>Feldarabol</b>hatod a merevlemezfájlt, maximum 2GB-os fájlokra. Leginkább akkor hasznos, ha a virtuális gépet USB eszközön vagy régi fájlrendszeren tárolod, melyek nem tudják a nagy fájlokat kezelni.</translation>
+        <translation type="obsolete"><p><b>Feldarabol</b>hatod a merevlemezfájlt, maximum 2GB-os fájlokra. Leginkább akkor hasznos, ha a virtuális gépet USB eszközön vagy régi fájlrendszeren tárolod, melyek nem tudják a nagy fájlokat kezelni.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11225,19 +11867,19 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Válaszd ki az új virtuális merevlemez fájl helyét</translation>
+        <translation type="obsolete">Válaszd ki az új virtuális merevlemez fájl helyét</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Létrehozandó új merevlemez</translation>
+        <translation type="obsolete">Létrehozandó új merevlemez</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Kérlek add meg a lenti mezőben az új virtuális merevlemez nevét, vagy kattints a mappa ikonra a mappa kiválasztásához, ahol létrejöjjön a fájl.</translation>
+        <translation type="obsolete">Kérlek add meg a lenti mezőben az új virtuális merevlemez nevét, vagy kattints a mappa ikonra a mappa kiválasztásához, ahol létrejöjjön a fájl.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Az új merevlemez helyének kiválasztása...</translation>
+        <translation type="obsolete">Az új merevlemez helyének kiválasztása...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11246,15 +11888,87 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>&Másolandó merevlemez</translation>
+        <translation type="obsolete">&Másolandó merevlemez</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>Létrehoza&ndó új merevlemez</translation>
+        <translation type="obsolete">Létrehoza&ndó új merevlemez</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Merevlemez &típusa</translation>
+        <translation type="obsolete">Merevlemez &típusa</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11297,7 +12011,7 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Válaszd ki a klón típusát.</p><p>Ha a <b>Teljes klón</b>t választod, az eredeti virtuális gép pontos másolata (minden virtuális lemezképpel együtt) fog létrejönni.</p><p>Ha a <b>Linkelt klón</b>t választod, egy új virtuális gép jön létre, de a virtuális lemezképek az eredeti virtuális gép lemezképeire fognak mutatni, és az eredeti virtuális gép nélkül nem tudod a virtuális gépet másik számítógépre átmozgatni.&l [...]
+        <translation type="obsolete"><p>Válaszd ki a klón típusát.</p><p>Ha a <b>Teljes klón</b>t választod, az eredeti virtuális gép pontos másolata (minden virtuális lemezképpel együtt) fog létrejönni.</p><p>Ha a <b>Linkelt klón</b>t választod, egy új virtuális gép jön létre, de a virtuális lemezképek az eredeti virtuális gép lemezképeire fognak mutatni, és az eredeti virtuális gép nélkül nem tudod a virtuális gépet másik számítógép [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11355,6 +12069,10 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
         <source>&Linked Clone</source>
         <translation>&Linkelt klón</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11631,7 +12349,7 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Virtuális merevlemez készítése</translation>
+        <translation type="obsolete">Virtuális merevlemez készítése</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11639,31 +12357,31 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Merevlemez típusa</translation>
+        <translation type="obsolete">Merevlemez típusa</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Válassz egy fájltípust, amit az új virtuális lemezhez szeretnél használni. Ha nem szeretnéd másik virtualizációs szoftverhez használni, nem kell a beállításokat módosítanod.</translation>
+        <translation type="obsolete">Válassz egy fájltípust, amit az új virtuális lemezhez szeretnél használni. Ha nem szeretnéd másik virtualizációs szoftverhez használni, nem kell a beállításokat módosítanod.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Fizikai merevlemezen tárolás</translation>
+        <translation type="obsolete">Fizikai merevlemezen tárolás</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Válaszd ki, hogy az új virtuális lemez mérete folyamatosan növekedjen (dinamikusan növekvő) vagy lefoglalja-e a teljes területét (fix méretű).</translation>
+        <translation type="obsolete">Válaszd ki, hogy az új virtuális lemez mérete folyamatosan növekedjen (dinamikusan növekvő) vagy lefoglalja-e a teljes területét (fix méretű).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>A <b>dinamikus növekvő</b> virtuális lemezfájl a benne levő adatokhoz mérten foglal helyet a fizikai merevlemezen (a maxmimális <b>fix méretig</b>), bár a felszabaduló hellyel nem fog automatikusan csökkeni a mérete.</p></translation>
+        <translation type="obsolete"><p>A <b>dinamikus növekvő</b> virtuális lemezfájl a benne levő adatokhoz mérten foglal helyet a fizikai merevlemezen (a maxmimális <b>fix méretig</b>), bár a felszabaduló hellyel nem fog automatikusan csökkeni a mérete.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>A <b>fix méretű</b> merevlemezfájl létrehozása egyes rendszereken lassú lehet, de gyakran gyorsabb a használata.</p></translation>
+        <translation type="obsolete"><p>A <b>fix méretű</b> merevlemezfájl létrehozása egyes rendszereken lassú lehet, de gyakran gyorsabb a használata.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p><b>Feldarabol</b>hatod a merevlemezfájlt, maximum 2GB-os fájlokra. Leginkább akkor hasznos, ha a virtuális gépet USB eszközön vagy régi fájlrendszeren tárolod, melyek nem tudják a nagy fájlokat kezelni.</translation>
+        <translation type="obsolete"><p><b>Feldarabol</b>hatod a merevlemezfájlt, maximum 2GB-os fájlokra. Leginkább akkor hasznos, ha a virtuális gépet USB eszközön vagy régi fájlrendszeren tárolod, melyek nem tudják a nagy fájlokat kezelni.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11687,15 +12405,15 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Kérlek add meg a lenti mezőben az új virtuális lemez nevét, vagy kattints a mappa ikonra a mappa kiválasztásához, ahol létrejöjjön a fájl.</translation>
+        <translation type="obsolete">Kérlek add meg a lenti mezőben az új virtuális lemez nevét, vagy kattints a mappa ikonra a mappa kiválasztásához, ahol létrejöjjön a fájl.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Az új virtuális merevlemez helyének kiválasztása...</translation>
+        <translation type="obsolete">Az új virtuális merevlemez helyének kiválasztása...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Add meg a virtuális lemez méretét megabájtban. Ezt a méretet fogja a virtuális gép látni a lemezből.</translation>
+        <translation type="obsolete">Add meg a virtuális lemez méretét megabájtban. Ezt a méretet fogja a virtuális gép látni a lemezből.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11707,7 +12425,55 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Merevlemez &típusa</translation>
+        <translation type="obsolete">Merevlemez &típusa</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11758,15 +12524,15 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Merevlemez</translation>
+        <translation type="obsolete">Merevlemez</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Ha szeretnéd, hozzáadhatsz merevlemezt az új virtuális géphez. Létrehozhatsz új merevlemezt, választhatsz egyet a listából, vagy a mappa ikonra kattintva, kikereshetsz egyet.</p><p>Ha összetettebb felépítésre van szükséged, kihagyhatod ezt a lépést, és a virtuális gép létrejötte után is végezhetsz módosításokat.</p><p>Ajánlott merevlemezméret: <b>%1</b>.</p></translation>
+        <translation type="obsolete"><p>Ha szeretnéd, hozzáadhatsz merevlemezt az új virtuális géphez. Létrehozhatsz új merevlemezt, választhatsz egyet a listából, vagy a mappa ikonra kattintva, kikereshetsz egyet.</p><p>Ha összetettebb felépítésre van szükséged, kihagyhatod ezt a lépést, és a virtuális gép létrejötte után is végezhetsz módosításokat.</p><p>Ajánlott merevlemezméret: <b>%1</b>.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Virtuális merevlemez választása...</translation>
+        <translation type="obsolete">Virtuális merevlemez választása...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -11774,15 +12540,39 @@ esetleg a <b>Létező</b> gombbal a Virtuális lemezkezelőből.<
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Ne a&djon hozzá virtuális merevlemezt</translation>
+        <translation type="obsolete">Ne a&djon hozzá virtuális merevlemezt</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Új virtuális merevlemez készítése</translation>
+        <translation type="obsolete">&Új virtuális merevlemez készítése</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Létező virt&uális merevlemez használata</translation>
+        <translation type="obsolete">Létező virt&uális merevlemez használata</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Virtuális merevlemez választása...</translation>
     </message>
 </context>
 <context>
@@ -12986,7 +13776,7 @@ Verzió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Megnyit egy ablakot az egy másik mappa kiválasztásához.</translation>
+        <translation type="obsolete">Megnyit egy ablakot az egy másik mappa kiválasztásához.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12994,7 +13784,7 @@ Verzió %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Megnyit egy ablakot az egy másik fájl kiválasztásához.</translation>
+        <translation type="obsolete">Megnyit egy ablakot az egy másik fájl kiválasztásához.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13006,16 +13796,32 @@ Verzió %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Írd be a kívánt mappa útvonalát.</translation>
+        <translation type="obsolete">Írd be a kívánt mappa útvonalát.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Írd be a kívánt fájl útvonalát.</translation>
+        <translation type="obsolete">Írd be a kívánt fájl útvonalát.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14250,7 +15056,7 @@ Verzió %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Ezen merevlemez csatlakoztatása egy új különbözeti lemez készítését fogja okozni.</translation>
+        <translation type="unfinished">Ezen merevlemez csatlakoztatása egy új különbözeti lemez készítését fogja okozni.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14260,7 +15066,7 @@ Verzió %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Ez az alap merevlemez a következő különbözeti lemezzel lesz csatlakoztatva:</translation>
+        <translation type="unfinished">Ez az alap merevlemez a következő különbözeti lemezzel lesz csatlakoztatva:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -14810,11 +15616,11 @@ Verzió %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Válassz egy virtuális merevlemez fájlt</translation>
+        <translation type="obsolete">Válassz egy virtuális merevlemez fájlt</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Minden virtuális merevlemez fájl (%1)</translation>
+        <translation type="obsolete">Minden virtuális merevlemez fájl (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -14858,7 +15664,7 @@ Verzió %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Válaszd ki az új virtuális merevlemez fájl helyét</translation>
+        <translation type="obsolete">Válaszd ki az új virtuális merevlemez fájl helyét</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -15058,25 +15864,27 @@ Verzió %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -16742,7 +17550,7 @@ parancsot Linux-alapú OS-ekből. Integrációs szolgáltatások szükségesek h
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>A kiválasztott pillanatkép részletei</translation>
+        <translation type="obsolete">A kiválasztott pillanatkép részletei</translation>
     </message>
     <message>
         <source>&Merge Snapshot with Parent</source>
@@ -16766,11 +17574,11 @@ parancsot Linux-alapú OS-ekből. Integrációs szolgáltatások szükségesek h
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>A kiválasztott pillanatkép helyreállítása a virtuális gépre</translation>
+        <translation type="obsolete">A kiválasztott pillanatkép helyreállítása a virtuális gépre</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Törli a kiválasztott pillanatképet</translation>
+        <translation type="obsolete">Törli a kiválasztott pillanatképet</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -16782,7 +17590,23 @@ parancsot Linux-alapú OS-ekből. Integrációs szolgáltatások szükségesek h
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>A kiválasztott virtuális gép klónozása</translation>
+        <translation type="obsolete">A kiválasztott virtuális gép klónozása</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -16840,6 +17664,10 @@ parancsot Linux-alapú OS-ekből. Integrációs szolgáltatások szükségesek h
             <numerusform>Vigyázz: Pillanatképet készülsz készíteni egy olyan gépről, melyhez %n nem-módosíthato képfájl van csatlakoztatva. Amíg ebből a pillanatképből dolgozol, a nem-módosítható képfájl nem lesz helyreállitva az adatvesztés elkerülése érdekében.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
index c4f2f88..d2bedec 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_id.ts
@@ -293,7 +293,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Resize tampilan guest secara otomatis saat window diresize (membutuhkan Guest Additions)</translation>
+        <translation type="obsolete">Resize tampilan guest secara otomatis saat window diresize (membutuhkan Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -385,7 +385,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Kirim Tombol Power ACPI event pada mesin virtual </translation>
+        <translation type="obsolete">Kirim Tombol Power ACPI event pada mesin virtual </translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -408,16 +408,12 @@
         <translation type="obsolete">Device &USB</translation>
     </message>
     <message>
-        <source>Change the settings of network adapters</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>&Shared Folders...</source>
         <translation type="obsolete">Folder yang di &Share...</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Buka dialog untuk beroperasi pada folder yang di share</translation>
+        <translation type="obsolete">Buka dialog untuk beroperasi pada folder yang di share</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -509,7 +505,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Kelola pengaturan mesin virtual</translation>
+        <translation type="obsolete">Kelola pengaturan mesin virtual</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -517,7 +513,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Tampilkan file log pada mesin virtual terpilih</translation>
+        <translation type="obsolete">Tampilkan file log pada mesin virtual terpilih</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -540,10 +536,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Periksa keberadaan versi baru VirtualBox</translation>
     </message>
@@ -553,7 +545,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Tunjukkan dialog dengan informasi produk</translation>
+        <translation type="obsolete">Tunjukkan dialog dengan informasi produk</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -564,10 +556,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&File</translation>
@@ -604,11 +592,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Preferensi...</translation>
+        <translation type="obsolete">&Preferensi...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Buka dialog setting global</translation>
+        <translation type="obsolete">Buka dialog setting global</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -624,15 +612,11 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Ciptakan Mesin Virtual Baru</translation>
+        <translation type="obsolete">Ciptakan Mesin Virtual Baru</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation type="unfinished">Tambahkan mesin virtual yang telah ada</translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Tambahkan mesin virtual yang telah ada</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -651,16 +635,12 @@
         <translation type="obsolete">Beralih pada jendela mesin virtual terpilih</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Me-refresh keadaan akesibilitas pada mesin virtual terpilih</translation>
+        <translation type="obsolete">Me-refresh keadaan akesibilitas pada mesin virtual terpilih</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation type="unfinished">Tampilkan di Finder</translation>
+        <translation type="obsolete">Tampilkan di Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -668,7 +648,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation type="unfinished">Tampilkan di Explorer</translation>
+        <translation type="obsolete">Tampilkan di Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -676,11 +656,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation type="unfinished">Tampilkan di Manajer Berkas</translation>
+        <translation type="obsolete">Tampilkan di Manajer Berkas</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation type="unfinished">Menampilkan file Definisi Mesin VirtualBox di dalam Manajer Berkas</translation>
+        <translation type="obsolete">Menampilkan file Definisi Mesin VirtualBox di dalam Manajer Berkas</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -691,16 +671,12 @@
         <translation type="unfinished">T&ambah...</translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Cl&one...</source>
         <translation type="unfinished">K&lon...</translation>
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation type="unfinished">Buat klon dari mesin virtual yang dipilih</translation>
+        <translation type="obsolete">Buat klon dari mesin virtual yang dipilih</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -715,16 +691,12 @@
         <translation type="unfinished">Abaikan</translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Discard the saved state of the selected virtual machine</source>
         <translation type="obsolete">Abaikan keadaan tersimpan pada mesin virtual terpilih</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation type="unfinished">Buat Alias pada Desktop</translation>
+        <translation type="obsolete">Buat Alias pada Desktop</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -732,7 +704,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation type="unfinished">Buat Shortcut pada Desktop</translation>
+        <translation type="obsolete">Buat Shortcut pada Desktop</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -763,353 +735,506 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Keyboard</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Jaringan</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Tampilkan &Log...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&File</source>
+        <translation type="unfinished">&File</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferensi...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Keyboard</translation>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Jaringan</translation>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Tampilkan &Log...</translation>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&File</translation>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Hard Disk</translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Nyalakan</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Pratinjau Monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Tidak Ada Device USB Tersambung</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Tidak ada device yang terdukung terkoneksi pada PC host</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Re&fresh</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1118,17 +1243,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Nyalakan</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Nyalakan</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1144,6 +1264,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1197,15 +1339,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Pengendali Hard Disk (IDE)</translation>
+        <translation type="obsolete">Pengendali Hard Disk (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Pengendali Hard Disk (SATA)</translation>
+        <translation type="obsolete">Pengendali Hard Disk (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Pengendali Hard Disk (SCSI)</translation>
+        <translation type="obsolete">Pengendali Hard Disk (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1263,7 +1405,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Pengendali Hard Disk (SAS)</translation>
+        <translation type="obsolete">Pengendali Hard Disk (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1273,6 +1415,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>Inisialisasi ulang alamat MAC dari semua kartu ja&ringan</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1870,16 +2028,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1967,38 +2122,13 @@
 <context>
     <name>UIDownloaderUserManual</name>
     <message>
-        <source>Select folder to save User Manual to</source>
-        <translation>Pilih folder untuk menyimpan Manual Pengguna</translation>
-    </message>
-    <message>
-        <source>VirtualBox User Manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
+        <source>Select folder to save User Manual to</source>
+        <translation>Pilih folder untuk menyimpan Manual Pengguna</translation>
     </message>
     <message>
-        <source>Password</source>
-        <comment>password table field</comment>
+        <source>VirtualBox User Manual</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
 </context>
 <context>
     <name>UIExportApplianceWzd</name>
@@ -3001,18 +3131,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -3044,11 +3166,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3076,11 +3206,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Tambah paket</translation>
+        <translation type="obsolete">Tambah paket</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Hapus paket</translation>
+        <translation type="obsolete">Hapus paket</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3098,6 +3228,22 @@
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3142,15 +3288,15 @@
         <translation type="obsolete">Matikan &ScreenSaver Host</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3197,11 +3343,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3376,15 +3522,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>T&ambahkan jaringan hanya-host</translation>
+        <translation type="obsolete">T&ambahkan jaringan hanya-host</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Hapus jaringan hanya-host</translation>
+        <translation type="obsolete">&Hapus jaringan hanya-host</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Edit jaringan hanya-host</translation>
+        <translation type="obsolete">&Edit jaringan hanya-host</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -3516,15 +3662,51 @@
         <translation type="unfinished">Aktif</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3639,7 +3821,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Gunakan konfigurasi manual bagi adaptor jaringan hanya-host ini.</translation>
+        <translation type="obsolete">Gunakan konfigurasi manual bagi adaptor jaringan hanya-host ini.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3683,7 +3865,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Menandakan apakah Server DHCP diaktifkan saat startup mesin atau tidak.</translation>
+        <translation type="obsolete">Menandakan apakah Server DHCP diaktifkan saat startup mesin atau tidak.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3717,6 +3899,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Tampilkan batas atas alamat yang ditawarkan oleh server DHCP yang melayani jaringan yang diasosiasikan dengan adaptor hanya-host ini.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3729,10 +3919,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3757,32 +3943,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Buka dialog untuk mengelola aturan penerusan port.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Penerusan &Port</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Buka dialog untuk mengelola aturan penerusan port.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Penerusan &Port</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3816,7 +4010,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Ubah host proksi.</translation>
+        <translation type="obsolete">Ubah host proksi.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3824,7 +4018,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Ubah port proksi.</translation>
+        <translation type="obsolete">Ubah port proksi.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3858,6 +4052,14 @@
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3875,7 +4077,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Nyatakan seberapa sering pemeriksaan versi baru mesti dilakukan. Perhatikan bahwa bila Anda ingin mematikan pemeriksaan ini sepenuhnya, kosongkan saja kotak contreng di atas.</translation>
+        <translation type="obsolete">Nyatakan seberapa sering pemeriksaan versi baru mesti dilakukan. Perhatikan bahwa bila Anda ingin mematikan pemeriksaan ini sepenuhnya, kosongkan saja kotak contreng di atas.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3909,6 +4111,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Semua rilis baru dan &prarilis</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4279,7 +4485,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Mengindikasikan aktifitas media hard disk virtual:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Mengindikasikan aktifitas media hard disk virtual:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4356,7 +4562,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Mengindikasikan apakah keyboard tertangkap oleh Sistem Operasi guest (<img src=:/hostkey_captured_16px.png/>) atau tidak (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Mengindikasikan apakah keyboard tertangkap oleh Sistem Operasi guest (<img src=:/hostkey_captured_16px.png/>) atau tidak (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4402,6 +4608,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4422,11 +4637,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Pratinjau Monitor %1</translation>
+        <translation type="obsolete">Pratinjau Monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Snapshot %1</translation>
+        <translation type="obsolete">Snapshot %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -4446,32 +4661,16 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Tidak Ada Device USB Tersambung</translation>
+        <translation type="obsolete">Tidak Ada Device USB Tersambung</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Tidak ada device yang terdukung terkoneksi pada PC host</translation>
+        <translation type="obsolete">Tidak ada device yang terdukung terkoneksi pada PC host</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4489,7 +4688,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Mengendalikan driver keluaran suara. <b>Null Audio Driver</b> membuat guest dapat melihat sebuah kartu suara, namuan semua akses kepadanya akan diabaikan.</translation>
+        <translation type="obsolete">Mengendalikan driver keluaran suara. <b>Null Audio Driver</b> membuat guest dapat melihat sebuah kartu suara, namuan semua akses kepadanya akan diabaikan.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4499,6 +4698,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Pilih tipe kartu suara virtual. Bergantung pada nilai ini, VirtualBox akan menyediakan hardware suara yang berbeda ke mesin virtual.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4508,7 +4711,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4560,7 +4763,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Menentukan metode otentikasi VRDP.</translation>
+        <translation type="obsolete">Menentukan metode otentikasi VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4568,7 +4771,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Menyatakan timeout untuk otentikasi guest, dalam milidetik.</translation>
+        <translation type="obsolete">Menyatakan timeout untuk otentikasi guest, dalam milidetik.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4584,7 +4787,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Nomor port Server VRDP. Anda boleh menyatakan <tt>0</tt> (nol), untuk memilih port 3389, port standar bagi RDP.</translation>
+        <translation type="obsolete">Nomor port Server VRDP. Anda boleh menyatakan <tt>0</tt> (nol), untuk memilih port 3389, port standar bagi RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4596,11 +4799,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Menyatakan apakah beberapa koneksi simultan ke VM diijinkan.</translation>
+        <translation type="obsolete">Menyatakan apakah beberapa koneksi simultan ke VM diijinkan.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4635,46 +4838,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4683,10 +4858,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4738,10 +4909,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">ToolBar Mini:</translation>
     </message>
@@ -4787,21 +4954,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4813,6 +4976,70 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4822,7 +5049,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Tampilkan path dimana snapshot dari mesin virtual akan disimpan. Sadari bahwa snapshot dapat menghabiskan banyak ruang disk.</translation>
+        <translation type="obsolete">Tampilkan path dimana snapshot dari mesin virtual akan disimpan. Sadari bahwa snapshot dapat menghabiskan banyak ruang disk.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4997,10 +5224,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5037,6 +5260,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5058,15 +5289,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Bila ditandai, menampilkan ToolBar Mini dalam mode Fullscreen dan Seamless.</translation>
+        <translation type="obsolete">Bila ditandai, menampilkan ToolBar Mini dalam mode Fullscreen dan Seamless.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Tampilkan Dalam &Fullscreen/Seamless</translation>
+        <translation type="obsolete">Tampilkan Dalam &Fullscreen/Seamless</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Bila ditandai, menampilkan ToolBar Mini di puncak layar, bukan di posisi default di dasar layar.</translation>
+        <translation type="obsolete">Bila ditandai, menampilkan ToolBar Mini di puncak layar, bukan di posisi default di dasar layar.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5076,6 +5307,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5105,7 +5348,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Mengendalikan cara adaptor virtual ini dipasangkan pada jaringan OS Host yang sesungguhnya.</translation>
+        <translation type="obsolete">Mengendalikan cara adaptor virtual ini dipasangkan pada jaringan OS Host yang sesungguhnya.</translation>
     </message>
     <message>
         <source>Holds the name of the internal network selected for this adapter.</source>
@@ -5125,7 +5368,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Menunjukkan apakah kabel jaringan virtual tertancap saat mesin mulai menyala atau tidak.</translation>
+        <translation type="obsolete">Menunjukkan apakah kabel jaringan virtual tertancap saat mesin mulai menyala atau tidak.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5196,7 +5439,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Tampilkan atau sembunyikan opsi adaptor jaringan tambahan.</translation>
+        <translation type="obsolete">Tampilkan atau sembunyikan opsi adaptor jaringan tambahan.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5208,7 +5451,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Buka dialog untuk mengelola aturan penerusan port.</translation>
+        <translation type="obsolete">Buka dialog untuk mengelola aturan penerusan port.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5228,7 +5471,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Masukkan pengaturan konfigurasi di sini bagi driver sambungan jaringan yang akan Anda pakai. Pengaturan mesti dalam bentuk <b>nama=nilai</b> dan akan bergantung kepada driver. Gunakan <b>shift-enter</b> untuk menambah entri baru.</translation>
+        <translation type="obsolete">Masukkan pengaturan konfigurasi di sini bagi driver sambungan jaringan yang akan Anda pakai. Pengaturan mesti dalam bentuk <b>nama=nilai</b> dan akan bergantung kepada driver. Gunakan <b>shift-enter</b> untuk menambah entri baru.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5263,27 +5506,47 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No host-only network adapter is currently selected.</source>
+        <source>No host-only network adapter is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No generic driver is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No NAT network name is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No generic driver is currently selected.</source>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <source>Shows additional network adapter options.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No NAT network name is currently specified.</source>
+        <source>When checked, the virtual network cable is plugged in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5368,21 +5631,6 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Tampilkan alamat dasar port I/O dari port paralel ini. Nilai yang valid adalah bilangan bulat dalam jangkauan <tt>0</tt> hingga <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Nomor port duplikat dipilih </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Path port tidak dinyatakan </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Path port duplikat dimasukkan </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5405,6 +5653,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Nomor port duplikat dipilih </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Path port tidak dinyatakan </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Path port duplikat dimasukkan </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5412,42 +5675,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Tabel ini memuat daftar aturan penerusan port.</translation>
+        <translation type="obsolete">Tabel ini memuat daftar aturan penerusan port.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Sisipkan aturan baru</translation>
+        <translation type="obsolete">Sisipkan aturan baru</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Salin aturan yang dipilih</translation>
+        <translation type="obsolete">Salin aturan yang dipilih</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Hapus aturan yang dipilih</translation>
+        <translation type="obsolete">Hapus aturan yang dipilih</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Tombol ini menambahkan aturan baru penerusan port.</translation>
+        <translation type="obsolete">Tombol ini menambahkan aturan baru penerusan port.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Tombol ini menghapus aturan penerusan port yang dipilih.</translation>
+        <translation type="obsolete">Tombol ini menghapus aturan penerusan port yang dipilih.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Menambahkan sebuah definisi baru folder yang di share.</translation>
+        <translation type="obsolete">Menambahkan sebuah definisi baru folder yang di share.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edit definisi folder yang di share yang dipilih.</translation>
+        <translation type="obsolete">Edit definisi folder yang di share yang dipilih.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Hapus definisi folder yang di share yang dipilih.</translation>
+        <translation type="obsolete">Hapus definisi folder yang di share yang dipilih.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5483,15 +5746,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>T&ambah Folder Yang Di-Share</translation>
+        <translation type="obsolete">T&ambah Folder Yang Di-Share</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Edit Folder Yang Di-Share</translation>
+        <translation type="obsolete">&Edit Folder Yang Di-Share</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Hapus Folde&r Yang Di-Share</translation>
+        <translation type="obsolete">Hapus Folde&r Yang Di-Share</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5505,6 +5768,30 @@
         <source>Yes</source>
         <translation>Ya</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5554,7 +5841,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Bila ditandai, folder yang di-share ini akan permanen.</translation>
+        <translation type="obsolete">Bila ditandai, folder yang di-share ini akan permanen.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5602,7 +5893,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Mengendalikan mode kerja dari serial port ini. Bila Anda memilih <b>Terputus</b>, OS guest akan mendeteksi port serial tapi tidak akan dapat mengoperasikannya.</translation>
+        <translation type="obsolete">Mengendalikan mode kerja dari serial port ini. Bila Anda memilih <b>Terputus</b>, OS guest akan mendeteksi port serial tapi tidak akan dapat mengoperasikannya.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5629,10 +5920,6 @@
         <translation>Tampilkan alamat dasar port I/O dari port paralel ini. Nilai yang valid adalah bilangan bulat dalam jangkauan <tt>0</tt> hingga <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5644,20 +5931,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Nomor port duplikat dipilih </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Path port tidak dinyatakan</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Path port duplikat dimasukkan </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5681,6 +5961,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Nomor port duplikat dipilih </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Path port tidak dinyatakan</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Path port duplikat dimasukkan </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5716,11 +6011,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Kembangkan/Ringkaskan&nbsp:Item</nobr></translation>
+        <translation type="obsolete"><nobr>Kembangkan/Ringkaskan&nbsp:Item</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Tambah&nbsp;Hard&nbsp;Disk</nobr></translation>
+        <translation type="obsolete"><nobr>Tambah&nbsp;Hard&nbsp;Disk</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5780,19 +6075,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Tambahkan sebuah pengendali baru di akhir Pohon Penyimpanan.</translation>
+        <translation type="obsolete">Tambahkan sebuah pengendali baru di akhir Pohon Penyimpanan.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Hapus pengendali yang di-highlight pada Pohon Penyimpanan.</translation>
+        <translation type="obsolete">Hapus pengendali yang di-highlight pada Pohon Penyimpanan.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Tambahkan cantolan baru ke Pohon Penyimpanan memakai pengendali yang kini dipilih sebagai induk.</translation>
+        <translation type="obsolete">Tambahkan cantolan baru ke Pohon Penyimpanan memakai pengendali yang kini dipilih sebagai induk.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Hapus cantolan yang di-highlight dalam Pohon Penyimpanan.</translation>
+        <translation type="obsolete">Hapus cantolan yang di-highlight dalam Pohon Penyimpanan.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5820,7 +6115,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Memuat semua pengendali penyimpanan bagi mesin ini dan image virtual serta drive host ditancapkan ke mereka.</translation>
+        <translation type="obsolete">Memuat semua pengendali penyimpanan bagi mesin ini dan image virtual serta drive host ditancapkan ke mereka.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5840,7 +6135,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Ubah nama pengendali penyimpanan yang sedang dipilih di Pohon Penyimpanan.</translation>
+        <translation type="obsolete">Ubah nama pengendali penyimpanan yang sedang dipilih di Pohon Penyimpanan.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5888,7 +6183,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Mengijinkan pemakaian kapabilitas caching I/O host.</translation>
+        <translation type="obsolete">Mengijinkan pemakaian kapabilitas caching I/O host.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5912,7 +6207,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Image</translation>
+        <translation type="obsolete">Image</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5920,7 +6215,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Set up hard disk virtual</translation>
+        <translation type="obsolete">Set up hard disk virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5944,15 +6239,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Set up drive floppy virtual</translation>
+        <translation type="obsolete">Set up drive floppy virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Ciptakan sebuah hard disk baru...</translation>
+        <translation type="obsolete">Ciptakan sebuah hard disk baru...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Pilih file hard disk virtual...</translation>
+        <translation type="obsolete">Pilih file hard disk virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5964,11 +6259,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Pilih sebuah file floppy virtual...</translation>
+        <translation type="obsolete">Pilih sebuah file floppy virtual...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Saat ditandai, disk virtual tidak akan dihapus ketika sistem guest mengeluarkannya.</translation>
+        <translation type="obsolete">Saat ditandai, disk virtual tidak akan dihapus ketika sistem guest mengeluarkannya.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5976,7 +6271,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Saat ditandai, sistem guest akan melihat disk virtual sebagai device solid state.</translation>
+        <translation type="obsolete">Saat ditandai, sistem guest akan melihat disk virtual sebagai device solid state.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6049,47 +6344,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Image</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6121,12 +6481,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -6154,7 +6514,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Turunkan (Ctrl+Bawah)</translation>
+        <translation type="obsolete">Turunkan (Ctrl+Bawah)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6162,7 +6522,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Naikkan (Ctrl+Atas)</translation>
+        <translation type="obsolete">Naikkan (Ctrl+Atas)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6223,7 +6583,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPUs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPUs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6235,7 +6595,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Bila ditandai, device RTC akan melaporkan waktu dalam UTC, bila tidak, dalam waktu lokal (host). Unix biasanya mengharapkan jam hardware ditata ke UTC.</translation>
+        <translation type="obsolete">Bila ditandai, device RTC akan melaporkan waktu dalam UTC, bila tidak, dalam waktu lokal (host). Unix biasanya mengharapkan jam hardware ditata ke UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6280,12 +6640,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6343,56 +6703,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>T&ambahkan Filter Kosong</translation>
+        <translation type="obsolete">T&ambahkan Filter Kosong</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Tambahkan Filter &Dari Device</translation>
+        <translation type="obsolete">Tambahkan Filter &Dari Device</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Edit Filter</translation>
+        <translation type="obsolete">&Edit Filter</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Hapus Filte&r</translation>
+        <translation type="obsolete">Hapus Filte&r</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Naikkan Filter</translation>
+        <translation type="obsolete">&Naikkan Filter</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>T&urunkan Filter</translation>
+        <translation type="obsolete">T&urunkan Filter</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Menambahkan sebuah filter USB baru dengan semua field awal ditata sebagai string kosong. Perhatikan bahwa filter seperti itu akan cocok dengan device USB apapun yang terpasang.</translation>
+        <translation type="obsolete">Menambahkan sebuah filter USB baru dengan semua field awal ditata sebagai string kosong. Perhatikan bahwa filter seperti itu akan cocok dengan device USB apapun yang terpasang.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Menambahkan sebuah filter USB baru dengan semua field ditata sebagai nilai dari device USB terpilih terpasang pada PC host.</translation>
+        <translation type="obsolete">Menambahkan sebuah filter USB baru dengan semua field ditata sebagai nilai dari device USB terpilih terpasang pada PC host.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edit filter USB yang dipilih.</translation>
+        <translation type="obsolete">Edit filter USB yang dipilih.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Hapus filter USB yang dipilih.</translation>
+        <translation type="obsolete">Hapus filter USB yang dipilih.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Pindahkan filter USB yang dipilih ke atas.</translation>
+        <translation type="obsolete">Pindahkan filter USB yang dipilih ke atas.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Pindahkan filter USB yang dipilih ke bawah.</translation>
+        <translation type="obsolete">Pindahkan filter USB yang dipilih ke bawah.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6409,7 +6795,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Saat tertandai, menyalakan pengendali EHCI USB virtual pada mesin ini. Pengendali EHCI USB menyediakan dukungan USB 2.0.</translation>
+        <translation type="obsolete">Saat tertandai, menyalakan pengendali EHCI USB virtual pada mesin ini. Pengendali EHCI USB menyediakan dukungan USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6472,27 +6858,79 @@
         <translation type="obsolete">USB 2.0 kini diaktifkan bagi mesin virtual ini. Namun, ini memerlukan instalasi <b>%1</b>. Silakan instal Extension Pack dari situs download VirtualBox. Setelah ini Anda akan dapat mengaktifkan ulang USB 2.0. Ini akan dimatikan sementara kecuali Anda membatalkan perubahan pengaturan kini.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Tambahkan Filter Kosong</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Tambahkan Filter dari Device</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Hapus Filter</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Naikkan Filter</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Turunkan Filter</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6527,7 +6965,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter ID vendor. Format string <i>cocok eksak</i> adalah <tt>XXXX</tt> dimana <tt>X</tt> adalah digit heksadesimal. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter ID vendor. Format string <i>cocok eksak</i> adalah <tt>XXXX</tt> dimana <tt>X</tt> adalah digit heksadesimal. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6535,7 +6973,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter ID produk. Format string <i>cocok eksak</i> adalah <tt>XXXX</tt> dimana <tt>X</tt> adalah digit heksadesimal. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter ID produk. Format string <i>cocok eksak</i> adalah <tt>XXXX</tt> dimana <tt>X</tt> adalah digit heksadesimal. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6543,7 +6981,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter nomor revisi. Format string <i>cocok eksak</i> adalah <tt>IIFF</tt> dimana <tt>I</tt> adalah digit desimal dari bagian integer dan <tt>F</tt> adalah digit desimal dari bagian pecahan. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter nomor revisi. Format string <i>cocok eksak</i> adalah <tt>IIFF</tt> dimana <tt>I</tt> adalah digit desimal dari bagian integer dan <tt>F</tt> adalah digit desimal dari bagian pecahan. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6551,7 +6989,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter pabrikan sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter pabrikan sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6559,7 +6997,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter nama produk sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter nama produk sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6567,7 +7005,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter nomor seri sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter nomor seri sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6575,27 +7013,59 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Mendefinisikan filter port USB sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
+        <translation type="obsolete">Mendefinisikan filter port USB sebagai suatu string <i>cocok eksak</i>. String kosong akan cocok dengan sebarang nilai.</translation>
     </message>
     <message>
         <source>R&emote:</source>
         <translation>R&emote:</translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Menentukan apakah filter ini diterapkan ke device USB yang tersambung secara lokal ke komputer host (<i>Tidak</i>), ke klien VRDP komputer (<i>Ya</i>), atau keduanya (<i>Apa saja</a>).</translation>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Menentukan apakah filter ini diterapkan ke device USB yang tersambung secara lokal ke komputer host (<i>Tidak</i>), ke klien VRDP komputer (<i>Ya</i>), atau keduanya (<i>Apa saja</a>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">Tind&akan:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Menentukan tindakan yang dilakukan oleh komputer host ketika device yang cocok disambungkan: menyerahkannya ke OS host (<i>Abaikan</i>) atau menangkapnya untuk dipakai nanti oleh mesin virtual (<i>Tahan</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Rincian Filter USB</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">Tind&akan:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Menentukan tindakan yang dilakukan oleh komputer host ketika device yang cocok disambungkan: menyerahkannya ke OS host (<i>Abaikan</i>) atau menangkapnya untuk dipakai nanti oleh mesin virtual (<i>Tahan</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Rincian Filter USB</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6615,10 +7085,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6638,6 +7104,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7247,7 +7717,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Tidak dapat mengubah tampilan guest display menjadi mode fullscreen dikarenakan ketidakcukupan memori video guest.</p><p>Anda harus mengkonfigurasi mesin virtual agar memiliki setidaknya memori video sebesar<b>%1</b>.</p><p>Tekan <b>Abaikan</b> untuk tetap beralih ke mode fullscreen atau tekan <b>Batal</b> untuk membatalkan tindakan.</p></translation>
+        <translation type="obsolete"><p>Tidak dapat mengubah tampilan guest display menjadi mode fullscreen dikarenakan ketidakcukupan memori video guest.</p><p>Anda harus mengkonfigurasi mesin virtual agar memiliki setidaknya memori video sebesar<b>%1</b>.</p><p>Tekan <b>Abaikan</b> untuk tetap beralih ke mode fullscreen atau tekan <b>Batal</b> untuk membatalkan tindakan.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7357,7 +7827,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Apakah Anda ingin menghapus unit penyimpanan hard disk <nobr><b>%1</b> ini?</nobr></p><p>Bila Anda memilih <b>Hapus</b> maka unit penyimpanan yang dinyatakan akan dihapus secara permanen. Tindakan ini <b>tidak dapat dibatalkan</b>.</p><p>Bila Anda memilih <b>Pertahankan</b> maka hard disk hanya akan dihapus dari daftar hard disk yang dikenal, tapi unit penyimpanan akan dibiar [...]
+        <translation type="obsolete"><p>Apakah Anda ingin menghapus unit penyimpanan hard disk <nobr><b>%1</b> ini?</nobr></p><p>Bila Anda memilih <b>Hapus</b> maka unit penyimpanan yang dinyatakan akan dihapus secara permanen. Tindakan ini <b>tidak dapat dibatalkan</b>.</p><p>Bila Anda memilih <b>Pertahankan</b> maka hard disk hanya akan dihapus dari daftar hard disk yang dikenal, tapi unit penyimp [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7540,7 +8010,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Menghapus snapshot akan menyebabkan informasi keadaan yang disimpan di dalamnya hilang, dan data disk yang disebar ke beberapa file image yang telah dibuat oleh VirtualBox, bersama dengan snapshot akan digabung ke dalam satu file. Proses ini bisa makan waktu lama, dan informasi di dalam snapshot tidak dapat diambil kembali.</p><p>Apakah Anda yakin hendak menghapus snapshot <b>%1</b>yang dipilih?</p></translation>
+        <translation type="obsolete"><p>Menghapus snapshot akan menyebabkan informasi keadaan yang disimpan di dalamnya hilang, dan data disk yang disebar ke beberapa file image yang telah dibuat oleh VirtualBox, bersama dengan snapshot akan digabung ke dalam satu file. Proses ini bisa makan waktu lama, dan informasi di dalam snapshot tidak dapat diambil kembali.</p><p>Apakah Anda yakin hendak menghapus snapshot <b>%1</b>yang dipilih?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7646,7 +8116,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Menghapus snapshot %1 akan perlu lebih banyak ruang disk untuk sementara. Pada kasus terburuk ukurang image %2 akan bertambah %3, namun pada sistem file ini hanya ada ruang bebas %4.</p><p>Kehabisan ruang disk selama operasi penggabungan akan menghasilkan kerusakan image dan konfigurasi VM, yaitu hilangnya VM dan datanya.</p><p>Anda dapat melanjutkan penghapusan snapshot dengan risiko yang Anda tanggung sendiri.</p></translation>
+        <translation type="obsolete"><p>Menghapus snapshot %1 akan perlu lebih banyak ruang disk untuk sementara. Pada kasus terburuk ukurang image %2 akan bertambah %3, namun pada sistem file ini hanya ada ruang bebas %4.</p><p>Kehabisan ruang disk selama operasi penggabungan akan menghasilkan kerusakan image dan konfigurasi VM, yaitu hilangnya VM dan datanya.</p><p>Anda dapat melanjutkan penghapusan snapshot dengan risiko yang Anda tanggung sendiri.</p& [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7806,11 +8276,6 @@
         <translation type="obsolete"><p>VirtualBox Guest Addition sepertinya tak tak tersedia pada mesin virtual ini, dan folder shared tak dapat dipakai tanpanya. Untuk memakai shared folder di dalam mesin virtual, silakan install Guest Addition bila belum dipasang, atau install ulang bila tidak bekerja dengan benar, dengan memilih <b>Install Guest Addition</b> dari menu <b>Device</b>. Bila sudah dipasang tapi mesin belum dimulai secara penuh maka shared fo [...]
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translatorcomment><p>Window mesin virtual akan ditukar ke mode <b>Fullscreen</b>. Anda dapat kembali ke mode windowed kapanpun dengan menekan <b>%1</b>.</p><p>Perhatikan bahwa tombol <i>Host</i> kini didefinisikan sebagai <b>%2</b>.</p><p>Perhatikan bahwa bar manu utama tersembunyi dalam mode fullscreen. Anda dapat mengaksesnya dengan menekan <b>Host+Home</b>.</p></translatorcomment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation><p>Window mesin virtual akan ditukar ke mode <b>Seamless</b>. Anda dapat kembali ke mode windowed kapanpun dengan menekan <b>%1</b>.</p><p>Perhatikan bahwa tombol <i>Host</i> kini didefinisikan sebagai <b>%2</b>.</p><p>Perhatikan bahwa bar manu utama tersembunyi dalam mode fullscreen. Anda dapat mengaksesnya dengan menekan <b>Host+Home</b>.</p></translation>
     </message>
@@ -8040,10 +8505,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8152,18 +8613,6 @@
         <translation type="unfinished">&Pilih disk</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8203,30 +8652,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8344,10 +8769,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8419,6 +8840,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9321,27 +9782,82 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nama</translation>
+        <translation type="obsolete">Nama</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP Host</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Port Host</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP Guest</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Port Guest</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nama</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokol</translation>
+        <translation type="unfinished">Protokol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP Host</translation>
+        <translation type="unfinished">IP Host</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Port Host</translation>
+        <translation type="unfinished">Port Host</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP Guest</translation>
+        <translation type="unfinished">IP Guest</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Port Guest</translation>
+        <translation type="unfinished">Port Guest</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9565,13 +10081,6 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9581,6 +10090,10 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10071,96 +10584,96 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Copy</source>
         <translation type="unfinished">Salin</translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dialokasikan secara dinamis</translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">Ukuran &tetap</translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Pecah ke dalam file kurang dari 2GB</translation>
+    </message>
+    <message>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
+        <translation type="unfinished">salinan_%1</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dialokasikan secara dinamis</translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">Ukuran &tetap</translation>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Pecah ke dalam file kurang dari 2GB</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
-        <translation type="unfinished">salinan_%1</translation>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10203,10 +10716,6 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10262,6 +10771,10 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10525,83 +11038,83 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Create</source>
         <translation type="unfinished">Buat</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dialokasikan secara dinamis</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">Ukuran &tetap</translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Pecah ke dalam file kurang dari 2GB</translation>
+    </message>
+    <message>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dialokasikan secara dinamis</translation>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">Ukuran &tetap</translation>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Pecah ke dalam file kurang dari 2GB</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10652,31 +11165,31 @@ langkah ini dan memasang hard disk pada waktu lain menggunakan dialog Setting Me
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11626,7 +12139,7 @@ Versi %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Buka dialog untuk memilih folder lain.</translation>
+        <translation type="obsolete">Buka dialog untuk memilih folder lain.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11634,7 +12147,7 @@ Versi %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Buka dialog untuk memilih file lain.</translation>
+        <translation type="obsolete">Buka dialog untuk memilih file lain.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11646,16 +12159,32 @@ Versi %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Silakan ketik path folder di sini.</translation>
+        <translation type="obsolete">Silakan ketik path folder di sini.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Silakan ketik path file di sini.</translation>
+        <translation type="obsolete">Silakan ketik path file di sini.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12797,7 +13326,7 @@ Versi %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Pencantolan hard disk ini akan dilakukan secara tidak langsung menggunakan hard disk pembeda yang baru dibuat.</translation>
+        <translation type="unfinished">Pencantolan hard disk ini akan dilakukan secara tidak langsung menggunakan hard disk pembeda yang baru dibuat.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12807,7 +13336,7 @@ Versi %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Hard disk dasar ini dicantolkan secara tidak langsung memakai hard disk pembeda berikut:</translation>
+        <translation type="unfinished">Hard disk dasar ini dicantolkan secara tidak langsung memakai hard disk pembeda berikut:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13336,14 +13865,6 @@ Versi %1</translation>
         <translation type="unfinished">Deskripsi</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13384,10 +13905,6 @@ Versi %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -13565,25 +14082,27 @@ Versi %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15334,7 +15853,7 @@ untuk mengaksesnya dari sebuah SIstem Operasi Linux. Fitur ini membutuhkan Guest
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Tunjukkan rincian dari snapshot yang dipilih</translation>
+        <translation type="obsolete">Tunjukkan rincian dari snapshot yang dipilih</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -15354,11 +15873,11 @@ untuk mengaksesnya dari sebuah SIstem Operasi Linux. Fitur ini membutuhkan Guest
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Kembalikan snapshot dari mesin virtual yang dipilih</translation>
+        <translation type="obsolete">Kembalikan snapshot dari mesin virtual yang dipilih</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Hapus snapshot dari mesin virtual yang dipilih</translation>
+        <translation type="obsolete">Hapus snapshot dari mesin virtual yang dipilih</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15370,7 +15889,23 @@ untuk mengaksesnya dari sebuah SIstem Operasi Linux. Fitur ini membutuhkan Guest
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Buat klon dari mesin virtual yang dipilih</translation>
+        <translation type="obsolete">Buat klon dari mesin virtual yang dipilih</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15424,6 +15959,10 @@ untuk mengaksesnya dari sebuah SIstem Operasi Linux. Fitur ini membutuhkan Guest
             <numerusform>Peringatan: Anda sedang mengambil snapshot dari mesin yang sedang berjalan yang ditempeli %n image tak dapat diubah. Selama Anda bekerja dari snapshot ini, image yang tak dapat diubah tak akan di-reset untuk menghindari kehilangan data.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Snapshot %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBFilterSettings</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
index 7bc7820..5c53638 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts
@@ -292,7 +292,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Ridimensiona automaticamente lo schermo del guest quando la finestra viene ridimensionata (richiede le Guest Additions)</translation>
+        <translation type="obsolete">Ridimensiona automaticamente lo schermo del guest quando la finestra viene ridimensionata (richiede le Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -336,7 +336,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Mostra la finestra Informazioni di sessione</translation>
+        <translation type="obsolete">Mostra la finestra Informazioni di sessione</translation>
     </message>
     <message>
         <source>&Pause</source>
@@ -360,7 +360,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Invia l'evento ACPI Power Button press alla macchina virtuale</translation>
+        <translation type="obsolete">Invia l'evento ACPI Power Button press alla macchina virtuale</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -396,7 +396,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Cambia le impostazioni delle schede di rete</translation>
+        <translation type="obsolete">Cambia le impostazioni delle schede di rete</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -404,7 +404,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Apri la finestra per gestire le cartelle condivise</translation>
+        <translation type="obsolete">Apri la finestra per gestire le cartelle condivise</translation>
     </message>
     <message>
         <source>&Insert Guest Additions CD image...</source>
@@ -412,7 +412,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Inserisci il file del disco delle Guest Additions nel lettore virtuale</translation>
+        <translation type="obsolete">Inserisci il file del disco delle Guest Additions nel lettore virtuale</translation>
     </message>
     <message>
         <source>De&bug</source>
@@ -491,7 +491,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Gestisci le impostazioni della macchina virtuale</translation>
+        <translation type="obsolete">Gestisci le impostazioni della macchina virtuale</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -642,11 +642,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Preferenze...</translation>
+        <translation type="obsolete">&Preferenze...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Mostra la finestra delle impostazioni globali</translation>
+        <translation type="obsolete">Mostra la finestra delle impostazioni globali</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -662,7 +662,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Crea una nuova macchina virtuale</translation>
+        <translation type="obsolete">Crea una nuova macchina virtuale</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -670,7 +670,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Aggiungi una macchina virtuale esistente</translation>
+        <translation type="obsolete">Aggiungi una macchina virtuale esistente</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -678,7 +678,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la macchina virtuale selezionata</translation>
+        <translation type="obsolete">Clona la macchina virtuale selezionata</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -718,11 +718,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">A&ggiorna</translation>
+        <translation type="unfinished">A&ggiorna</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Aggiorna lo stato di accessibilità della macchina virtuale selezionata</translation>
+        <translation type="obsolete">Aggiorna lo stato di accessibilità della macchina virtuale selezionata</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -730,11 +730,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Mostra il file di log della macchina virtuale selezionata</translation>
+        <translation type="obsolete">Mostra il file di log della macchina virtuale selezionata</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Mostra in Finder</translation>
+        <translation type="obsolete">Mostra in Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -742,7 +742,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Mostra in Explorer</translation>
+        <translation type="obsolete">Mostra in Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -750,15 +750,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Mostra nel gestore file</translation>
+        <translation type="obsolete">Mostra nel gestore file</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Mostra il file di definizione della macchina di VirtualBox nel gestore file</translation>
+        <translation type="obsolete">Mostra il file di definizione della macchina di VirtualBox nel gestore file</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Crea alias sul desktop</translation>
+        <translation type="obsolete">Crea alias sul desktop</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -766,7 +766,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Crea scorciatoia sul desktop</translation>
+        <translation type="obsolete">Crea scorciatoia sul desktop</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -782,7 +782,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Cattura una schermata della macchina virtuale</translation>
+        <translation type="obsolete">Cattura una schermata della macchina virtuale</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -842,7 +842,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Mostra il gestore delle operazioni di rete</translation>
+        <translation type="obsolete">Mostra il gestore delle operazioni di rete</translation>
     </message>
     <message>
         <source>C&heck for updates...</source>
@@ -858,7 +858,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Mostra una finestra con le informazioni sul prodotto</translation>
+        <translation type="obsolete">Mostra una finestra con le informazioni sul prodotto</translation>
     </message>
     <message>
         <source>&Group</source>
@@ -878,7 +878,7 @@
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Rinomina il gruppo di macchine virtuali selezionato</translation>
+        <translation type="obsolete">Rinomina il gruppo di macchine virtuali selezionato</translation>
     </message>
     <message>
         <source>&Break group...</source>
@@ -890,7 +890,7 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>A&ggiorna...</translation>
+        <translation type="obsolete">A&ggiorna...</translation>
     </message>
     <message>
         <source>Create alias on desktop</source>
@@ -922,7 +922,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Aggiungi un nuovo gruppo basato sugli elementi selezionati</translation>
+        <translation type="obsolete">Aggiungi un nuovo gruppo basato sugli elementi selezionati</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -930,7 +930,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>S&carta lo stato salvato...</translation>
+        <translation type="obsolete">S&carta lo stato salvato...</translation>
     </message>
     <message>
         <source>Sort parent group</source>
@@ -970,7 +970,7 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Ordina alfabeticamente gli elementi del gruppo di macchine virtuali selezionato</translation>
+        <translation type="obsolete">Ordina alfabeticamente gli elementi del gruppo di macchine virtuali selezionato</translation>
     </message>
     <message>
         <source>&Add Group...</source>
@@ -978,43 +978,43 @@
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Rimuovi le macchine virtuali selezionate</translation>
+        <translation type="obsolete">Rimuovi le macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Avvia le macchine virtuali selezionate</translation>
+        <translation type="obsolete">Avvia le macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Passa alla finestre delle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Passa alla finestre delle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Sospendi l'esecuzione delle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Sospendi l'esecuzione delle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reset delle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Reset delle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Scarta lo stato salvato delle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Scarta lo stato salvato delle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Mostra il file di definizione della macchina di VirtualBox in Finder</translation>
+        <translation type="obsolete">Mostra il file di definizione della macchina di VirtualBox in Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Mostra il file di definizione della macchina di VirtualBox in Explorer</translation>
+        <translation type="obsolete">Mostra il file di definizione della macchina di VirtualBox in Explorer</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea un alias per il file di definizione della macchina di VirtualBox sul desktop</translation>
+        <translation type="obsolete">Crea un alias per il file di definizione della macchina di VirtualBox sul desktop</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Crea una scorciatoia al file di definizione della macchina di VirtualBox sul desktop</translation>
+        <translation type="obsolete">Crea una scorciatoia al file di definizione della macchina di VirtualBox sul desktop</translation>
     </message>
     <message>
         <source>Sort Parent Group</source>
@@ -1022,19 +1022,19 @@
     </message>
     <message>
         <source>Save State</source>
-        <translation>Salva stato</translation>
+        <translation type="obsolete">Salva stato</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Salva lo stato delle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Salva lo stato delle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Invia l'evento ACPI Power Button press alle macchine virtuali selezionate</translation>
+        <translation type="obsolete">Invia l'evento ACPI Power Button press alle macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Spegni le macchine virtuali selezionate</translation>
+        <translation type="obsolete">Spegni le macchine virtuali selezionate</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -1046,15 +1046,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Separa gr&uppo...</translation>
+        <translation type="obsolete">Separa gr&uppo...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Separa gli elementi del gruppo di macchine virtuali selezionato</translation>
+        <translation type="obsolete">Separa gli elementi del gruppo di macchine virtuali selezionato</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Ordina</translation>
+        <translation type="obsolete">Ordina</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -1062,7 +1062,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Ordina alfabeticamente il gruppo della prima macchina selezionata</translation>
+        <translation type="obsolete">Ordina alfabeticamente il gruppo della prima macchina selezionata</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -1074,7 +1074,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Salva lo stato della macchina virtuale</translation>
+        <translation type="obsolete">Salva lo stato della macchina virtuale</translation>
     </message>
     <message>
         <source>&Network Settings...</source>
@@ -1090,7 +1090,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Attiva le connessioni di desktop remoto (RDP) a questa macchina</translation>
+        <translation type="obsolete">Attiva le connessioni di desktop remoto (RDP) a questa macchina</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -1098,7 +1098,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Attiva l'acquisizione video</translation>
+        <translation type="obsolete">Attiva l'acquisizione video</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -1106,7 +1106,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Configura le impostazioni dell'acquisizione video</translation>
+        <translation type="obsolete">Configura le impostazioni dell'acquisizione video</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -1128,7 +1128,7 @@
     </message>
     <message>
         <source>Network</source>
-        <translation>Rete</translation>
+        <translation type="obsolete">Rete</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -1148,7 +1148,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>Minimizza la finestra della macchina attiva</translation>
+        <translation type="obsolete">Minimizza la finestra della macchina attiva</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1172,7 +1172,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>Apre la finestra per configurare la barra dei menu</translation>
+        <translation type="obsolete">Apre la finestra per configurare la barra dei menu</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -1180,7 +1180,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>Commuta la visibilità della barra dei menu per questa macchina</translation>
+        <translation type="obsolete">Commuta la visibilità della barra dei menu per questa macchina</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -1192,7 +1192,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>Apre la finestra per configurare la barra di stato</translation>
+        <translation type="obsolete">Apre la finestra per configurare la barra di stato</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -1200,7 +1200,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>Commuta la visibilità della barra di stato per questa macchina</translation>
+        <translation type="obsolete">Commuta la visibilità della barra di stato per questa macchina</translation>
     </message>
     <message>
         <source>S&cale Factor</source>
@@ -1220,11 +1220,11 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>Visualizza la finestra delle impostazioni globali per configurare le scorciatoie</translation>
+        <translation type="obsolete">Visualizza la finestra delle impostazioni globali per configurare le scorciatoie</translation>
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>&Inserisci %1</translation>
+        <translation type="obsolete">&Inserisci %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1244,15 +1244,15 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>&Dischi fissi</translation>
+        <translation type="obsolete">&Dischi fissi</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>Impostazioni dei &dischi fissi...</translation>
+        <translation type="obsolete">Impostazioni dei &dischi fissi...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>Cambia le impostazioni dei dischi fissi</translation>
+        <translation type="obsolete">Cambia le impostazioni dei dischi fissi</translation>
     </message>
     <message>
         <source>&Optical Drives</source>
@@ -1272,11 +1272,11 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>Cambia le impostazioni dei dispositivi USB</translation>
+        <translation type="obsolete">Cambia le impostazioni dei dispositivi USB</translation>
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>Trascinamento e rilascio</translation>
+        <translation type="obsolete">Trascinamento e rilascio</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1310,7 +1310,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>Avvia le macchine virtuali selezionate sullo sfondo</translation>
+        <translation type="obsolete">Avvia le macchine virtuali selezionate sullo sfondo</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1318,7 +1318,312 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>Avvia le macchine virtuali selezionate con la possibilità di proseguire l'esecuzione sullo sfondo</translation>
+        <translation type="obsolete">Avvia le macchine virtuali selezionate con la possibilità di proseguire l'esecuzione sullo sfondo</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferenze...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">&Inserisci %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Hard disk</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Abilita</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Ridimensiona a %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Anteprima monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Nessun dispositivo USB connesso</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Nessuna webcam connessa</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Nessuna webcam supportata è connessa al PC host</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1326,17 +1631,17 @@
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>Abilita</translation>
+        <translation type="obsolete">Abilita</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>Ridimensiona a %1x%2</translation>
+        <translation type="obsolete">Ridimensiona a %1x%2</translation>
     </message>
 </context>
 <context>
@@ -1360,6 +1665,29 @@
             <numerusform>Questa macchina virtuale è protetta da password. Digita le %n password di cifratura di seguito.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Stato</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Password</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1413,15 +1741,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controller disco fisso (IDE)</translation>
+        <translation type="obsolete">Controller disco fisso (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controller disco fisso (SATA)</translation>
+        <translation type="obsolete">Controller disco fisso (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controller disco fisso (SCSI)</translation>
+        <translation type="obsolete">Controller disco fisso (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1465,7 +1793,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Controller del disco fisso (SAS)</translation>
+        <translation type="obsolete">Controller del disco fisso (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1479,6 +1807,22 @@
         <source>MB</source>
         <translation type="obsolete">MB</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2170,7 +2514,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>Recupero dei dati in corso...</translation>
+        <translation type="obsolete">Recupero dei dati in corso...</translation>
     </message>
 </context>
 <context>
@@ -2179,6 +2523,10 @@
         <source>Dropping data ...</source>
         <translation>Rimozione dati in corso...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">Recupero dei dati in corso...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2300,22 +2648,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>Stato</translation>
+        <translation type="obsolete">Stato</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>Password</translation>
+        <translation type="obsolete">Password</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>Utilizzato dal seguente disco fisso:</nobr><br>%1</numerusform>
             <numerusform><nobr>Utilizzato dai seguenti %n dischi fissi:</nobr><br>%1</numerusform>
         </translation>
@@ -3765,7 +4113,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Specifica la larghezza massima che vogliamo utilizzare per il guest.</translation>
+        <translation type="obsolete">Specifica la larghezza massima che vogliamo utilizzare per il guest.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3773,7 +4121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Specifica l'altezza massima che vogliamo utilizzare per il guest.</translation>
+        <translation type="obsolete">Specifica l'altezza massima che vogliamo utilizzare per il guest.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3808,12 +4156,24 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>Se marcata, le finestre delle macchine saranno alzate quando il puntatore del mouse le sorvola.</translation>
+        <translation type="obsolete">Se marcata, le finestre delle macchine saranno alzate quando il puntatore del mouse le sorvola.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>Alza la finest&ra sotto il mouse</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -3839,11 +4199,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Aggiungi pacchetto</translation>
+        <translation type="obsolete">Aggiungi pacchetto</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Rimuovi pacchetto</translation>
+        <translation type="obsolete">Rimuovi pacchetto</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3861,6 +4221,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>Pacchetti di &estensione</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3934,7 +4310,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>Salvaschermo &host:</translation>
+        <translation type="obsolete">Salvaschermo &host:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3942,7 +4318,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Disabilita durante l'esecuzione delle macchine virtuali</translation>
+        <translation type="obsolete">Disabilita durante l'esecuzione delle macchine virtuali</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3997,11 +4381,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Elenca tutte le scorciatoie disponibili che sono state configurate.</translation>
+        <translation type="obsolete">Elenca tutte le scorciatoie disponibili che sono state configurate.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Digita una sequenza per filtrare l'elenco delle scorciatoie.</translation>
+        <translation type="obsolete">Digita una sequenza per filtrare l'elenco delle scorciatoie.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4175,15 +4567,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Aggiungi rete solo host</translation>
+        <translation type="obsolete">&Aggiungi rete solo host</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Rimuovi rete solo host</translation>
+        <translation type="obsolete">&Rimuovi rete solo host</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Modifica rete solo host</translation>
+        <translation type="obsolete">&Modifica rete solo host</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -4330,15 +4722,63 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Aggiungi rete con NAT</translation>
+        <translation type="obsolete">&Aggiungi rete con NAT</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Rimuovi rete con NAT</translation>
+        <translation type="obsolete">&Rimuovi rete con NAT</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>Modifica r&ete con NAT</translation>
+        <translation type="obsolete">Modifica r&ete con NAT</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4452,7 +4892,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Usa la configurazione manuale per questa scheda di rete solo host.</translation>
+        <translation type="obsolete">Usa la configurazione manuale per questa scheda di rete solo host.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4496,7 +4936,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Indica se il server DHCP è abilitato all'avvio della macchina o meno.</translation>
+        <translation type="obsolete">Indica se il server DHCP è abilitato all'avvio della macchina o meno.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4530,6 +4970,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Contiene l'indirizzo limite superiore offerto dal server DHCP che gestisce la rete associata a questa scheda solo host.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4543,7 +4991,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Abilita questa rete con NAT.</translation>
+        <translation type="obsolete">Abilita questa rete con NAT.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4571,7 +5019,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Specifica se questa rete supporta il DHCP.</translation>
+        <translation type="obsolete">Specifica se questa rete supporta il DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4579,7 +5027,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Specifica se questa rete supporta IPv6.</translation>
+        <translation type="obsolete">Specifica se questa rete supporta IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4587,16 +5035,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Specifica se questa rete deve essere pubblicata come la rotta predefinita IPv6.</translation>
+        <translation type="obsolete">Specifica se questa rete deve essere pubblicata come la rotta predefinita IPv6.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Apre una finestra per la gestione delle regole di inoltro delle porte.</translation>
+        <translation type="obsolete">Apre una finestra per la gestione delle regole di inoltro delle porte.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>Inoltro delle &porte</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4629,7 +5097,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Cambia l'host del proxy.</translation>
+        <translation type="obsolete">Cambia l'host del proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4637,7 +5105,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Cambia la porta del proxy.</translation>
+        <translation type="obsolete">Cambia la porta del proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4671,6 +5139,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>Nessuna porta del proxy è attualmente specificata.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4688,7 +5164,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Specifica quanto spesso sarà eseguito il controllo della presenza di nuove versioni. Se si desidera disabilitare completamente questo controllo, è sufficiente deselezionare la precedente casella.</translation>
+        <translation type="obsolete">Specifica quanto spesso sarà eseguito il controllo della presenza di nuove versioni. Se si desidera disabilitare completamente questo controllo, è sufficiente deselezionare la precedente casella.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4722,6 +5198,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Tutte le versioni finali e &pre-rilascio</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -5140,7 +5620,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indica l'attività dei dischi fissi virtuali:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indica l'attività dei dischi fissi virtuali:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -5213,7 +5693,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica se la tastiera è acquisita dal sistema guest (<img src=:/hostkey_captured_16px.png/>) o meno (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica se la tastiera è acquisita dal sistema guest (<img src=:/hostkey_captured_16px.png/>) o meno (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -5268,6 +5748,15 @@ p, li { white-space: pre-wrap; }
         <source><p style='white-space:pre'><nobr>Indicates the activity of the display:</nobr>%1</p></source>
         <translation><p style='white-space:pre'><nobr>Indica l'attività dello schermo:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -5284,11 +5773,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Anteprima monitor %1</translation>
+        <translation type="obsolete">Anteprima monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Istantanea %1</translation>
+        <translation type="obsolete">Istantanea %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -5308,11 +5797,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Nessun dispositivo USB connesso</translation>
+        <translation type="obsolete">Nessun dispositivo USB connesso</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nessun dispositivo supportato è connesso al PC host</translation>
+        <translation type="obsolete">Nessun dispositivo supportato è connesso al PC host</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -5336,19 +5825,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Nessuna webcam connessa</translation>
+        <translation type="obsolete">Nessuna webcam connessa</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>Nessuna webcam supportata è connessa al PC host</translation>
+        <translation type="obsolete">Nessuna webcam supportata è connessa al PC host</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>Connetti scheda di rete</translation>
+        <translation type="obsolete">Connetti scheda di rete</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>Connetti scheda di rete %1</translation>
+        <translation type="obsolete">Connetti scheda di rete %1</translation>
     </message>
 </context>
 <context>
@@ -5367,7 +5856,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controlla il driver di uscita audio. Il <b>Driver audio Null</b> fa in modo che il guest veda una scheda audio, ogni accesso ad essa sarà comunque ignorato.</translation>
+        <translation type="obsolete">Controlla il driver di uscita audio. Il <b>Driver audio Null</b> fa in modo che il guest veda una scheda audio, ogni accesso ad essa sarà comunque ignorato.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -5377,6 +5866,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Seleziona il tipo di scheda audio virtuale. A seconda di questo valore, VirtualBox fornirà hardware audio virtuale diverso alla macchina virtuale.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -5386,7 +5879,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5438,7 +5931,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Definisce il metodo di autenticazione VRDP.</translation>
+        <translation type="obsolete">Definisce il metodo di autenticazione VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5446,7 +5939,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Specifica il timeout per l'autenticazione del guest, in millisecondi.</translation>
+        <translation type="obsolete">Specifica il timeout per l'autenticazione del guest, in millisecondi.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5462,7 +5955,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Il numero di porta del server VRDP. Puoi specificare <tt>0</tt> (zero), per selezionare la porta 3389, la porta standard per RDP.</translation>
+        <translation type="obsolete">Il numero di porta del server VRDP. Puoi specificare <tt>0</tt> (zero), per selezionare la porta 3389, la porta standard per RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5474,11 +5967,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Specifica se sono consentite connessioni simultanee multiple alla MV.</translation>
+        <translation type="obsolete">Specifica se sono consentite connessioni simultanee multiple alla MV.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5522,7 +6015,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Questa impostazione specifica il nome del file che VirtualBox utilizza per salvare il contenuto registrato.</translation>
+        <translation type="obsolete">Questa impostazione specifica il nome del file che VirtualBox utilizza per salvare il contenuto registrato.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5530,15 +6023,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Questa impostazione specifica la risoluzione (dimensione dei fotogrammi) del video registrato.</translation>
+        <translation type="obsolete">Questa impostazione specifica la risoluzione (dimensione dei fotogrammi) del video registrato.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Questa impostazione specifica la risoluzione <b>orizzontale</b> (larghezza dei fotogrammi) del video registrato.</translation>
+        <translation type="obsolete">Questa impostazione specifica la risoluzione <b>orizzontale</b> (larghezza dei fotogrammi) del video registrato.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Questa impostazione specifica la risoluzione <b>verticale</b> (altezza dei fotogrammi) del video registrato.</translation>
+        <translation type="obsolete">Questa impostazione specifica la risoluzione <b>verticale</b> (altezza dei fotogrammi) del video registrato.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5546,7 +6039,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Questa impostazione specifica il numero massimo di <b>fotogrammi al secondo</b>. I fotogrammi aggiuntivi saranno ignorati. La riduzione di questo valore aumenterà il numero di fotogrammi ignorati e riduce le dimensioni del file.</translation>
+        <translation type="obsolete">Questa impostazione specifica il numero massimo di <b>fotogrammi al secondo</b>. I fotogrammi aggiuntivi saranno ignorati. La riduzione di questo valore aumenterà il numero di fotogrammi ignorati e riduce le dimensioni del file.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5554,11 +6047,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Questa impostazione specifica la <b>qualità</b>. L'incremento di questo valore migliorerà la resa del video al costo di maggiori dimensioni del file.</translation>
+        <translation type="obsolete">Questa impostazione specifica la <b>qualità</b>. L'incremento di questo valore migliorerà la resa del video al costo di maggiori dimensioni del file.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Questa impostazione specifica il bitrate in <b>kilobit al secondo</b>. L'incremento di questo valore migliorerà la resa del video al costo di maggiori dimensioni del file.</translation>
+        <translation type="obsolete">Questa impostazione specifica il bitrate in <b>kilobit al secondo</b>. L'incremento di questo valore migliorerà la resa del video al costo di maggiori dimensioni del file.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5570,7 +6063,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Alla macchina virtuale è attualmente assegnata meno di <b>%1</b> di memoria video che è la quantità minima richiesta per passare in modalità a schermo intero o trasparente.</translation>
+        <translation type="obsolete">Alla macchina virtuale è attualmente assegnata meno di <b>%1</b> di memoria video che è la quantità minima richiesta per passare in modalità a schermo intero o trasparente.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5629,7 +6122,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Abilita la registrazione video per lo schermo %1.</translation>
+        <translation type="obsolete">Abilita la registrazione video per lo schermo %1.</translation>
     </message>
     <message>
         <source>Remote Display is currently enabled for this virtual machine. However, this requires the <b>%1</b> to be installed. Please install the Extension Pack from the VirtualBox download site as otherwise your VM will be started with Remote Display disabled.</source>
@@ -5661,11 +6154,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation>100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation>200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
@@ -5673,7 +6166,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation>HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
@@ -5687,12 +6180,76 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation>Accelerazione:</translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Visualizza il percorso dove saranno archiviate le istantanee di questa macchina virtuale. Nota che le istantanee possono occupare molto spazio.</translation>
+        <translation type="obsolete">Visualizza il percorso dove saranno archiviate le istantanee di questa macchina virtuale. Nota che le istantanee possono occupare molto spazio.</translation>
     </message>
     <message>
         <source>&Basic</source>
@@ -5980,7 +6537,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>Contiene il cifrario che deve essere utilizzato per cifrare i dischi della macchina virtuale.</translation>
+        <translation type="obsolete">Contiene il cifrario che deve essere utilizzato per cifrare i dischi della macchina virtuale.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -6019,6 +6576,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation>Lascia inalterato</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -6064,15 +6629,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>Se marcata, mostra la barra degli strumenti piccola nelle modalità a schermo intero e trasparente.</translation>
+        <translation type="obsolete">Se marcata, mostra la barra degli strumenti piccola nelle modalità a schermo intero e trasparente.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>Mostra a scher&mo intero/trasparente</translation>
+        <translation type="obsolete">Mostra a scher&mo intero/trasparente</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>Se selezionata, mostra la barra degli strumenti piccola nella parte superiore dello schermo, invece che nella posizione predefinita (in basso).</translation>
+        <translation type="obsolete">Se selezionata, mostra la barra degli strumenti piccola nella parte superiore dello schermo, invece che nella posizione predefinita (in basso).</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -6082,6 +6647,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation>Consente la modifica dei contenuti della barra di stato della MV.</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -6103,7 +6680,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controlla il modo in cui questa scheda di rete virtuale è collegata alla rete reale del sistema host.</translation>
+        <translation type="obsolete">Controlla il modo in cui questa scheda di rete virtuale è collegata alla rete reale del sistema host.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -6136,7 +6713,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Mostra o nasconde le opzioni aggiuntive della scheda di rete.</translation>
+        <translation type="obsolete">Mostra o nasconde le opzioni aggiuntive della scheda di rete.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -6152,7 +6729,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica se il cavo di rete virtuale è collegato all'avvio della macchina o meno.</translation>
+        <translation type="obsolete">Indica se il cavo di rete virtuale è collegato all'avvio della macchina o meno.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -6160,7 +6737,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Apre una finestra per la gestione delle regole di inoltro delle porte.</translation>
+        <translation type="obsolete">Apre una finestra per la gestione delle regole di inoltro delle porte.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -6180,7 +6757,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Inserisci qui ogni impostazione di configurazione del driver del collegamento di rete che utilizzerai. Le impostazioni dovrebbero essere nella forma <b>nome=valore</b> e dipenderanno dal driver. Utilizza <b>maiusc-invio</b> per aggiungere una nuova voce.</translation>
+        <translation type="obsolete">Inserisci qui ogni impostazione di configurazione del driver del collegamento di rete che utilizzerai. Le impostazioni dovrebbero essere nella forma <b>nome=valore</b> e dipenderanno dal driver. Utilizza <b>maiusc-invio</b> per aggiungere una nuova voce.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -6365,6 +6942,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Contiene il nome della rete con NAT alla quale questa scheda di rete sarà connessa. Puoi creare e rimuovere le reti utilizzando le impostazioni di rete globali nella finestra del gestore delle macchine virtuali.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6523,6 +7120,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. This should be a whole number between <tt>0</tt> and <tt>0xFFFF</tt>.</source>
         <translation type="obsolete">Visualizza l'indirizzo I/O base di questa porta parallela. Valori validi sono numeri interi nell'intervallo <tt>0</tt>-<tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Nessun IRQ specifcato.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Nessuna porta di I/O specificata.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Due o più porte hanno le stesse impostazioni.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Nessun percorso della porta è attualmente specificato.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Esistono attualmente percorsi delle porte duplicati.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6540,23 +7157,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Nessun IRQ specifcato.</translation>
+        <translation type="obsolete">Nessun IRQ specifcato.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Nessuna porta di I/O specificata.</translation>
+        <translation type="obsolete">Nessuna porta di I/O specificata.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Due o più porte hanno le stesse impostazioni.</translation>
+        <translation type="obsolete">Due o più porte hanno le stesse impostazioni.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Nessun percorso della porta è attualmente specificato.</translation>
+        <translation type="obsolete">Nessun percorso della porta è attualmente specificato.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Esistono attualmente percorsi delle porte duplicati.</translation>
+        <translation type="obsolete">Esistono attualmente percorsi delle porte duplicati.</translation>
     </message>
 </context>
 <context>
@@ -6567,42 +7184,42 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Questa tabella contiene un elenco delle regole di inoltro delle porte.</translation>
+        <translation type="obsolete">Questa tabella contiene un elenco delle regole di inoltro delle porte.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Inserisci una nuova regola</translation>
+        <translation type="obsolete">Inserisci una nuova regola</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copia la regola selezionata</translation>
+        <translation type="obsolete">Copia la regola selezionata</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Elimina la regola selezionata</translation>
+        <translation type="obsolete">Elimina la regola selezionata</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Questo pulsante aggiunge una nuova regola di inoltro delle porte.</translation>
+        <translation type="obsolete">Questo pulsante aggiunge una nuova regola di inoltro delle porte.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Questo pulsante elimina la regola di inoltro delle porte selezionata.</translation>
+        <translation type="obsolete">Questo pulsante elimina la regola di inoltro delle porte selezionata.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Aggiunge una nuova definizione di cartella condivisa.</translation>
+        <translation type="obsolete">Aggiunge una nuova definizione di cartella condivisa.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Modifica la definizione della cartella condivisa selezionata.</translation>
+        <translation type="obsolete">Modifica la definizione della cartella condivisa selezionata.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Rimuove la definizione della cartella condivisa selezionata.</translation>
+        <translation type="obsolete">Rimuove la definizione della cartella condivisa selezionata.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6638,15 +7255,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Aggiungi cartella condivisa</translation>
+        <translation type="obsolete">&Aggiungi cartella condivisa</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>Modifica cart&ella condivisa</translation>
+        <translation type="obsolete">Modifica cart&ella condivisa</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Rimuovi cartella condivisa</translation>
+        <translation type="obsolete">&Rimuovi cartella condivisa</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6676,6 +7293,30 @@ p, li { white-space: pre-wrap; }
         <source> Global Folders</source>
         <translation type="obsolete">Cartelle globali</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6725,12 +7366,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Se marcata, la cartella condivisa sarà permanente.</translation>
+        <translation type="obsolete">Se marcata, la cartella condivisa sarà permanente.</translation>
     </message>
     <message>
         <source>Window</source>
         <translation type="obsolete">Finestra</translation>
     </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerial</name>
@@ -6769,7 +7414,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controlla la modalità di lavoro di questa porta seriale. Se si seleziona <b>Disconnessa</b>, il sistema Guest individuerà la porta seriale ma non sarà in grado di utilizzarla.</translation>
+        <translation type="obsolete">Controlla la modalità di lavoro di questa porta seriale. Se si seleziona <b>Disconnessa</b>, il sistema Guest individuerà la porta seriale ma non sarà in grado di utilizzarla.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6809,7 +7454,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>Se marcata, la macchina virtuale assumerà che la pipe o il socket specificato nel campo <b>Percorso/Indirizzo</b> esista e proverà a utilizzarla.Altrimenti, la pipe o il socket saranno creati dalla macchina virtuale al suo avvio.</translation>
+        <translation type="obsolete">Se marcata, la macchina virtuale assumerà che la pipe o il socket specificato nel campo <b>Percorso/Indirizzo</b> esista e proverà a utilizzarla.Altrimenti, la pipe o il socket saranno creati dalla macchina virtuale al suo avvio.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -6823,6 +7468,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>Nella modalità <b>Pipe host</b>: contiene il percorso della pipe della porta seriale sull'host. Esempi: "\\.\pipe\myvbox" o "/tmp/myvbox", rispettivamente per Windows e sistemi di tipo UNIX.</p><p>Nella modalità <b>Dispositivo host</b>: contiene il nomde del dispositivo seriale dell'host. Esempi: "COM1" o "/dev/ttyS0".</p><p>Nella modalità <b>File raw</ [...]
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Nessun IRQ specifcato.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Nessuna porta di I/O specificata.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Due o più porte hanno le stesse impostazioni.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Nessun percorso della porta è attualmente specificato.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Esistono attualmente percorsi delle porte duplicati.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6840,23 +7513,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Nessun IRQ specifcato.</translation>
+        <translation type="obsolete">Nessun IRQ specifcato.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Nessuna porta di I/O specificata.</translation>
+        <translation type="obsolete">Nessuna porta di I/O specificata.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Due o più porte hanno le stesse impostazioni.</translation>
+        <translation type="obsolete">Due o più porte hanno le stesse impostazioni.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Nessun percorso della porta è attualmente specificato.</translation>
+        <translation type="obsolete">Nessun percorso della porta è attualmente specificato.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Esistono attualmente percorsi delle porte duplicati.</translation>
+        <translation type="obsolete">Esistono attualmente percorsi delle porte duplicati.</translation>
     </message>
 </context>
 <context>
@@ -6867,11 +7540,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Espandi/Contrai&nbsp;elemento</nobr></translation>
+        <translation type="obsolete"><nobr>Espandi/Contrai&nbsp;elemento</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Aggiungi&nbsp;disco&nbsp;fisso</nobr></translation>
+        <translation type="obsolete"><nobr>Aggiungi&nbsp;disco&nbsp;fisso</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6931,19 +7604,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Aggiunge un nuovo controller alla fine dell'albero di archiviazione.</translation>
+        <translation type="obsolete">Aggiunge un nuovo controller alla fine dell'albero di archiviazione.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Rimuovi il controller evidenziato nell'albero di archiviazione.</translation>
+        <translation type="obsolete">Rimuovi il controller evidenziato nell'albero di archiviazione.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Aggiungi un nuovo collegamento all'albero di archiviazione utilizzando il controller attualmente selezionato come genitore.</translation>
+        <translation type="obsolete">Aggiungi un nuovo collegamento all'albero di archiviazione utilizzando il controller attualmente selezionato come genitore.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Rimuovi il collegamento selezionato nell'albero di archiviazione.</translation>
+        <translation type="obsolete">Rimuovi il collegamento selezionato nell'albero di archiviazione.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6971,7 +7644,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Contiene tutti i controller di archiviazione per questa macchina, le immagini virtuali e i lettori dell'host collegati.</translation>
+        <translation type="obsolete">Contiene tutti i controller di archiviazione per questa macchina, le immagini virtuali e i lettori dell'host collegati.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6991,7 +7664,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Modifica il nome del controller di archiviazione attualmente selezionato nell'albero di archiviazione.</translation>
+        <translation type="obsolete">Modifica il nome del controller di archiviazione attualmente selezionato nell'albero di archiviazione.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -7039,7 +7712,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Consente l'utilizzo delle capacità di gestione della cache I/O dell'host.</translation>
+        <translation type="obsolete">Consente l'utilizzo delle capacità di gestione della cache I/O dell'host.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -7063,7 +7736,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Immagine</translation>
+        <translation type="obsolete">Immagine</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -7071,7 +7744,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Configura il disco fisso virtuale</translation>
+        <translation type="obsolete">Configura il disco fisso virtuale</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -7095,15 +7768,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configura il lettore floppy virtuale</translation>
+        <translation type="obsolete">Configura il lettore floppy virtuale</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Crea un nuovo disco fisso...</translation>
+        <translation type="obsolete">Crea un nuovo disco fisso...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Scegli un disco fisso virtuale...</translation>
+        <translation type="obsolete">Scegli un disco fisso virtuale...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -7115,11 +7788,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Scegli un file di disco floppy virtuale...</translation>
+        <translation type="obsolete">Scegli un file di disco floppy virtuale...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Se marcata, impedisce la rimozione del disco virtuale quando il sistema guest lo espelle.</translation>
+        <translation type="obsolete">Se marcata, impedisce la rimozione del disco virtuale quando il sistema guest lo espelle.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -7127,7 +7800,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Se marcata, il sistema guest vedrà il disco virtuale come un dispositivo a stato solido.</translation>
+        <translation type="obsolete">Se marcata, il sistema guest vedrà il disco virtuale come un dispositivo a stato solido.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -7305,7 +7978,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>Se marcata, il sistema guest vedrà il disco virtuale come un dispositivo collegabile a caldo.</translation>
+        <translation type="obsolete">Se marcata, il sistema guest vedrà il disco virtuale come un dispositivo collegabile a caldo.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -7313,15 +7986,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>Scegli un file di disco ottico virtuale...</translation>
+        <translation type="obsolete">Scegli un file di disco ottico virtuale...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>Aggiungi&nbsp;lettore&nbsp;ottico</nobr></translation>
+        <translation type="obsolete"><nobr>Aggiungi&nbsp;lettore&nbsp;ottico</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>Aggiungi&nbsp;lettore&nbsp;floppy</nobr></translation>
+        <translation type="obsolete"><nobr>Aggiungi&nbsp;lettore&nbsp;floppy</nobr></translation>
     </message>
     <message>
         <source>Add USB Controller</source>
@@ -7345,12 +8018,97 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>Configura il lettore ottico virtuale</translation>
+        <translation type="obsolete">Configura il lettore ottico virtuale</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
         <translation>Cifrato con chiave:</translation>
     </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Immagine</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
@@ -7380,12 +8138,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -7413,7 +8171,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Sposta in basso (Ctrl-Giù)</translation>
+        <translation type="obsolete">Sposta in basso (Ctrl-Giù)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7421,7 +8179,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Sposta in alto (Ctrl-Su)</translation>
+        <translation type="obsolete">Sposta in alto (Ctrl-Su)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7482,7 +8240,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7494,7 +8252,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Se marcata, il dispositivo RTC riporterà l'ora in UTC, altrimenti in ora locale (host). I sistemi UNIX di solito si aspettano che l'orologio hardware sia impostato in UTC.</translation>
+        <translation type="obsolete">Se marcata, il dispositivo RTC riporterà l'ora in UTC, altrimenti in ora locale (host). I sistemi UNIX di solito si aspettano che l'orologio hardware sia impostato in UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7539,12 +8297,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7643,56 +8401,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>La virtualizzazione hardware non è attualmente abilitata nella sezione Accelerazione della pagina Sistema. Questa funzionalità è richiesta per supportare più di un processore virtuale che hai scelto per questa MV. Sarà abilitata automaticamente se confermi le modifiche.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Aggiungi un filtro vuoto</translation>
+        <translation type="obsolete">&Aggiungi un filtro vuoto</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Aggiungi filtro da &dispositivo</translation>
+        <translation type="obsolete">Aggiungi filtro da &dispositivo</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>M&odifica filtro</translation>
+        <translation type="obsolete">M&odifica filtro</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Rimuovi filtro</translation>
+        <translation type="obsolete">&Rimuovi filtro</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>S&posta filtro in alto </translation>
+        <translation type="obsolete">S&posta filtro in alto </translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Sp&osta filtro in basso</translation>
+        <translation type="obsolete">Sp&osta filtro in basso</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Aggiunge un nuovo filtro USB con tutti i campi impostati inizialmente a stringhe vuote. Nota che un filtro del genere corrisponderà a qualunque dispositivo USB collegato.</translation>
+        <translation type="obsolete">Aggiunge un nuovo filtro USB con tutti i campi impostati inizialmente a stringhe vuote. Nota che un filtro del genere corrisponderà a qualunque dispositivo USB collegato.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Aggiunge un nuovo filtro USB con tutti i campi impostati ai valori del dispositivo USB selezionato, collegato al PC host.</translation>
+        <translation type="obsolete">Aggiunge un nuovo filtro USB con tutti i campi impostati ai valori del dispositivo USB selezionato, collegato al PC host.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Modifica il filtro USB selezionato.</translation>
+        <translation type="obsolete">Modifica il filtro USB selezionato.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Rimuove il filtro USB selezionato.</translation>
+        <translation type="obsolete">Rimuove il filtro USB selezionato.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Sposta il filtro USB selezionato verso l'alto.</translation>
+        <translation type="obsolete">Sposta il filtro USB selezionato verso l'alto.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Sposta il filtro USB selezionato verso il basso.</translation>
+        <translation type="obsolete">Sposta il filtro USB selezionato verso il basso.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7709,7 +8493,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Se marcata, abilita il controller USB EHCI virtuale di questa macchina. Il controller USB EHCI fornisce il supporto a USB 2.0.</translation>
+        <translation type="obsolete">Se marcata, abilita il controller USB EHCI virtuale di questa macchina. Il controller USB EHCI fornisce il supporto a USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7781,7 +8565,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>Se marcata, abilita il controller USB OHCI virtuale di questa macchina. Il controller USB OHCI fornisce il supporto a USB 1.0.</translation>
+        <translation type="obsolete">Se marcata, abilita il controller USB OHCI virtuale di questa macchina. Il controller USB OHCI fornisce il supporto a USB 1.0.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -7793,7 +8577,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>Se marcata, abilita il controller USB xHCI virtuale di questa macchina. Il controller USB xHCI fornisce il supporto a USB 3.0.</translation>
+        <translation type="obsolete">Se marcata, abilita il controller USB xHCI virtuale di questa macchina. Il controller USB xHCI fornisce il supporto a USB 3.0.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -7803,6 +8587,66 @@ p, li { white-space: pre-wrap; }
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0 è attualmente abilitato per questa macchina virtuale. Tuttavia, ciò richiede che <b>%1</b> sia installato. Installa l'Extension Pack scaricabile dal sito di VirtualBox o disabilita USB 2.0/3.0 per poter avviare la macchina.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Aggiungi un filtro vuoto</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Aggiungi filtro da dispositivo</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Rimuovi filtro</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Sposta in alto</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Sposta in basso</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -7835,7 +8679,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definisce il filtro ID del venditore. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>XXXX</tt> dove <tt>X</tt> è una cifra esadecimale. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro ID del venditore. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>XXXX</tt> dove <tt>X</tt> è una cifra esadecimale. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7843,7 +8687,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definisce il filtro ID del prodotto. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>XXXX</tt> dove <tt>X</tt> è una cifra esadecimale. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro ID del prodotto. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>XXXX</tt> dove <tt>X</tt> è una cifra esadecimale. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7851,7 +8695,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Definisce il filtro del numero di revisione. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>IIFF</tt> dove <tt>è</tt> è una cifra decimale della parte intera e <tt>F</tt> è una cifra decimale della parte frazionaria. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro del numero di revisione. Il formato della stringa di <i>corrispondenza esatta</i> è <tt>IIFF</tt> dove <tt>è</tt> è una cifra decimale della parte intera e <tt>F</tt> è una cifra decimale della parte frazionaria. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7859,7 +8703,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definisce il filtro del produttore come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro del produttore come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7867,7 +8711,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definisce il filtro del nome del prodotto come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro del nome del prodotto come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7875,7 +8719,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definisce il filtro del numero seriale come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro del numero seriale come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7883,7 +8727,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definisce il filtro della porta USB dell'host come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
+        <translation type="obsolete">Definisce il filtro della porta USB dell'host come una stringa di <i>corrispondenza esatta</i>. Una stringa vuota corrisponderà a ogni valore.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7891,7 +8735,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Definisce se questo filtro si applica ai dispositivi USB collegati localmente al computer host (<i>No</i>), a un computer client VRDP (<i>Sì</i>), o entrambi (<i>Qualsiasi</i>).</translation>
+        <translation type="obsolete">Definisce se questo filtro si applica ai dispositivi USB collegati localmente al computer host (<i>No</i>), a un computer client VRDP (<i>Sì</i>), o entrambi (<i>Qualsiasi</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7905,6 +8749,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Dettagli filtro USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7924,7 +8800,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Dischi fissi</translation>
+        <translation type="obsolete">&Dischi fissi</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7946,6 +8822,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation>Rimozione supporto...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8324,7 +9204,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Impossibile abilitare la modalità a pieno schermo per memoria video insufficiente nel sistema guest.</p><p>È necessario configurare la macchina virtuale assegnandole almeno <b>%1</b> di memoria video.</p><p>Premi <b>Ignora</b> per passare comunque alla modalità a pieno schermo oppure premere <b>Annulla</b> per annullare l'operazione.</p></translation>
+        <translation type="obsolete"><p>Impossibile abilitare la modalità a pieno schermo per memoria video insufficiente nel sistema guest.</p><p>È necessario configurare la macchina virtuale assegnandole almeno <b>%1</b> di memoria video.</p><p>Premi <b>Ignora</b> per passare comunque alla modalità a pieno schermo oppure premere <b>Annulla</b> per annullare l'operazione.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -8426,7 +9306,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Vuoi eliminare l'unità di archiviazione del disco fisso <nobr><b>%1</b></nobr>?</p><p>Se selezioni <b>Elimina</b>, l'unità di archiviazione specificata sarà eliminata in modo permanente. Questa operazione <b>non può essere annullata</b>.</p><p>Se selezioni <b>Mantieni</b>, il disco fisso sarà rimosso solo dall'elenco dei dischi fissi conosciuti, ma l'unità [...]
+        <translation type="obsolete"><p>Vuoi eliminare l'unità di archiviazione del disco fisso <nobr><b>%1</b></nobr>?</p><p>Se selezioni <b>Elimina</b>, l'unità di archiviazione specificata sarà eliminata in modo permanente. Questa operazione <b>non può essere annullata</b>.</p><p>Se selezioni <b>Mantieni</b>, il disco fisso sarà rimosso solo dall'elenco dei dischi fissi conosciuti, [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8580,7 +9460,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Eliminando un'istantanea, le informazioni di stato memorizzate nell'istante andranno perse, e i dati su disco sparsi sui diversi file immagine creati da VirtualBox insieme all'istantanea saranno riuniti in un singolo file. Tale processo può risultare lungo, e le informazioni nell'istantanea non possono essere ripristinate.</p></p>Sei sicuro di voler eliminare l'istantanea selezionata <b>%1</b>?</p></tran [...]
+        <translation type="obsolete"><p>Eliminando un'istantanea, le informazioni di stato memorizzate nell'istante andranno perse, e i dati su disco sparsi sui diversi file immagine creati da VirtualBox insieme all'istantanea saranno riuniti in un singolo file. Tale processo può risultare lungo, e le informazioni nell'istantanea non possono essere ripristinate.</p></p>Sei sicuro di voler eliminare l'istantanea selezionata <b>%1</b>? [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8671,7 +9551,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>L'eliminazione dell'istantanea %1 richiederà temporaneamente altro spazio su disco. Nel peggiore dei casi la dimensione dell'immagine %2 crescerà di %3, ma sul filesystem ci sono solo %4 liberi.</p><p>Finire lo spazio durante l'operazione di fusione potrebbe produrre un danneggiamento dell'immagine e della configurazione della MV, ad es. la perdita della MV e dei relativi dati.</p><p>Puoi continuare con l&apos [...]
+        <translation type="obsolete"><p>L'eliminazione dell'istantanea %1 richiederà temporaneamente altro spazio su disco. Nel peggiore dei casi la dimensione dell'immagine %2 crescerà di %3, ma sul filesystem ci sono solo %4 liberi.</p><p>Finire lo spazio durante l'operazione di fusione potrebbe produrre un danneggiamento dell'immagine e della configurazione della MV, ad es. la perdita della MV e dei relativi dati.</p><p>Puoi conti [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8838,7 +9718,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>La finestra della macchina virtuale passerà ora alla modalità a <b>schermo intero</b>. Puoi tornare alla modalità a finestra in qualunque momento premendo <b>%1</b>.</p><p>Nota che il tasto <i>Host</i> è attualmente definito come <b>%2</b>.</p><p>Nota inoltre che la barra principale dei menu è nascosta nella modalità a schermo intero. Puoi accedervi premendo <b>Host+Home</b>. [...]
+        <translation type="obsolete"><p>La finestra della macchina virtuale passerà ora alla modalità a <b>schermo intero</b>. Puoi tornare alla modalità a finestra in qualunque momento premendo <b>%1</b>.</p><p>Nota che il tasto <i>Host</i> è attualmente definito come <b>%2</b>.</p><p>Nota inoltre che la barra principale dei menu è nascosta nella modalità a schermo intero. Puoi accedervi premendo <b>Host [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9516,7 +10396,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Stai creando una nuova macchina virtuale senza un disco fisso. Non potrai installare un sistema operativo sulla macchina fino a quando non ne aggiungi uno. Nel frattempo, potrai avviare una macchina utilizzando un disco ottico virtuale o dalla rete.</translation>
+        <translation type="obsolete">Stai creando una nuova macchina virtuale senza un disco fisso. Non potrai installare un sistema operativo sulla macchina fino a quando non ne aggiungi uno. Nel frattempo, potrai avviare una macchina utilizzando un disco ottico virtuale o dalla rete.</translation>
     </message>
     <message>
         <source><p>Could not find the VirtualBox Guest Additions disk image file file.</nobr></p><p>Do you wish to download this disk image file from the Internet?</p></source>
@@ -9632,15 +10512,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Sei sicuro di voler rilasciare il disco fisso virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Sei sicuro di voler rilasciare il disco fisso virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Sei sicuro di voler rilasciare il disco ottico virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Sei sicuro di voler rilasciare il disco ottico virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Sei sicuro di voler rilasciare il disco floppy virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Sei sicuro di voler rilasciare il disco floppy virtuale <nobr><b>%1</b></nobr>?</p><p>Sarà sganciato dalle seguenti macchine virtuali: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -9684,27 +10564,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Apertura del file del disco fisso <nobr><b>%1</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Apertura del file del disco fisso <nobr><b>%1</b></nobr> non riuscita.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Apertura del file del disco ottico <nobr><b>%1</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Apertura del file del disco ottico <nobr><b>%1</b></nobr> non riuscita.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Apertura del file del disco floppy <nobr><b>%1</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Apertura del file del disco floppy <nobr><b>%1</b></nobr> non riuscita.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Chiusura del file del disco fisso <nobr><b>%2</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Chiusura del file del disco fisso <nobr><b>%2</b></nobr> non riuscita.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Chiusura del file del disco ottico <nobr><b>%2</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Chiusura del file del disco ottico <nobr><b>%2</b></nobr> non riuscita.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Chiusura del file del disco floppy <nobr><b>%2</b></nobr> non riuscita.</translation>
+        <translation type="obsolete">Chiusura del file del disco floppy <nobr><b>%2</b></nobr> non riuscita.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9826,7 +10706,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Uno o più dischi fissi virtuali, file di immagini di dischi otttici o floppy non sono attualmente accessibili. Ciò significa che non sarai in grado di operare con le macchine virtuali che utilizzano questi file fino a quando non ritorneranno accessibili.</p><p>Premi <b>Controlla</b> per aprire la finestra del gestore supporti virtuali e vedere quali supporti non sono accessibili, o premi <b>Ignora</b> per ignorare questo m [...]
+        <translation type="obsolete"><p>Uno o più dischi fissi virtuali, file di immagini di dischi otttici o floppy non sono attualmente accessibili. Ciò significa che non sarai in grado di operare con le macchine virtuali che utilizzano questi file fino a quando non ritorneranno accessibili.</p><p>Premi <b>Controlla</b> per aprire la finestra del gestore supporti virtuali e vedere quali supporti non sono accessibili, o premi <b>Ignora</b> per i [...]
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -9928,6 +10808,46 @@ p, li { white-space: pre-wrap; }
         <source>Drag and drop operation from guest to host failed.</source>
         <translation>Operazione di trascinamento e rilascio dal guest all'host non riuscita.</translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -11053,27 +11973,82 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nome</translation>
+        <translation type="obsolete">Nome</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocollo</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP dell'host</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Porta dell'host</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP del Guest</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Porta del Guest</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nome</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocollo</translation>
+        <translation type="unfinished">Protocollo</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP dell'host</translation>
+        <translation type="unfinished">IP dell'host</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Porta dell'host</translation>
+        <translation type="unfinished">Porta dell'host</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP del Guest</translation>
+        <translation type="unfinished">IP del Guest</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Porta del Guest</translation>
+        <translation type="unfinished">Porta del Guest</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11380,7 +12355,7 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr>Fai <b>clic</b> per commutare la presenza dell'indicatore.</nobr><br><nobr><b>Trascina e rilascia</b> per cambiare la posizione dell'indicatore.</nobr></translation>
+        <translation type="obsolete"><nobr>Fai <b>clic</b> per commutare la presenza dell'indicatore.</nobr><br><nobr><b>Trascina e rilascia</b> per cambiare la posizione dell'indicatore.</nobr></translation>
     </message>
 </context>
 <context>
@@ -11393,6 +12368,10 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
         <source>Enable Status Bar</source>
         <translation>Abilita barra di stato</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr>Fai <b>clic</b> per commutare la presenza dell'indicatore.</nobr><br><nobr><b>Trascina e rilascia</b> per cambiare la posizione dell'indicatore.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11889,7 +12868,7 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copia disco fisso virtuale</translation>
+        <translation type="obsolete">Copia disco fisso virtuale</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11897,43 +12876,43 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Disco fisso da copiare</translation>
+        <translation type="obsolete">Disco fisso da copiare</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Seleziona il file di disco virtuale che desideri copiare se non è ancora selezionato. Puoi sceglierne uno dall'elenco o utilizzare l'icona della cartella accanto all'elenco per selezionarlo.</p></translation>
+        <translation type="obsolete"><p>Seleziona il file di disco virtuale che desideri copiare se non è ancora selezionato. Puoi sceglierne uno dall'elenco o utilizzare l'icona della cartella accanto all'elenco per selezionarlo.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Scegli un disco fisso virtuale da copiare...</translation>
+        <translation type="obsolete">Scegli un disco fisso virtuale da copiare...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo di file del disco fisso</translation>
+        <translation type="obsolete">Tipo di file del disco fisso</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Scegli il tipo di file che desideri utilizzare per il nuovo disco virtuale. Se non pensi di utilizzarlo con altri programmi di virtualizzazione, puoi lasciare inalterata questa opzione.</translation>
+        <translation type="obsolete">Scegli il tipo di file che desideri utilizzare per il nuovo disco virtuale. Se non pensi di utilizzarlo con altri programmi di virtualizzazione, puoi lasciare inalterata questa opzione.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Archiviazione su disco fisico</translation>
+        <translation type="obsolete">Archiviazione su disco fisico</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Scegli se il nuovo disco virtuale deve crescere in base all'utilizzo (allocato dinamicamente) o se deve essere creato alla dimensione massima (dimensione fissa).</translation>
+        <translation type="obsolete">Scegli se il nuovo disco virtuale deve crescere in base all'utilizzo (allocato dinamicamente) o se deve essere creato alla dimensione massima (dimensione fissa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disco virtuale <b>allocato dinamicamente</b> utilizzerà solo lo spazio del disco fisico che si riempe (fino alla massima <b>dimensione specificata</b>), ma non si ridurrà automaticamente se lo spazio viene liberato.</p></translation>
+        <translation type="obsolete"><p>Un disco virtuale <b>allocato dinamicamente</b> utilizzerà solo lo spazio del disco fisico che si riempe (fino alla massima <b>dimensione specificata</b>), ma non si ridurrà automaticamente se lo spazio viene liberato.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un file di disco virtuale a <b>dimensione fissa</b> richiede normalmente più tempo per la creazione, ma è più veloce nell'utilizzo.</p></translation>
+        <translation type="obsolete"><p>Un file di disco virtuale a <b>dimensione fissa</b> richiede normalmente più tempo per la creazione, ma è più veloce nell'utilizzo.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Puoi scegliere anche di <b>dividere</b> il disco virtuale in diversi file, ognuno della dimensione massima di due gigabyte. È utile principalmente se desideri archiviare la macchina virtuale su dispositivi USB o sistemi datati, alcuni dei quali non sono in grado di gestire file molto grandi.</translation>
+        <translation type="obsolete"><p>Puoi scegliere anche di <b>dividere</b> il disco virtuale in diversi file, ognuno della dimensione massima di due gigabyte. È utile principalmente se desideri archiviare la macchina virtuale su dispositivi USB o sistemi datati, alcuni dei quali non sono in grado di gestire file molto grandi.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11949,19 +12928,19 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Scegli una posizione per il nuovo file di disco fisso virtuale</translation>
+        <translation type="obsolete">Scegli una posizione per il nuovo file di disco fisso virtuale</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Nuovo disco fisso da creare</translation>
+        <translation type="obsolete">Nuovo disco fisso da creare</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Digita il nome del nuovo disco fisso virtuale nella casella seguente o fai clic sull'icona della cartella per selezionare una cartella di destinazione diversa.</translation>
+        <translation type="obsolete">Digita il nome del nuovo disco fisso virtuale nella casella seguente o fai clic sull'icona della cartella per selezionare una cartella di destinazione diversa.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Scegli una posizione per il nuovo file di disco fisso virtuale...</translation>
+        <translation type="obsolete">Scegli una posizione per il nuovo file di disco fisso virtuale...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11970,15 +12949,87 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Disco fisso da &copiare</translation>
+        <translation type="obsolete">Disco fisso da &copiare</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Nuovo disco fisso da creare</translation>
+        <translation type="obsolete">&Nuovo disco fisso da creare</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo di file del disco fisso</translation>
+        <translation type="obsolete">&Tipo di file del disco fisso</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12021,7 +13072,7 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Scegli il tipo di clone che desideri creare.</p><p>Se scegli <b>Clone completo</b>, sarà creata una copia esatta (inclusi tutti i file dei dischi virtuali) della macchina di origine.</p><p>Se scegli  <b>Clone collegato</b>, sarà creata una nuova macchina, ma i file dei dischi virtuali saranno collegati ai dischi virtuali della macchina di origine e non potrai spostare la nuova macchina virtuale su un altro comp [...]
+        <translation type="obsolete"><p>Scegli il tipo di clone che desideri creare.</p><p>Se scegli <b>Clone completo</b>, sarà creata una copia esatta (inclusi tutti i file dei dischi virtuali) della macchina di origine.</p><p>Se scegli  <b>Clone collegato</b>, sarà creata una nuova macchina, ma i file dei dischi virtuali saranno collegati ai dischi virtuali della macchina di origine e non potrai spostare la nuova macchina virtuale  [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -12079,6 +13130,10 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
         <source>&Linked Clone</source>
         <translation>C&lone collegato</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -12355,7 +13410,7 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Crea un disco virtuale</translation>
+        <translation type="obsolete">Crea un disco virtuale</translation>
     </message>
     <message>
         <source>Create</source>
@@ -12363,31 +13418,31 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo di file del disco fisso</translation>
+        <translation type="obsolete">Tipo di file del disco fisso</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Scegli il tipo di file che desideri utilizzare per il nuovo disco virtuale. Se non pensi di utilizzarlo con altri programmi di virtualizzazione, puoi lasciare inalterata questa opzione.</translation>
+        <translation type="obsolete">Scegli il tipo di file che desideri utilizzare per il nuovo disco virtuale. Se non pensi di utilizzarlo con altri programmi di virtualizzazione, puoi lasciare inalterata questa opzione.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Archiviazione su disco fisico</translation>
+        <translation type="obsolete">Archiviazione su disco fisico</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Scegli se il nuovo disco virtuale deve crescere in base all'utilizzo (allocato dinamicamente) o se deve essere creato alla dimensione massima (dimensione fissa).</translation>
+        <translation type="obsolete">Scegli se il nuovo disco virtuale deve crescere in base all'utilizzo (allocato dinamicamente) o se deve essere creato alla dimensione massima (dimensione fissa).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Un disco virtuale <b>allocato dinamicamente</b> utilizzerà solo lo spazio del disco fisico che si riempe (fino alla massima <b>dimensione specificata</b>), ma non si ridurrà automaticamente se lo spazio viene liberato.</p></translation>
+        <translation type="obsolete"><p>Un disco virtuale <b>allocato dinamicamente</b> utilizzerà solo lo spazio del disco fisico che si riempe (fino alla massima <b>dimensione specificata</b>), ma non si ridurrà automaticamente se lo spazio viene liberato.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Un file di disco virtuale a <b>dimensione fissa</b> richiede normalmente più tempo per la creazione, ma è più veloce nell'utilizzo.</p></translation>
+        <translation type="obsolete"><p>Un file di disco virtuale a <b>dimensione fissa</b> richiede normalmente più tempo per la creazione, ma è più veloce nell'utilizzo.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Puoi scegliere anche di <b>dividere</b> il disco virtuale in diversi file, ognuno della dimensione massima di due gigabyte. È utile principalmente se desideri archiviare la macchina virtuale su dispositivi USB o sistemi datati, alcuni dei quali non sono in grado di gestire file molto grandi.</translation>
+        <translation type="obsolete"><p>Puoi scegliere anche di <b>dividere</b> il disco virtuale in diversi file, ognuno della dimensione massima di due gigabyte. È utile principalmente se desideri archiviare la macchina virtuale su dispositivi USB o sistemi datati, alcuni dei quali non sono in grado di gestire file molto grandi.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -12411,15 +13466,15 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Digita il nome del nuovo disco virtuale nella casella seguente o fai clic sull'icona della cartella per selezionare una cartella di destinazione diversa.</translation>
+        <translation type="obsolete">Digita il nome del nuovo disco virtuale nella casella seguente o fai clic sull'icona della cartella per selezionare una cartella di destinazione diversa.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Scegli una posizione per il nuovo file di disco fisso virtuale...</translation>
+        <translation type="obsolete">Scegli una posizione per il nuovo file di disco fisso virtuale...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Seleziona la dimensione del disco virtuale in megabyte. Questa dimensione è il limite sul totale dei dati che una macchina virtuale sarà in grado di archiviare su disco.</translation>
+        <translation type="obsolete">Seleziona la dimensione del disco virtuale in megabyte. Questa dimensione è il limite sul totale dei dati che una macchina virtuale sarà in grado di archiviare su disco.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -12431,7 +13486,55 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo di file del disco fisso</translation>
+        <translation type="obsolete">&Tipo di file del disco fisso</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12482,11 +13585,11 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Disco fisso</translation>
+        <translation type="obsolete">Disco fisso</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Se lo desideri, puoi aggiungere un disco virtuale alla nuova macchina. Puoi creare un nuovo file di disco, selezionarne uno dall'elenco o da un'altra posizione utilizzando l'icona della cartella.</p><p>Se hai bisogno di una configurazione di archiviazione più complessa, puoi saltare questo passaggio e modificare le impostazioni della macchina dopo averla creata.</p><p>La dimensione consigliata del disco fisso è <b&gt [...]
+        <translation type="obsolete"><p>Se lo desideri, puoi aggiungere un disco virtuale alla nuova macchina. Puoi creare un nuovo file di disco, selezionarne uno dall'elenco o da un'altra posizione utilizzando l'icona della cartella.</p><p>Se hai bisogno di una configurazione di archiviazione più complessa, puoi saltare questo passaggio e modificare le impostazioni della macchina dopo averla creata.</p><p>La dimensione consigliata del disco  [...]
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -12502,7 +13605,7 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Scegli un file di disco fisso virtuale...</translation>
+        <translation type="obsolete">Scegli un file di disco fisso virtuale...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12510,15 +13613,39 @@ questo passo e collegare hard disk più tardi tramite Impostazioni della MV.<
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Non aggiungere un &disco fisso virtuale</translation>
+        <translation type="obsolete">Non aggiungere un &disco fisso virtuale</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Crea subito un disco fisso virtuale</translation>
+        <translation type="obsolete">&Crea subito un disco fisso virtuale</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Usa un file di disco fisso virtuale esistente</translation>
+        <translation type="obsolete">&Usa un file di disco fisso virtuale esistente</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13730,7 +14857,7 @@ Versione %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Apre una finestra per selezionare una cartella diversa.</translation>
+        <translation type="obsolete">Apre una finestra per selezionare una cartella diversa.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13738,7 +14865,7 @@ Versione %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Apre una finestra per selezionare un file differente.</translation>
+        <translation type="obsolete">Apre una finestra per selezionare un file differente.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13750,17 +14877,33 @@ Versione %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Digita qui il percorso alla cartella desiderata.</translation>
+        <translation type="obsolete">Digita qui il percorso alla cartella desiderata.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Digita qui il percorso al file desiderato.</translation>
+        <translation type="obsolete">Digita qui il percorso al file desiderato.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <comment>new</comment>
         <translation type="obsolete">Il valore attuale del percorso predefinito sarà visualizzato dopo aver accettato le modifiche e riaperto nuovamente la finestra.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14693,7 +15836,7 @@ Versione %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Il collegamento di questo disco fisso sarà eseguito indirettamente utilizzando un nuovo disco differenziale.</translation>
+        <translation type="unfinished">Il collegamento di questo disco fisso sarà eseguito indirettamente utilizzando un nuovo disco differenziale.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14703,7 +15846,7 @@ Versione %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Questo disco fisso di base è collegato indirettamente utilizzando il seguente disco differenziale:</translation>
+        <translation type="unfinished">Questo disco fisso di base è collegato indirettamente utilizzando il seguente disco differenziale:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -15563,11 +16706,11 @@ Versione %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Scegli un file di disco fisso virtuale</translation>
+        <translation type="obsolete">Scegli un file di disco fisso virtuale</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Tutti i file di disco fisso virtuale (%1)</translation>
+        <translation type="obsolete">Tutti i file di disco fisso virtuale (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15611,7 +16754,7 @@ Versione %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Scegli una posizione per il nuovo file di disco fisso virtuale</translation>
+        <translation type="obsolete">Scegli una posizione per il nuovo file di disco fisso virtuale</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -15813,23 +16956,40 @@ Versione %1</translation>
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>Il collegamento di questo disco fisso sarà eseguito indirettamente utilizzando un nuovo disco differenziale.</translation>
+        <translation type="obsolete">Il collegamento di questo disco fisso sarà eseguito indirettamente utilizzando un nuovo disco differenziale.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>Alcuni dei supporti nella catena di dischi fissi non sono accessibili. Utilizza il Gestore supporti virtuali in modalità per ispezionarli.</translation>
+        <translation type="obsolete">Alcuni dei supporti nella catena di dischi fissi non sono accessibili. Utilizza il Gestore supporti virtuali in modalità per ispezionarli.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>Questo disco fisso di base è collegato indirettamente utilizzando il seguente disco differenziale:</translation>
+        <translation type="obsolete">Questo disco fisso di base è collegato indirettamente utilizzando il seguente disco differenziale:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation>Cifrato</translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -17650,7 +18810,7 @@ per accedervi da un sistema Linux. Questa funzionalità richiede Guest Additions
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Visualizza i dettagli dell'istantanea selezionata</translation>
+        <translation type="obsolete">Visualizza i dettagli dell'istantanea selezionata</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -17666,11 +18826,11 @@ per accedervi da un sistema Linux. Questa funzionalità richiede Guest Additions
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Ripristina l'istantanea selezionata della macchina virtuale</translation>
+        <translation type="obsolete">Ripristina l'istantanea selezionata della macchina virtuale</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Elimina l'istantanea selezionata della macchina virtuale</translation>
+        <translation type="obsolete">Elimina l'istantanea selezionata della macchina virtuale</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -17682,7 +18842,7 @@ per accedervi da un sistema Linux. Questa funzionalità richiede Guest Additions
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona la macchina virtuale selezionata</translation>
+        <translation type="obsolete">Clona la macchina virtuale selezionata</translation>
     </message>
     <message>
         <source>[snapshot]</source>
@@ -17820,6 +18980,22 @@ per accedervi da un sistema Linux. Questa funzionalità richiede Guest Additions
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxSwitchMenu</name>
@@ -17877,6 +19053,10 @@ per accedervi da un sistema Linux. Questa funzionalità richiede Guest Additions
         <source>Cancel</source>
         <translation type="obsolete">Annulla</translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Istantanea %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
index db85892..459bc9c 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts
@@ -336,7 +336,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>ウィンドウをリサイズしたとき、ゲストOS画面を自動的にリサイズする(Guest Additions のインストールが必要)</translation>
+        <translation type="obsolete">ウィンドウをリサイズしたとき、ゲストOS画面を自動的にリサイズする(Guest Additions のインストールが必要)</translation>
     </message>
     <message>
         <source>Disable &Guest Display Auto-resize</source>
@@ -364,7 +364,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>仮想マシンの設定を変更</translation>
+        <translation type="obsolete">仮想マシンの設定を変更</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -376,7 +376,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>仮想マシンのスクリーンショットを撮る</translation>
+        <translation type="obsolete">仮想マシンのスクリーンショットを撮る</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -384,7 +384,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>セッション情報ウィンドウを表示</translation>
+        <translation type="obsolete">セッション情報ウィンドウを表示</translation>
     </message>
     <message>
         <source>Temporarily disable host mouse pointer integration</source>
@@ -488,7 +488,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>選択した仮想マシンを保存状態にする</translation>
+        <translation type="obsolete">選択した仮想マシンを保存状態にする</translation>
     </message>
     <message>
         <source>ACPI Sh&utdown</source>
@@ -500,7 +500,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>仮想マシンに電源ボタン オフのACPIイベントを送信する</translation>
+        <translation type="obsolete">仮想マシンに電源ボタン オフのACPIイベントを送信する</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -560,7 +560,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>この仮想マシンへのリモートデスクトップ(RDP)接続を切り替え</translation>
+        <translation type="obsolete">この仮想マシンへのリモートデスクトップ(RDP)接続を切り替え</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -568,7 +568,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>ビデオキャプチャーの切り替え</translation>
+        <translation type="obsolete">ビデオキャプチャーの切り替え</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -576,7 +576,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>ビデオキャプチャーの設定を変更</translation>
+        <translation type="obsolete">ビデオキャプチャーの設定を変更</translation>
     </message>
     <message>
         <source>&Insert Guest Additions CD image...</source>
@@ -584,7 +584,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Guest Additions ディスクファイルを仮想ドライブに挿入します</translation>
+        <translation type="obsolete">Guest Additions ディスクファイルを仮想ドライブに挿入します</translation>
     </message>
     <message>
         <source>&Network Adapters...</source>
@@ -592,7 +592,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>ネットワークアダプターの設定変更</translation>
+        <translation type="obsolete">ネットワークアダプターの設定変更</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -600,7 +600,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>共有フォルダーを作成または変更</translation>
+        <translation type="obsolete">共有フォルダーを作成または変更</translation>
     </message>
     <message>
         <source>Enable R&emote Display</source>
@@ -669,7 +669,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>選択した仮想マシンのログファイルを参照する</translation>
+        <translation type="obsolete">選択した仮想マシンのログファイルを参照する</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -713,7 +713,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>ネットワーク操作マネージャーの表示</translation>
+        <translation type="obsolete">ネットワーク操作マネージャーの表示</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -725,7 +725,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>製品情報ウィンドウを表示</translation>
+        <translation type="obsolete">製品情報ウィンドウを表示</translation>
     </message>
     <message>
         <source>Dock Icon</source>
@@ -776,11 +776,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>環境設定(&P)...</translation>
+        <translation type="obsolete">環境設定(&P)...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>環境設定ウィンドウを表示</translation>
+        <translation type="obsolete">環境設定ウィンドウを表示</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -808,55 +808,55 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>選択したグループの仮想マシンをアルファベット順にソートします</translation>
+        <translation type="obsolete">選択したグループの仮想マシンをアルファベット順にソートします</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>選択した仮想マシンを起動</translation>
+        <translation type="obsolete">選択した仮想マシンを起動</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>選択した仮想マシンのウィンドウに切り替え</translation>
+        <translation type="obsolete">選択した仮想マシンのウィンドウに切り替え</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>仮想マシンの実行を一時停止する</translation>
+        <translation type="obsolete">仮想マシンの実行を一時停止する</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>選択した仮想マシンを再起動</translation>
+        <translation type="obsolete">選択した仮想マシンを再起動</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>選択した仮想マシンを破棄</translation>
+        <translation type="obsolete">選択した仮想マシンを破棄</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>仮想マシン定義ファイルをFinderに表示します</translation>
+        <translation type="obsolete">仮想マシン定義ファイルをFinderに表示します</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>仮想マシン定義ファイルをエクスプローラーに表示</translation>
+        <translation type="obsolete">仮想マシン定義ファイルをエクスプローラーに表示</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>仮想マシン定義ファイルのエイリアスをデスクトップに作成</translation>
+        <translation type="obsolete">仮想マシン定義ファイルのエイリアスをデスクトップに作成</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>仮想マシン定義ファイルのショートカットをデスクトップに作成</translation>
+        <translation type="obsolete">仮想マシン定義ファイルのショートカットをデスクトップに作成</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>保存状態</translation>
+        <translation type="obsolete">保存状態</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>選択した仮想マシンを保存状態に</translation>
+        <translation type="obsolete">選択した仮想マシンを保存状態に</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>仮想マシンに電源ボタン オフのACPIイベントを送信する</translation>
+        <translation type="obsolete">仮想マシンに電源ボタン オフのACPIイベントを送信する</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -864,27 +864,27 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>選択した仮想マシンを電源オフ</translation>
+        <translation type="obsolete">選択した仮想マシンを電源オフ</translation>
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>新規仮想マシンの作成</translation>
+        <translation type="obsolete">新規仮想マシンの作成</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>既存の仮想マシンを追加</translation>
+        <translation type="obsolete">既存の仮想マシンを追加</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>選択した仮想マシンの名前を変更</translation>
+        <translation type="obsolete">選択した仮想マシンの名前を変更</translation>
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>選択した仮想マシングループのアイテムをアルファベット順にソートします</translation>
+        <translation type="obsolete">選択した仮想マシングループのアイテムをアルファベット順にソートします</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>選択した仮想マシンを除去</translation>
+        <translation type="obsolete">選択した仮想マシンを除去</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -904,15 +904,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>最新の情報に更新(&F)...</translation>
+        <translation type="obsolete">最新の情報に更新(&F)...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>選択した仮想マシンのアクセス可否状態を最新の情報に更新する</translation>
+        <translation type="obsolete">選択した仮想マシンのアクセス可否状態を最新の情報に更新する</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Finderに表示</translation>
+        <translation type="obsolete">Finderに表示</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -920,7 +920,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>エクスプローラーに表示</translation>
+        <translation type="obsolete">エクスプローラーに表示</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -928,11 +928,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>ファイルマネージャーで表示</translation>
+        <translation type="obsolete">ファイルマネージャーで表示</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>仮想マシン定義ファイルをファイルマネージャーで表示します</translation>
+        <translation type="obsolete">仮想マシン定義ファイルをファイルマネージャーで表示します</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -940,15 +940,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>グループ解除(&U)...</translation>
+        <translation type="obsolete">グループ解除(&U)...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>選択した仮想マシングループのグループを解除</translation>
+        <translation type="obsolete">選択した仮想マシングループのグループを解除</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>ソート</translation>
+        <translation type="obsolete">ソート</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -960,7 +960,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>選択したアイテムに基づいて新しいグループを作成</translation>
+        <translation type="obsolete">選択したアイテムに基づいて新しいグループを作成</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -968,7 +968,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>選択した仮想マシンをクローン</translation>
+        <translation type="obsolete">選択した仮想マシンをクローン</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -984,7 +984,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>保存状態を破棄(&I)...</translation>
+        <translation type="obsolete">保存状態を破棄(&I)...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -992,7 +992,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>デスクトップにエイリアスを作成</translation>
+        <translation type="obsolete">デスクトップにエイリアスを作成</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -1000,7 +1000,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>デスクトップにショートカットを作成</translation>
+        <translation type="obsolete">デスクトップにショートカットを作成</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -1028,7 +1028,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>メニューバーの設定をするのにウィンドウを開きます</translation>
+        <translation type="obsolete">メニューバーの設定をするのにウィンドウを開きます</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -1036,7 +1036,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>この仮想マシンのメニューバーの表示非表示を切り替えます</translation>
+        <translation type="obsolete">この仮想マシンのメニューバーの表示非表示を切り替えます</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -1048,7 +1048,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>ステータスバーの設定をするのにウィンドウを開きます</translation>
+        <translation type="obsolete">ステータスバーの設定をするのにウィンドウを開きます</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -1056,7 +1056,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>この仮想マシンのステータスバーの表示非表示を切り替えます</translation>
+        <translation type="obsolete">この仮想マシンのステータスバーの表示非表示を切り替えます</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -1072,7 +1072,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>ショートカットの設定に環境設定ウィンドウを表示</translation>
+        <translation type="obsolete">ショートカットの設定に環境設定ウィンドウを表示</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -1080,19 +1080,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>ハードドライブ(&H)</translation>
+        <translation type="obsolete">ハードドライブ(&H)</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>ハードドライブの設定(&H)...</translation>
+        <translation type="obsolete">ハードドライブの設定(&H)...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>ハードドライブの設定変更</translation>
+        <translation type="obsolete">ハードドライブの設定変更</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>ネットワーク</translation>
+        <translation type="obsolete">ネットワーク</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -1100,7 +1100,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>USB デバイスの設定変更</translation>
+        <translation type="obsolete">USB デバイスの設定変更</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1133,7 +1133,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>アクティブな仮想マシンのウィンドウを最小化する</translation>
+        <translation type="obsolete">アクティブな仮想マシンのウィンドウを最小化する</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1153,7 +1153,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>送信(&I) %1</translation>
+        <translation type="obsolete">送信(&I) %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1181,7 +1181,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>ドラッグ&ドロップ</translation>
+        <translation type="obsolete">ドラッグ&ドロップ</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1198,7 +1198,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>仮想マシンをバックグラウンドで起動します</translation>
+        <translation type="obsolete">仮想マシンをバックグラウンドで起動します</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1206,7 +1206,316 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>仮想マシンを、ウィンドウを閉じてもバックグラウンドで継続できるオプション付きで起動します</translation>
+        <translation type="obsolete">仮想マシンを、ウィンドウを閉じてもバックグラウンドで継続できるオプション付きで起動します</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">環境設定(&P)...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">送信(&I) %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">ハードディスク(&H)</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">有効</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">%1 x %2 にリサイズ</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">USB デバイス 未接続</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Webカメラ未接続</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">ホストPCにサポートしているWebカメラが接続されていません</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">最新の情報に更新(&F)</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1214,17 +1523,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>有効</translation>
+        <translation type="obsolete">有効</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>%1 x %2 にリサイズ</translation>
+        <translation type="obsolete">%1 x %2 にリサイズ</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1247,6 +1556,28 @@
             <numerusform>この仮想マシンはパスワード保護されています。以下に %n パスワードを入力してください。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">パスワード表フィールド</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">パスワード</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1300,19 +1631,19 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>ハードディスクコントローラー (IDE)</translation>
+        <translation type="obsolete">ハードディスクコントローラー (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>ハードディスクコントローラー (SATA)</translation>
+        <translation type="obsolete">ハードディスクコントローラー (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>ハードディスクコントローラー (SCSI)</translation>
+        <translation type="obsolete">ハードディスクコントローラー (SCSI)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>ハードディスクコントローラー (SAS)</translation>
+        <translation type="obsolete">ハードディスクコントローラー (SAS)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1376,6 +1707,22 @@
         <source>Warnings:</source>
         <translation>警告:</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1915,7 +2262,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>データを読み出し中...</translation>
+        <translation type="obsolete">データを読み出し中...</translation>
     </message>
 </context>
 <context>
@@ -1924,6 +2271,10 @@
         <source>Dropping data ...</source>
         <translation>データのドロップ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">データを読み出し中...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2033,22 +2384,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>パスワード表フィールド</translation>
+        <translation type="obsolete">パスワード表フィールド</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>パスワード</translation>
+        <translation type="obsolete">パスワード</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>以下の %n ハードドライブで使用中:</nobr><br>%1</numerusform>
         </translation>
     </message>
@@ -3011,47 +3362,47 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Scale-factor</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">表示倍率</translation>
+        <translation>表示倍率</translation>
     </message>
     <message>
         <source>Unscaled HiDPI Video Output</source>
         <comment>details (display)</comment>
-        <translation type="unfinished">スケールしない HiDPI 出力</translation>
+        <translation>スケールしない HiDPI 出力</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (display/Unscaled HiDPI Video Output)</comment>
-        <translation type="unfinished">有効</translation>
+        <translation>有効</translation>
     </message>
     <message>
         <source>Menu-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>メニューバー</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">有効</translation>
+        <translation>有効</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">無効</translation>
+        <translation>無効</translation>
     </message>
     <message>
         <source>Status-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>ステータスバー</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">有効</translation>
+        <translation>有効</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">無効</translation>
+        <translation>無効</translation>
     </message>
 </context>
 <context>
@@ -3303,7 +3654,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>ゲストで使用するスクリーンの最大幅を指定してください。</translation>
+        <translation type="obsolete">ゲストで使用するスクリーンの最大幅を指定してください。</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3311,7 +3662,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>ゲストで使用するスクリーンの最大高を指定してください。</translation>
+        <translation type="obsolete">ゲストで使用するスクリーンの最大高を指定してください。</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3346,12 +3697,24 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>仮想マシンのウィンドウが、マウスポインターが通過する際にアクティブになるようになります。</translation>
+        <translation type="obsolete">仮想マシンのウィンドウが、マウスポインターが通過する際にアクティブになるようになります。</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>マウス通過でウィンドウをアクティブ化(&R)</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -3385,11 +3748,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>パッケージを追加</translation>
+        <translation type="obsolete">パッケージを追加</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>パッケージを除去</translation>
+        <translation type="obsolete">パッケージを除去</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3399,6 +3762,22 @@ p, li { white-space: pre-wrap; }
         <source>Extension package files (%1)</source>
         <translation>機能拡張パッケージファイル(%1)</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3428,7 +3807,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>ホストのスクリーンセーバー(&H):</translation>
+        <translation type="obsolete">ホストのスクリーンセーバー(&H):</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3436,7 +3815,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>仮想マシンの動作時に無効</translation>
+        <translation type="obsolete">仮想マシンの動作時に無効</translation>
     </message>
     <message>
         <source>Default &Hard Disk Folder:</source>
@@ -3482,6 +3861,14 @@ p, li { white-space: pre-wrap; }
         <source>&Auto show Dock and Menubar in fullscreen</source>
         <translation type="obsolete">フルスクリーンモード時にドックとメニューバーを自動的に表示(&A)</translation>
     </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsInput</name>
@@ -3535,11 +3922,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>設定できるすべてのショートカット一覧を表示します。</translation>
+        <translation type="obsolete">設定できるすべてのショートカット一覧を表示します。</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>検索語を入力してショートカットリストを絞り込みます。</translation>
+        <translation type="obsolete">検索語を入力してショートカットリストを絞り込みます。</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3819,27 +4214,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>NATネットワークの追加(&A)</translation>
+        <translation type="obsolete">NATネットワークの追加(&A)</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>NATネットワークの除去(&R)</translation>
+        <translation type="obsolete">NATネットワークの除去(&R)</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>NATネットワークの編集(&E)</translation>
+        <translation type="obsolete">NATネットワークの編集(&E)</translation>
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>ホストオンリーネットワークを追加(&A)</translation>
+        <translation type="obsolete">ホストオンリーネットワークを追加(&A)</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>ホストオンリーネットワークを除去(&R)</translation>
+        <translation type="obsolete">ホストオンリーネットワークを除去(&R)</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>ホストオンリーネットワークを編集(&E)</translation>
+        <translation type="obsolete">ホストオンリーネットワークを編集(&E)</translation>
     </message>
     <message>
         <source>Networking</source>
@@ -3878,6 +4273,54 @@ p, li { white-space: pre-wrap; }
         <source>Name</source>
         <translation>名前</translation>
     </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetails</name>
@@ -3990,7 +4433,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>このホストオンリーネットワークアダプターを手動で構成します。</translation>
+        <translation type="obsolete">このホストオンリーネットワークアダプターを手動で構成します。</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4034,7 +4477,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>仮想マシンの起動時にDHCP サーバーを有効化するかどうかを示します。</translation>
+        <translation type="obsolete">仮想マシンの起動時にDHCP サーバーを有効化するかどうかを示します。</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4068,6 +4511,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>ホストオンリーアダプターでDHCP サーバーによって割り当てられるアドレスの上限値を指定します。</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4081,7 +4532,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>このNATネットワークを有効化します。</translation>
+        <translation type="obsolete">このNATネットワークを有効化します。</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4109,7 +4560,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>このネットワークでDHCPをサポートするかを決定します。</translation>
+        <translation type="obsolete">このネットワークでDHCPをサポートするかを決定します。</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4117,7 +4568,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>このネットワークでIPv6をサポートするかを決定します。</translation>
+        <translation type="obsolete">このネットワークでIPv6をサポートするかを決定します。</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4125,16 +4576,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>このネットワークでIPv6デフォルトルートのアドバタイズをするかどうかを決定します。</translation>
+        <translation type="obsolete">このネットワークでIPv6デフォルトルートのアドバタイズをするかどうかを決定します。</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>ポートフォワーディングのルールを設定するウィンドウを開きます。</translation>
+        <translation type="obsolete">ポートフォワーディングのルールを設定するウィンドウを開きます。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>ポートフォワーディング(&P)</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4167,7 +4638,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>プロキシーのホストを変更します。</translation>
+        <translation type="obsolete">プロキシーのホストを変更します。</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4175,7 +4646,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>プロキシーのポートを変更します。</translation>
+        <translation type="obsolete">プロキシーのポートを変更します。</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4209,6 +4680,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>現在プロキシーのポートが指定されていません。</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4226,7 +4705,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>アップデートを確認する頻度を指定します。 注:アップデートを確認しない場合は、上のチェックボックスをオフにしてください。</translation>
+        <translation type="obsolete">アップデートを確認する頻度を指定します。 注:アップデートを確認しない場合は、上のチェックボックスをオフにしてください。</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4260,6 +4739,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>すべてのリリース版とプレリリース版(&P)</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4668,7 +5151,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>アクティブな仮想ハードディスクを表示:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>アクティブな仮想ハードディスクを表示:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4780,7 +5263,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>キーボードがゲストOSにキャプチャーされているとき(<img src=:/hostkey_captured_16px.png/>)か、そうではないとき(<img src=:/hostkey_16px.png/>)かを表示します。</translation>
+        <translation type="obsolete">キーボードがゲストOSにキャプチャーされているとき(<img src=:/hostkey_captured_16px.png/>)か、そうではないとき(<img src=:/hostkey_16px.png/>)かを表示します。</translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the display:</nobr>%1</p></source>
@@ -4796,6 +5279,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>アクティブなフロッピーデバイスを表示:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4816,19 +5308,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>プレビュー ディスプレイ %1</translation>
+        <translation type="obsolete">プレビュー ディスプレイ %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>スナップショット %1</translation>
+        <translation type="obsolete">スナップショット %1</translation>
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Webカメラ未接続</translation>
+        <translation type="obsolete">Webカメラ未接続</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>ホストPCにサポートしているWebカメラが接続されていません</translation>
+        <translation type="obsolete">ホストPCにサポートしているWebカメラが接続されていません</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4868,19 +5360,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>USB デバイス 未接続</translation>
+        <translation type="obsolete">USB デバイス 未接続</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>ホストPCにサポートしているデバイスが接続されていません</translation>
+        <translation type="obsolete">ホストPCにサポートしているデバイスが接続されていません</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>ネットワークアダプターを接続</translation>
+        <translation type="obsolete">ネットワークアダプターを接続</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>ネットワークアダプターを接続 %1</translation>
+        <translation type="obsolete">ネットワークアダプターを接続 %1</translation>
     </message>
 </context>
 <context>
@@ -4899,7 +5391,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>オーディオ出力ドライバーを選択します。<b>Null Audio Driver</b>はゲストOSからオーディオカードとして認識されますが、デバイスへのすべてのアクセスは無視されます。</translation>
+        <translation type="obsolete">オーディオ出力ドライバーを選択します。<b>Null Audio Driver</b>はゲストOSからオーディオカードとして認識されますが、デバイスへのすべてのアクセスは無視されます。</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4909,6 +5401,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>仮想サウンドカードのタイプを選択します。 この値により、VirtualBoxは異なったオーディオ ハードウェアを仮想マシンに提供します。</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4938,7 +5434,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>仮想マシンはビデオメモリーが <b>%1</b> よりも少なく割り当てられています。フルスクリーンやシームレスモードに切り替えるなら最低でも左記の量を割り当ててください。</translation>
+        <translation type="obsolete">仮想マシンはビデオメモリーが <b>%1</b> よりも少なく割り当てられています。フルスクリーンやシームレスモードに切り替えるなら最低でも左記の量を割り当ててください。</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -4962,11 +5458,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>User Defined</source>
@@ -5053,7 +5549,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>仮想マシンへの複数の同時接続を許可するかどうかを指定します。</translation>
+        <translation type="obsolete">仮想マシンへの複数の同時接続を許可するかどうかを指定します。</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5077,7 +5573,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>この設定は、VirtualBoxが録画したファイルをどこに保存するかを決定します。</translation>
+        <translation type="obsolete">この設定は、VirtualBoxが録画したファイルをどこに保存するかを決定します。</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5085,15 +5581,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>この設定は、録画するビデオの解像度(フレームサイズ)を決定します。</translation>
+        <translation type="obsolete">この設定は、録画するビデオの解像度(フレームサイズ)を決定します。</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>この設定は、録画するビデオの <b>横</b> の解像度(フレーム幅)を決定します。</translation>
+        <translation type="obsolete">この設定は、録画するビデオの <b>横</b> の解像度(フレーム幅)を決定します。</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>この設定は、録画するビデオの <b>縦</b> の解像度(フレーム高)を決定します。</translation>
+        <translation type="obsolete">この設定は、録画するビデオの <b>縦</b> の解像度(フレーム高)を決定します。</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5101,7 +5597,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>この設定は、最大の<b>フレーム毎秒</b>を決定します。 追加のフレームはスキップされます。この値を少なくするとスキップするフレームが多くなり、ファイルサイズが小さくなります。</translation>
+        <translation type="obsolete">この設定は、最大の<b>フレーム毎秒</b>を決定します。 追加のフレームはスキップされます。この値を少なくするとスキップするフレームが多くなり、ファイルサイズが小さくなります。</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5109,11 +5605,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>この設定は<b>画質</b>を決定します。この値を増やすとビデオの見た目が良くなり、ファイルサイズが増加します。</translation>
+        <translation type="obsolete">この設定は<b>画質</b>を決定します。この値を増やすとビデオの見た目が良くなり、ファイルサイズが増加します。</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>この設定はビットレート(<b>キロバイト毎秒</b>)を決定します。この値を大きくするとビデオの見た目が良くなり、ファイルサイズが増加します。</translation>
+        <translation type="obsolete">この設定はビットレート(<b>キロバイト毎秒</b>)を決定します。この値を大きくするとビデオの見た目が良くなり、ファイルサイズが増加します。</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5129,7 +5625,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>VRDP の認証方式を指定します。</translation>
+        <translation type="obsolete">VRDP の認証方式を指定します。</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5137,7 +5633,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>ゲスト認証のタイムアウト値をミリ秒単位で指定します。</translation>
+        <translation type="obsolete">ゲスト認証のタイムアウト値をミリ秒単位で指定します。</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5153,7 +5649,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP サーバーのポート番号です。RDP標準のポート番号(3389)を選択するために<tt>0</tt>(ゼロ)を指定できます。</translation>
+        <translation type="obsolete">VRDP サーバーのポート番号です。RDP標準のポート番号(3389)を選択するために<tt>0</tt>(ゼロ)を指定できます。</translation>
     </message>
     <message>
         <source>Screen %1</source>
@@ -5161,7 +5657,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>スクリーン %1 のビデオを録画します。</translation>
+        <translation type="obsolete">スクリーン %1 のビデオを録画します。</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -5197,42 +5693,106 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Screen</source>
-        <translation type="unfinished"></translation>
+        <translation>スクリーン(&S)</translation>
     </message>
     <message>
         <source>Scale Factor:</source>
-        <translation type="unfinished"></translation>
+        <translation>表示倍率:</translation>
     </message>
     <message>
         <source>Controls the guest screen scale factor.</source>
-        <translation type="unfinished"></translation>
+        <translation>この設定はゲストスクリーンの表示倍率を調整します。</translation>
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="unfinished">%</translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
-        <translation type="unfinished"></translation>
+        <translation>ゲストスクリーンの内容をホストのスクリーン解像度に合わせてスケールする処理を行いません。</translation>
     </message>
     <message>
         <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished">スケールしない HiDPI 出力を使用(&U)</translation>
+        <translation>スケールしない HiDPI 出力を使用(&U)</translation>
     </message>
     <message>
         <source>Acceleration:</source>
+        <translation>アクセラレーション:</translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5256,7 +5816,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>この仮想マシンのスナップショットの保存先パスを指定します。注:スナップショットは多くのディスク容量を消費します。</translation>
+        <translation type="obsolete">この仮想マシンのスナップショットの保存先パスを指定します。注:スナップショットは多くのディスク容量を消費します。</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5516,7 +6076,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>仮想マシンのディスクを暗号化する際に使用する暗号化方式を決定します。</translation>
+        <translation type="obsolete">仮想マシンのディスクを暗号化する際に使用する暗号化方式を決定します。</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -5555,6 +6115,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation>変更しない</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5600,15 +6168,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>フルスクリーンモードとシームレスモード時にミニツールバーを表示します。</translation>
+        <translation type="obsolete">フルスクリーンモードとシームレスモード時にミニツールバーを表示します。</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>フルスクリーン/シームレスモード時に表示(&F)</translation>
+        <translation type="obsolete">フルスクリーン/シームレスモード時に表示(&F)</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>ミニツールバーをスクリーンの上部に表示します。デフォルトの設定ではスクリーンの下部に表示します。</translation>
+        <translation type="obsolete">ミニツールバーをスクリーンの上部に表示します。デフォルトの設定ではスクリーンの下部に表示します。</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5618,6 +6186,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation>VM ステータスバーの内容変更を許可します。</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5651,7 +6231,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>仮想アダプターをホストOSの実際のネットワークに割り当てる方式を指定します。</translation>
+        <translation type="obsolete">仮想アダプターをホストOSの実際のネットワークに割り当てる方式を指定します。</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5679,7 +6259,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>仮想マシンの起動時に仮想ネットワークケーブルが接続されるかどうかを示します。</translation>
+        <translation type="obsolete">仮想マシンの起動時に仮想ネットワークケーブルが接続されるかどうかを示します。</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5867,7 +6447,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>ネットワークアダプターの高度なオプションの表示/非表示を切り替えます。</translation>
+        <translation type="obsolete">ネットワークアダプターの高度なオプションの表示/非表示を切り替えます。</translation>
     </message>
     <message>
         <source>&Promiscuous Mode:</source>
@@ -5887,7 +6467,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>利用する予定のネットワーク接続ドライバーの設定を入力してください。設定は <b>name=value</b> の形式である必要があり、ドライバーに依存します。新しくエントリーを追加するには、<b>shift-enter</b> キーを使用してください。</translation>
+        <translation type="obsolete">利用する予定のネットワーク接続ドライバーの設定を入力してください。設定は <b>name=value</b> の形式である必要があり、ドライバーに依存します。新しくエントリーを追加するには、<b>shift-enter</b> キーを使用してください。</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5895,12 +6475,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>ポートフォワーディングのルールを設定するウィンドウを開きます。</translation>
+        <translation type="obsolete">ポートフォワーディングのルールを設定するウィンドウを開きます。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>ポートフォワーディング(&P)</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6059,6 +6659,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>このパラレルポートのベースI/Oポートアドレスを指定します。 有効値は<tt>0</tt>から<tt>0xFFFF</tt>の範囲の整数です。</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">現在IRQが指定されていません。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">現在 I/Oポートが指定されていません。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">2つ以上のポートが同じ設定になっています。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">現在ポートパスが指定されていません。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">現在ポートパスが重複して指定されています。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6076,23 +6696,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>現在IRQが指定されていません。</translation>
+        <translation type="obsolete">現在IRQが指定されていません。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>現在 I/Oポートが指定されていません。</translation>
+        <translation type="obsolete">現在 I/Oポートが指定されていません。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>2つ以上のポートが同じ設定になっています。</translation>
+        <translation type="obsolete">2つ以上のポートが同じ設定になっています。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>現在ポートパスが指定されていません。</translation>
+        <translation type="obsolete">現在ポートパスが指定されていません。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>現在ポートパスが重複して指定されています。</translation>
+        <translation type="obsolete">現在ポートパスが重複して指定されています。</translation>
     </message>
 </context>
 <context>
@@ -6103,27 +6723,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>ポートフォワーディング ルールをリスト表示します。</translation>
+        <translation type="obsolete">ポートフォワーディング ルールをリスト表示します。</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>新規ルールを追加</translation>
+        <translation type="obsolete">新規ルールを追加</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>選択したルールをコピー</translation>
+        <translation type="obsolete">選択したルールをコピー</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>選択したルールを削除</translation>
+        <translation type="obsolete">選択したルールを削除</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>新規ポートフォワーディング ルールを追加します。</translation>
+        <translation type="obsolete">新規ポートフォワーディング ルールを追加します。</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>選択したポートフォワーディング ルールを削除します。</translation>
+        <translation type="obsolete">選択したポートフォワーディング ルールを削除します。</translation>
     </message>
 </context>
 <context>
@@ -6142,15 +6762,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>新規共有フォルダーを追加します。</translation>
+        <translation type="obsolete">新規共有フォルダーを追加します。</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>選択した共有フォルダーの設定を編集します。</translation>
+        <translation type="obsolete">選択した共有フォルダーの設定を編集します。</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>選択した共有フォルダーの設定を除去します。</translation>
+        <translation type="obsolete">選択した共有フォルダーの設定を除去します。</translation>
     </message>
     <message>
         <source>Yes</source>
@@ -6198,20 +6818,44 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>共有フォルダーを追加(&A)</translation>
+        <translation type="obsolete">共有フォルダーを追加(&A)</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>共有フォルダーを編集(&E)</translation>
+        <translation type="obsolete">共有フォルダーを編集(&E)</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>共有フォルダーを除去(&R)</translation>
+        <translation type="obsolete">共有フォルダーを除去(&R)</translation>
     </message>
     <message>
         <source>&Folders List</source>
         <translation>フォルダー リスト(&F)</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6257,12 +6901,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>共有フォルダーを永続化します。</translation>
+        <translation type="obsolete">共有フォルダーを永続化します。</translation>
     </message>
     <message>
         <source>&Make Permanent</source>
         <translation>永続化する(&M)</translation>
     </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerial</name>
@@ -6309,7 +6957,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>このシリアルポートの動作モードを指定します。 <b>[切断]</b>を選択すると、ゲストOSはシリアルポートを検出しますが、それを操作することはできません。</translation>
+        <translation type="obsolete">このシリアルポートの動作モードを指定します。 <b>[切断]</b>を選択すると、ゲストOSはシリアルポートを検出しますが、それを操作することはできません。</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6341,7 +6989,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>仮想マシンは<b>パス/アドレス</b>フィールドで指定したパイプまたはソケットが存在するものと想定し、これを使おうとします。チェックを入れない場合、パイプまたはソケットは仮想マシンの開始時に作成されます。</translation>
+        <translation type="obsolete">仮想マシンは<b>パス/アドレス</b>フィールドで指定したパイプまたはソケットが存在するものと想定し、これを使おうとします。チェックを入れない場合、パイプまたはソケットは仮想マシンの開始時に作成されます。</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -6355,6 +7003,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p><b>ホストにパイプ</b> モード: ホストのシリアルポートのパスに設定します。 例: Windows と Unixライクなシステムでは "\\.\pipe\myvbox" または "/tmp/myvbox"です。</p><p><b>ホストデバイス</b> モード: ホストのシリアルデバイス名に設定します。 例: "COM1" or "/dev/ttyS0"</p><p><b>Rawファイル</b> モード: シリアル出力がダンプされるホストのファイルパスを設定します</p><p><b>TCP</b>モード: TCP サーバーの場合は"ポート"、クライアントモードの場合は "ホスト名:ポート" を設定します。</translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">現在IRQが指定されていません。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">現在 I/Oポートが指定されていません。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">2つ以上のポートが同じ設定になっています。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">現在ポートパスが指定されていません。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">現在ポートパスが重複して指定されています。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6372,23 +7048,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>現在IRQが指定されていません。</translation>
+        <translation type="obsolete">現在IRQが指定されていません。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>現在 I/Oポートが指定されていません。</translation>
+        <translation type="obsolete">現在 I/Oポートが指定されていません。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>2つ以上のポートが同じ設定になっています。</translation>
+        <translation type="obsolete">2つ以上のポートが同じ設定になっています。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>現在ポートパスが指定されていません。</translation>
+        <translation type="obsolete">現在ポートパスが指定されていません。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>現在ポートパスが重複して指定されています。</translation>
+        <translation type="obsolete">現在ポートパスが重複して指定されています。</translation>
     </message>
 </context>
 <context>
@@ -6479,15 +7155,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>イメージ</translation>
+        <translation type="obsolete">イメージ</translation>
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>項目を展開する/折り畳む&nbsp;</nobr></translation>
+        <translation type="obsolete"><nobr>項目を展開する/折り畳む&nbsp;</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>ハードディスク&nbsp;の追加</nobr></translation>
+        <translation type="obsolete"><nobr>ハードディスク&nbsp;の追加</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6601,19 +7277,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>新しいコントローラーをストレージツリーの最後に追加します。</translation>
+        <translation type="obsolete">新しいコントローラーをストレージツリーの最後に追加します。</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>ハイライト表示されたストレージツリーのコントローラーを除去します。</translation>
+        <translation type="obsolete">ハイライト表示されたストレージツリーのコントローラーを除去します。</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>現在選択されているコントローラーを親として新たな割り当てをストレージツリーに追加します。</translation>
+        <translation type="obsolete">現在選択されているコントローラーを親として新たな割り当てをストレージツリーに追加します。</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>ハイライト表示されたストレージツリーの割り当てを除去します。</translation>
+        <translation type="obsolete">ハイライト表示されたストレージツリーの割り当てを除去します。</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6645,7 +7321,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>仮想ハードディスクの設定</translation>
+        <translation type="obsolete">仮想ハードディスクの設定</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6669,15 +7345,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>仮想フロッピードライブの設定</translation>
+        <translation type="obsolete">仮想フロッピードライブの設定</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>新規仮想ハードディスクの作成...</translation>
+        <translation type="obsolete">新規仮想ハードディスクの作成...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>仮想ハードディスクファイルの選択...</translation>
+        <translation type="obsolete">仮想ハードディスクファイルの選択...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6689,7 +7365,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>仮想フロッピーディスクファイルの選択...</translation>
+        <translation type="obsolete">仮想フロッピーディスクファイルの選択...</translation>
     </message>
     <message>
         <source>&CD/DVD Device:</source>
@@ -6705,7 +7381,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>この仮想マシンのすべてのストレージコントローラーと仮想イメージ、割り当てられたホストデバイスを含みます。</translation>
+        <translation type="obsolete">この仮想マシンのすべてのストレージコントローラーと仮想イメージ、割り当てられたホストデバイスを含みます。</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6725,7 +7401,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>ストレージツリーで選択されているストレージコントローラーの名前を変更します。</translation>
+        <translation type="obsolete">ストレージツリーで選択されているストレージコントローラーの名前を変更します。</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6745,7 +7421,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>ホストのI/O キャッシュ機能を使用します。</translation>
+        <translation type="obsolete">ホストのI/O キャッシュ機能を使用します。</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6785,7 +7461,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>ゲストシステムが取り出ししても、仮想ディスクを除去しません。</translation>
+        <translation type="obsolete">ゲストシステムが取り出ししても、仮想ディスクを除去しません。</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6793,7 +7469,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>ゲストOSの仮想ディスクをSSDとして扱います。</translation>
+        <translation type="obsolete">ゲストOSの仮想ディスクをSSDとして扱います。</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6845,7 +7521,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>ゲストOSの仮想ディスクをホットプラグ可能なデバイスとして扱います。</translation>
+        <translation type="obsolete">ゲストOSの仮想ディスクをホットプラグ可能なデバイスとして扱います。</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -6853,15 +7529,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>仮想光学ディスクファイルの選択...</translation>
+        <translation type="obsolete">仮想光学ディスクファイルの選択...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>光学&nbsp;ドライブ&nbsp;の追加</nobr></translation>
+        <translation type="obsolete"><nobr>光学&nbsp;ドライブ&nbsp;の追加</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>フロッピー&nbsp;ドライブ&nbsp;の追加</nobr></translation>
+        <translation type="obsolete"><nobr>フロッピー&nbsp;ドライブ&nbsp;の追加</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -6881,10 +7557,95 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>仮想光学ドライブの設定</translation>
+        <translation type="obsolete">仮想光学ドライブの設定</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
+        <translation>暗号化の鍵:</translation>
+    </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">イメージ</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6968,22 +7729,22 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -7016,7 +7777,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>下に移動(Ctrl-Down)</translation>
+        <translation type="obsolete">下に移動(Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7052,7 +7813,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>上に移動(Ctrl-Up)</translation>
+        <translation type="obsolete">上に移動(Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7088,7 +7849,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>ハードウェアクロック(RTC)が報告する時刻を協定世界時(UTC)に設定します。オフの場合はローカルタイム(ホスト時刻)を使用します。通常UnixはハードウェアクロックをUTCとして扱います。</translation>
+        <translation type="obsolete">ハードウェアクロック(RTC)が報告する時刻を協定世界時(UTC)に設定します。オフの場合はローカルタイム(ホスト時刻)を使用します。通常UnixはハードウェアクロックをUTCとして扱います。</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7141,7 +7902,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPUs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPUs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7175,6 +7936,32 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>ハードウェア仮想化がシステムページのアクセラレーションセクションで有効になっていません。仮想プロセッサーを複数にするのなら必須です。変更を確認すると自動的に有効になります。</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
@@ -7192,51 +7979,51 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>空のフィルターを追加(&A)</translation>
+        <translation type="obsolete">空のフィルターを追加(&A)</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>デバイスからフィルターを追加する(&D)</translation>
+        <translation type="obsolete">デバイスからフィルターを追加する(&D)</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>フィルターを編集する(&E)</translation>
+        <translation type="obsolete">フィルターを編集する(&E)</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>フィルターを除去する(&R)</translation>
+        <translation type="obsolete">フィルターを除去する(&R)</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>フィルターを上に移動する(&M)</translation>
+        <translation type="obsolete">フィルターを上に移動する(&M)</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>フィルターを下に移動(&O)</translation>
+        <translation type="obsolete">フィルターを下に移動(&O)</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>すべてのフィールドが空の新規USB フィルターを追加します。注:このフィルターはすべての接続されたUSB デバイスに適合します。</translation>
+        <translation type="obsolete">すべてのフィールドが空の新規USB フィルターを追加します。注:このフィルターはすべての接続されたUSB デバイスに適合します。</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>ホストマシンに接続された、選択したUSB デバイスの値をすべてのフィールドに設定した新規USB フィルターを追加します。</translation>
+        <translation type="obsolete">ホストマシンに接続された、選択したUSB デバイスの値をすべてのフィールドに設定した新規USB フィルターを追加します。</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>選択したUSB フィルターを編集します。</translation>
+        <translation type="obsolete">選択したUSB フィルターを編集します。</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>選択したUSB フィルターを除去します。</translation>
+        <translation type="obsolete">選択したUSB フィルターを除去します。</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>選択したUSB フィルターを上に移動します。</translation>
+        <translation type="obsolete">選択したUSB フィルターを上に移動します。</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>選択したUSB フィルターを下に移動します。</translation>
+        <translation type="obsolete">選択したUSB フィルターを下に移動します。</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7293,7 +8080,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>仮想マシンの仮想USB EHCI コントローラーを有効にします。USB EHCI コントローラーはUSB 2.0 サポートを提供します。</translation>
+        <translation type="obsolete">仮想マシンの仮想USB EHCI コントローラーを有効にします。USB EHCI コントローラーはUSB 2.0 サポートを提供します。</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7313,7 +8100,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>仮想マシンの仮想USB OHCI コントローラーを有効にします。USB OHCI コントローラーはUSB 1.0 サポートを提供します。</translation>
+        <translation type="obsolete">仮想マシンの仮想USB OHCI コントローラーを有効にします。USB OHCI コントローラーはUSB 1.0 サポートを提供します。</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -7325,7 +8112,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>仮想マシンの仮想USB xHCI コントローラーを有効にします。USB xHCI コントローラーはUSB 3.0 サポートを提供します。</translation>
+        <translation type="obsolete">仮想マシンの仮想USB xHCI コントローラーを有効にします。USB xHCI コントローラーはUSB 3.0 サポートを提供します。</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -7335,6 +8122,66 @@ p, li { white-space: pre-wrap; }
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0がこの仮想マシンで有効です。しかし、これには <b>%1</b> のインストールが必要です。VirtualBoxダウンロードサイトから拡張パックをインストールするか、マシンを開始するためにUSB 2.0/3.0を無効にしてください。</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">空のフィルターを追加</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">デバイスからフィルターを追加</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">フィルターを除去</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">フィルターを上に移動</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">フィルターを下に移動</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -7367,7 +8214,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>ベンダーIDフィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>XXXX</tt>で、<tt>X</tt>は16進数です。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete">ベンダーIDフィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>XXXX</tt>で、<tt>X</tt>は16進数です。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7375,7 +8222,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>プロダクトIDフィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>XXXX</tt>で、<tt>X</tt>は16進数です。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete">プロダクトIDフィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>XXXX</tt>で、<tt>X</tt>は16進数です。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7383,7 +8230,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>リビジョン番号フィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>IIFF</tt>で、<tt>I</tt>は10進数で整数部、<tt>F</tt>は10進数で小数部です。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete">リビジョン番号フィルターを定義します。<i>完全一致</i>する文字列の形式は<tt>IIFF</tt>で、<tt>I</tt>は10進数で整数部、<tt>F</tt>は10進数で小数部です。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7391,7 +8238,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>完全一致</i>するメーカー フィルターを定義します。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete"><i>完全一致</i>するメーカー フィルターを定義します。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7399,7 +8246,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>完全一致</i>する製品名フィルターを定義します。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete"><i>完全一致</i>する製品名フィルターを定義します。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7407,35 +8254,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>完全一致</i>するシリアル番号フィルターを定義します。空の文字列はすべての値と一致します。</translation>
+        <translation type="obsolete"><i>完全一致</i>するシリアル番号フィルターを定義します。空の文字列はすべての値と一致します。</translation>
     </message>
     <message>
         <source>Por&t:</source>
         <translation>ポート(&T):</translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>完全一致</i>するホストUSBポート フィルターを定義します。空の文字列はすべての値と一致します。</translation>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete"><i>完全一致</i>するホストUSBポート フィルターを定義します。空の文字列はすべての値と一致します。</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>リモート(&E):</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">ローカルに接続されたUSB デバイスにこのフィルターを適用するかどうかを定義します。ホストマシン(<i>いいえ</i>)、VRDP クライアントのコンピューター(<i>はい</i>)、両方((<i>任意</i>))。</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">動作(&A):</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">一致するデバイスが接続されたとき、ホストマシンが実行する動作を定義します:ホストOSに譲る(<i>無視</i>) 、仮想マシンで使用するために捕捉(<i>保持</i>)。</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>USB フィルター詳細</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>リモート(&E):</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>ローカルに接続されたUSB デバイスにこのフィルターを適用するかどうかを定義します。ホストマシン(<i>いいえ</i>)、VRDP クライアントのコンピューター(<i>はい</i>)、両方((<i>任意</i>))。</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">動作(&A):</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">一致するデバイスが接続されたとき、ホストマシンが実行する動作を定義します:ホストOSに譲る(<i>無視</i>) 、仮想マシンで使用するために捕捉(<i>保持</i>)。</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>USB フィルター詳細</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7456,7 +8335,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>ハードドライブ(&H)</translation>
+        <translation type="obsolete">ハードドライブ(&H)</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7478,6 +8357,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation>メディアを除去中...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7945,16 +8828,12 @@ p, li { white-space: pre-wrap; }
         <translation><p>ポートフォワーディング設定の変更が保存されていません。</p><p>続行すると変更は破棄されます。</p></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>仮想光学ディスク <nobr><b>%1</b></nobr>を解放しますか?</p><p>次の仮想マシンから取り外します: <b>%2</b></p></translation>
+        <translation type="obsolete"><p>仮想光学ディスク <nobr><b>%1</b></nobr>を解放しますか?</p><p>次の仮想マシンから取り外します: <b>%2</b></p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>仮想フロッピーディスク <nobr><b>%1</b></nobr>を解放しますか?</p><p>次の仮想マシンから取り外します: <b>%2</b></p></translation>
+        <translation type="obsolete"><p>仮想フロッピーディスク <nobr><b>%1</b></nobr>を解放しますか?</p><p>次の仮想マシンから取り外します: <b>%2</b></p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -7998,27 +8877,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>ハードディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
+        <translation type="obsolete">ハードディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>光学ディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
+        <translation type="obsolete">光学ディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>フロッピーディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
+        <translation type="obsolete">フロッピーディスクファイル <nobr><b>%1</b></nobr> を開けませんでした。</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>ハードディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
+        <translation type="obsolete">ハードディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>光学ディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
+        <translation type="obsolete">光学ディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>フロッピディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
+        <translation type="obsolete">フロッピディスクファイル <nobr><b>%2</b></nobr> を閉じられませんでした。</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -8382,7 +9261,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>ゲストOSのビデオメモリー不足のため、ゲスト画面をフルスクリーンモードに切り替えできません。</p><p>仮想マシンの設定でビデオメモリーを <b>%1</b>以上に設定してください。</p><p><b>[無視]</b>ボタンをクリックしてフルスクリーンモードに切り換えるか、<b>[キャンセル]</b>ボタンをクリックして操作を取り消してください。</p></translation>
+        <translation type="obsolete"><p>ゲストOSのビデオメモリー不足のため、ゲスト画面をフルスクリーンモードに切り替えできません。</p><p>仮想マシンの設定でビデオメモリーを <b>%1</b>以上に設定してください。</p><p><b>[無視]</b>ボタンをクリックしてフルスクリーンモードに切り換えるか、<b>[キャンセル]</b>ボタンをクリックして操作を取り消してください。</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8524,7 +9403,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>ハードディスク<nobr><b>"%1"</b></nobr>のストレージ装置を削除しますか?</p><p><b>[削除]</b>を選択すると、指定されたストレージ装置は永久に削除されます。この操作は<b>元に戻せません</b>。</p><p><b>[保持]</b>を選択すると、ハードディスクはリストから取り除かれますが、ストレージ装置は後でリストに再度追加できるように、そのまま置かれます。</p></translation>
+        <translation type="obsolete"><p>ハードディスク<nobr><b>"%1"</b></nobr>のストレージ装置を削除しますか?</p><p><b>[削除]</b>を選択すると、指定されたストレージ装置は永久に削除されます。この操作は<b>元に戻せません</b>。</p><p><b>[保持]</b>を選択すると、ハードディスクはリストから取り除かれますが、ストレージ装置は後でリストに再度追加できるように、そのまま置かれます。</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8947,7 +9826,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>スナップショットを削除すると、スナップショットに格納されている情報は失われ、VirtualBoxがスナップショットと共に作成した複数のディスクデータはひとつのファイルにマージされます。これには長い時間がかかるかもしれません。そしてスナップショットの情報を回復することはできません。</p><p>スナップショット<b>"%1"</b>を削除しますか?。</p></translation>
+        <translation type="obsolete"><p>スナップショットを削除すると、スナップショットに格納されている情報は失われ、VirtualBoxがスナップショットと共に作成した複数のディスクデータはひとつのファイルにマージされます。これには長い時間がかかるかもしれません。そしてスナップショットの情報を回復することはできません。</p><p>スナップショット<b>"%1"</b>を削除しますか?。</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8955,7 +9834,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>スナップショット %1の削除には多くのディスク容量を必要とします。ディスクイメージファイル %2のサイズは最大で%3まで増加します。しかし、ディスクの空き容量は%4しかありません。</p><p>マージ作業中にディスク容量が不足すると、仮想マシンのデータを失う可能性があります。</p><p>スナップショットの削除を自己責任で続行できます。</p></translation>
+        <translation type="obsolete"><p>スナップショット %1の削除には多くのディスク容量を必要とします。ディスクイメージファイル %2のサイズは最大で%3まで増加します。しかし、ディスクの空き容量は%4しかありません。</p><p>マージ作業中にディスク容量が不足すると、仮想マシンのデータを失う可能性があります。</p><p>スナップショットの削除を自己責任で続行できます。</p></translation>
     </message>
     <message>
         <source>Failed to restore the snapshot <b>%1</b> of the virtual machine <b>%2</b>.</source>
@@ -9118,7 +9997,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>仮想マシンのウィンドウを"フルスクリーン"モードに切り替えます。<b>%1</b>キーを押すといつでもウィンドウモードに戻ることができます。</p><p>注:<i>ホスト</i>キーは現在<b>%2</b>に割り当てられています。</p><p>注:フルスクリーンモードではメインメニューバーは表示されません。メニューバーにアクセスするには <b>ホスト+Home</b>キーを押してください。</p></translation>
+        <translation type="obsolete"><p>仮想マシンのウィンドウを"フルスクリーン"モードに切り替えます。<b>%1</b>キーを押すといつでもウィンドウモードに戻ることができます。</p><p>注:<i>ホスト</i>キーは現在<b>%2</b>に割り当てられています。</p><p>注:フルスクリーンモードではメインメニューバーは表示されません。メニューバーにアクセスするには <b>ホスト+Home</b>キーを押してください。</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9157,7 +10036,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>ハードドライブなしで新しい仮想マシンを作成しようとしています。それを追加するまではオペレーティングシステムをインストールすることはできません。仮想光学ディスクか、ネットワークから起動することしかできないことを意味します。</translation>
+        <translation type="obsolete">ハードドライブなしで新しい仮想マシンを作成しようとしています。それを追加するまではオペレーティングシステムをインストールすることはできません。仮想光学ディスクか、ネットワークから起動することしかできないことを意味します。</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9308,7 +10187,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>現在一つ以上の仮想ハードディスク、光学またはフロッピーメディアにアクセスできません。アクセス可能になるまでこれらのメディアを使用する仮想マシンを操作できません。</p><p><b>[確認]</b>ボタンをクリックして仮想メディアマネージャーを起動し、どのメディアにアクセスできないのか確認してください。または<b>[無視]</b>ボタンをクリックして、このメッセージを無視してください。</p></translation>
+        <translation type="obsolete"><p>現在一つ以上の仮想ハードディスク、光学またはフロッピーメディアにアクセスできません。アクセス可能になるまでこれらのメディアを使用する仮想マシンを操作できません。</p><p><b>[確認]</b>ボタンをクリックして仮想メディアマネージャーを起動し、どのメディアにアクセスできないのか確認してください。または<b>[無視]</b>ボタンをクリックして、このメッセージを無視してください。</p></translation>
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -9384,10 +10263,50 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to connect the network adapter cable of the virtual machine <b>%1</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>仮想マシン <b>%1</b> のネットワークアダプターケーブルの接続に失敗しました。</translation>
     </message>
     <message>
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <translation>仮想マシン <b>%1</b> のネットワークアダプターケーブルの切断に失敗しました。</translation>
+    </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10283,27 +11202,82 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>名前</translation>
+        <translation type="obsolete">名前</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">プロトコル</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">ホスト IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">ホスト ポート</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">ゲスト IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">ゲスト ポート</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">名前</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>プロトコル</translation>
+        <translation type="unfinished">プロトコル</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>ホスト IP</translation>
+        <translation type="unfinished">ホスト IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>ホスト ポート</translation>
+        <translation type="unfinished">ホスト ポート</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>ゲスト IP</translation>
+        <translation type="unfinished">ゲスト IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>ゲスト ポート</translation>
+        <translation type="unfinished">ゲスト ポート</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10610,7 +11584,7 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr><b>クリック</b> でインジケーターの表示非表示を切り替えます。</nobr><br><nobr><b>ドラッグ&ドロップ(&D)</b> でインジケーターの場所を変更します。</nobr></translation>
+        <translation type="obsolete"><nobr><b>クリック</b> でインジケーターの表示非表示を切り替えます。</nobr><br><nobr><b>ドラッグ&ドロップ(&D)</b> でインジケーターの場所を変更します。</nobr></translation>
     </message>
 </context>
 <context>
@@ -10623,6 +11597,10 @@ step and attach hard disks later using the VM Settings dialog.</p></source
         <source>Enable Status Bar</source>
         <translation>ステータスバーを有効にする</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>クリック</b> でインジケーターの表示非表示を切り替えます。</nobr><br><nobr><b>ドラッグ&ドロップ(&D)</b> でインジケーターの場所を変更します。</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11174,7 +12152,7 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>仮想ハードドライブをコピー</translation>
+        <translation type="obsolete">仮想ハードドライブをコピー</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11182,43 +12160,43 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>コピーするハードドライブ</translation>
+        <translation type="obsolete">コピーするハードドライブ</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>選択していない場合、コピーしたい仮想ハードドライブのファイルを選択してください。リストから選択するか、リストの横にあるフォルダーアイコンからも選択できます。</p></translation>
+        <translation type="obsolete"><p>選択していない場合、コピーしたい仮想ハードドライブのファイルを選択してください。リストから選択するか、リストの横にあるフォルダーアイコンからも選択できます。</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>コピーする仮想ハードドライブのファイルを選択...</translation>
+        <translation type="obsolete">コピーする仮想ハードドライブのファイルを選択...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>ハードドライブのファイルタイプ</translation>
+        <translation type="obsolete">ハードドライブのファイルタイプ</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>新しい仮想ハードドライブで使用したいファイルのタイプを選択してください。もしほかの仮想ソフトウェアで使用する必要がなければ、設定はそのままにしておいてください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブで使用したいファイルのタイプを選択してください。もしほかの仮想ソフトウェアで使用する必要がなければ、設定はそのままにしておいてください。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>物理ハードドライブにあるストレージ</translation>
+        <translation type="obsolete">物理ハードドライブにあるストレージ</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>新しい仮想ハードドライブファイルは使用したぶんだけ大きくなるか(可変サイズ)、または最大サイズで作成するか(固定サイズ)を選択してください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルは使用したぶんだけ大きくなるか(可変サイズ)、または最大サイズで作成するか(固定サイズ)を選択してください。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>可変サイズ</b>のハードドライブファイルは使用した分だけ(<b>固定サイズ</b>を上限として)領域を消費しますが、スペースを開放しても自動的に縮小はしません。</p></translation>
+        <translation type="obsolete"><p><b>可変サイズ</b>のハードドライブファイルは使用した分だけ(<b>固定サイズ</b>を上限として)領域を消費しますが、スペースを開放しても自動的に縮小はしません。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定サイズ</b>のハードドライブファイルはシステムによっては作成に時間がかかるかもしれませんが、使用すると高速です</p></translation>
+        <translation type="obsolete"><p><b>固定サイズ</b>のハードドライブファイルはシステムによっては作成に時間がかかるかもしれませんが、使用すると高速です</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>ハードドライブファイルを2GBごとに<b>分割</b>することもできます。仮想マシンをリムーバブルUSBデバイスに作成したい場合や、非常に大きなファイルを扱うことができない古いシステムで便利でしょう。</translation>
+        <translation type="obsolete"><p>ハードドライブファイルを2GBごとに<b>分割</b>することもできます。仮想マシンをリムーバブルUSBデバイスに作成したい場合や、非常に大きなファイルを扱うことができない古いシステムで便利でしょう。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11234,19 +12212,19 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>新しい仮想ハードドライブファイルの場所を選択</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの場所を選択</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>作成する新しいハードドライブ</translation>
+        <translation type="obsolete">作成する新しいハードドライブ</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>新しい仮想ハードドライブファイルの名前を下のボックスに入力するか、フォルダーアイコンをクリックしてファイルを作成する別のフォルダーを選択してください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの名前を下のボックスに入力するか、フォルダーアイコンをクリックしてファイルを作成する別のフォルダーを選択してください。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>新しい仮想ハードドライブファイルの場所を選択...</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの場所を選択...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11255,15 +12233,87 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>コピーするハードドライブ(&C)</translation>
+        <translation type="obsolete">コピーするハードドライブ(&C)</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>作成する新しいハードドライブ(&N)</translation>
+        <translation type="obsolete">作成する新しいハードドライブ(&N)</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>ハードドライブのファイルタイプ(&T)</translation>
+        <translation type="obsolete">ハードドライブのファイルタイプ(&T)</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11306,7 +12356,7 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>作成したいクローンのタイプを選択してください。</p><p><b>すべてをクローン</b>を選択すると、元の仮想マシンのコピー(すべての仮想ハードドライブファイルを含む)を抽出して作成します。</p><p><b>リンクしたクローン</b>を選択すると、新しいマシンを作成しますが、仮想ハードドライブファイルは元のマシンに紐づき、元のファイルも同様に移動しないと新しい仮想マシンから異なったコンピューターに移動することができません。</p></translation>
+        <translation type="obsolete"><p>作成したいクローンのタイプを選択してください。</p><p><b>すべてをクローン</b>を選択すると、元の仮想マシンのコピー(すべての仮想ハードドライブファイルを含む)を抽出して作成します。</p><p><b>リンクしたクローン</b>を選択すると、新しいマシンを作成しますが、仮想ハードドライブファイルは元のマシンに紐づき、元のファイルも同様に移動しないと新しい仮想マシンから異なったコンピューターに移動することができません。</p></translation>
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11364,6 +12414,10 @@ step and attach hard disks later using the VM Settings dialog.</p></source
         <source>&Linked Clone</source>
         <translation>リンクしたクローン(&L)</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11640,7 +12694,7 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>仮想ハードドライブの作成</translation>
+        <translation type="obsolete">仮想ハードドライブの作成</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11648,31 +12702,31 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>ハードドライブのファイルタイプ</translation>
+        <translation type="obsolete">ハードドライブのファイルタイプ</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>新しい仮想ハードドライブで使用したいファイルのタイプを選択してください。もしほかの仮想ソフトウェアで使用する必要がなければ、設定はそのままにしておいてください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブで使用したいファイルのタイプを選択してください。もしほかの仮想ソフトウェアで使用する必要がなければ、設定はそのままにしておいてください。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>物理ハードドライブにあるストレージ</translation>
+        <translation type="obsolete">物理ハードドライブにあるストレージ</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>新しい仮想ハードドライブファイルは使用したぶんだけ大きくなるか(可変サイズ)、または最大サイズで作成するか(固定サイズ)を選択してください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルは使用したぶんだけ大きくなるか(可変サイズ)、または最大サイズで作成するか(固定サイズ)を選択してください。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>可変サイズ</b>のハードドライブファイルは使用した分だけ(<b>固定サイズ</b>を上限として)領域を消費しますが、スペースを開放しても自動的に縮小はしません。</p></translation>
+        <translation type="obsolete"><p><b>可変サイズ</b>のハードドライブファイルは使用した分だけ(<b>固定サイズ</b>を上限として)領域を消費しますが、スペースを開放しても自動的に縮小はしません。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定サイズ</b>のハードドライブファイルはシステムによっては作成に時間がかかるかもしれませんが、使用すると高速です</p></translation>
+        <translation type="obsolete"><p><b>固定サイズ</b>のハードドライブファイルはシステムによっては作成に時間がかかるかもしれませんが、使用すると高速です</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>ハードドライブファイルを2GBごとに<b>分割</b>することもできます。仮想マシンをリムーバブルUSBデバイスに作成したい場合や、非常に大きなファイルを扱うことができない古いシステムで便利でしょう。</translation>
+        <translation type="obsolete"><p>ハードドライブファイルを2GBごとに<b>分割</b>することもできます。仮想マシンをリムーバブルUSBデバイスに作成したい場合や、非常に大きなファイルを扱うことができない古いシステムで便利でしょう。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11696,15 +12750,15 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>新しい仮想ハードドライブファイルの名前を下のボックスに入力するか、フォルダーアイコンをクリックしてファイルを作成する別のフォルダーを選択してください。</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの名前を下のボックスに入力するか、フォルダーアイコンをクリックしてファイルを作成する別のフォルダーを選択してください。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>新しい仮想ハードドライブファイルの場所を選択...</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの場所を選択...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>仮想ハードドライブのサイズをメガバイト単位で指定してください。このサイズは仮想マシンがハードドライブに置くことができるファイルデータの上限です。</translation>
+        <translation type="obsolete">仮想ハードドライブのサイズをメガバイト単位で指定してください。このサイズは仮想マシンがハードドライブに置くことができるファイルデータの上限です。</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11716,7 +12770,55 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>ハードドライブのファイルタイプ(&T)</translation>
+        <translation type="obsolete">ハードドライブのファイルタイプ(&T)</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11767,23 +12869,23 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>ハードドライブ</translation>
+        <translation type="obsolete">ハードドライブ</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>新しいマシンに仮想ハードドライブを割り当てることができます。その場合は新しいハードドライブファイルを作成するか、リストから選択またはフォルダーアイコンを使用してほかの場所から指定できます。</p><p>複雑なストレージの設定をする場合は、このステップをスキップしてマシンを一度作成してからマシン設定で変更を加えてください。</p><p>必要なハードドライブのサイズは<b>%1</b>です。</p></translation>
+        <translation type="obsolete"><p>新しいマシンに仮想ハードドライブを割り当てることができます。その場合は新しいハードドライブファイルを作成するか、リストから選択またはフォルダーアイコンを使用してほかの場所から指定できます。</p><p>複雑なストレージの設定をする場合は、このステップをスキップしてマシンを一度作成してからマシン設定で変更を加えてください。</p><p>必要なハードドライブのサイズは<b>%1</b>です。</p></translation>
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>仮想ハードドライブを追加しない(&D)</translation>
+        <translation type="obsolete">仮想ハードドライブを追加しない(&D)</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>仮想ハードドライブを作成する(&C)</translation>
+        <translation type="obsolete">仮想ハードドライブを作成する(&C)</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>すでにある仮想ハードドライブファイルを使用する(&U)</translation>
+        <translation type="obsolete">すでにある仮想ハードドライブファイルを使用する(&U)</translation>
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -11799,12 +12901,36 @@ step and attach hard disks later using the VM Settings dialog.</p></source
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>仮想ハードドライブファイルを選択...</translation>
+        <translation type="obsolete">仮想ハードドライブファイルを選択...</translation>
     </message>
     <message>
         <source>&Memory size</source>
         <translation>メモリーサイズ(&M)</translation>
     </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxAboutDlg</name>
@@ -12926,7 +14052,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>他のフォルダーを選択するウィンドウを開きます。</translation>
+        <translation type="obsolete">他のフォルダーを選択するウィンドウを開きます。</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12934,7 +14060,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>他のファイルを選択するウィンドウを開きます。</translation>
+        <translation type="obsolete">他のファイルを選択するウィンドウを開きます。</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12946,11 +14072,27 @@ Version %1</source>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>ここに使用するフォルダーのパスを入力してください。</translation>
+        <translation type="obsolete">ここに使用するフォルダーのパスを入力してください。</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>ここに使用するファイルパスを入力してください。</translation>
+        <translation type="obsolete">ここに使用するファイルパスを入力してください。</translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -13688,11 +14830,11 @@ Version %1</source>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>仮想ハードドライブファイルを選択してください</translation>
+        <translation type="obsolete">仮想ハードドライブファイルを選択してください</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>すべての仮想ハードドライブファイル (%1)</translation>
+        <translation type="obsolete">すべての仮想ハードドライブファイル (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -14627,7 +15769,7 @@ Version %1</source>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">このハードディスクの割り当ては、新規作成された差分ハードディスクの使用により、間接的に実行されます。</translation>
+        <translation type="unfinished">このハードディスクの割り当ては、新規作成された差分ハードディスクの使用により、間接的に実行されます。</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14637,7 +15779,7 @@ Version %1</source>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">このベースハードディスクは以下の差分ハードディスクを使用して間接的に割り当てられます:</translation>
+        <translation type="unfinished">このベースハードディスクは以下の差分ハードディスクを使用して間接的に割り当てられます:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -14820,7 +15962,7 @@ Version %1</source>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>新しい仮想ハードドライブファイルの場所を選択</translation>
+        <translation type="obsolete">新しい仮想ハードドライブファイルの場所を選択</translation>
     </message>
     <message>
         <source>off</source>
@@ -14944,23 +16086,40 @@ Version %1</source>
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>このハードドライブの割り当ては、新規作成された差分ハードドライブの使用により、間接的に実行されます。</translation>
+        <translation type="obsolete">このハードドライブの割り当ては、新規作成された差分ハードドライブの使用により、間接的に実行されます。</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>ハードドライブチェーン中のいくつかのメディアにアクセスできません。仮想メディアマネージャーの<b>[差分ハードドライブを表示]</b>を使用して、これらのメディアを確認してください。</translation>
+        <translation type="obsolete">ハードドライブチェーン中のいくつかのメディアにアクセスできません。仮想メディアマネージャーの<b>[差分ハードドライブを表示]</b>を使用して、これらのメディアを確認してください。</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>このベースハードドライブは以下の差分ハードドライブを使用して間接的に割り当てられます:</translation>
+        <translation type="obsolete">このベースハードドライブは以下の差分ハードドライブを使用して間接的に割り当てられます:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation>暗号化</translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15736,11 +16895,11 @@ USB フィルターを追加または除去するにはコンテキストメニ
     </message>
     <message>
         <source><i>Not&nbsp;Encrypted</i></source>
-        <translation type="unfinished"></translation>
+        <translation><i>暗号化なし</i></translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
-        <translation type="unfinished"></translation>
+        <translation>暗号化の鍵:</translation>
     </message>
 </context>
 <context>
@@ -16654,7 +17813,7 @@ DOS系ゲストOSからアクセスする場合は <tt>net use x:¥¥vboxs
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>選択した仮想マシンをクローン</translation>
+        <translation type="obsolete">選択した仮想マシンをクローン</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
@@ -16698,7 +17857,7 @@ DOS系ゲストOSからアクセスする場合は <tt>net use x:¥¥vboxs
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>選択したスナップショットの詳細を表示</translation>
+        <translation type="obsolete">選択したスナップショットの詳細を表示</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -16742,11 +17901,27 @@ DOS系ゲストOSからアクセスする場合は <tt>net use x:¥¥vboxs
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>選択した仮想マシンのスナップショットに復元</translation>
+        <translation type="obsolete">選択した仮想マシンのスナップショットに復元</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>選択した仮想マシンのスナップショットを削除</translation>
+        <translation type="obsolete">選択した仮想マシンのスナップショットを削除</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -16800,6 +17975,10 @@ DOS系ゲストOSからアクセスする場合は <tt>net use x:¥¥vboxs
             <numerusform>警告:%n 個の変更不可の仮想ディスクを割り当てた仮想マシンのスナップショットを作成しています。データ喪失を避けるため、このスナップショットから起動する限り、仮想ディスクはリセットされません。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">スナップショット %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
index d610d76..a936c18 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_km_KH.ts
@@ -220,7 +220,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>បង្ហាញ​ភ្ញៀវ​​​ផ្លាស់ប្ដូរ​ទំហំ​ដោយ​ស្វ័យ​ប្រវត្តិ នៅពេល​បង្អួច​ត្រូវ​បាន​ផ្លាស់ប្ដូរ​ (ត្រូវការ​ភ្ញៀវ​បន្ថែម)</translation>
+        <translation type="obsolete">បង្ហាញ​ភ្ញៀវ​​​ផ្លាស់ប្ដូរ​ទំហំ​ដោយ​ស្វ័យ​ប្រវត្តិ នៅពេល​បង្អួច​ត្រូវ​បាន​ផ្លាស់ប្ដូរ​ (ត្រូវការ​ភ្ញៀវ​បន្ថែម)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>ផ្ញើព្រឹត្តិការណ៍​ចុច​ប៊ូតុង​ថាមពល ACPI ទៅ​កាន់​ម៉ាស៊ីន​និម្មិត</translation>
+        <translation type="obsolete">ផ្ញើព្រឹត្តិការណ៍​ចុច​ប៊ូតុង​ថាមពល ACPI ទៅ​កាន់​ម៉ាស៊ីន​និម្មិត</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -344,7 +344,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>ផ្លាស់​ប្តូរ​ការ​កំណត់​របស់​​អាដាប់ទ័រ​​បណ្តាញ</translation>
+        <translation type="obsolete">ផ្លាស់​ប្តូរ​ការ​កំណត់​របស់​​អាដាប់ទ័រ​​បណ្តាញ</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -352,7 +352,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>បើក​ប្រអប់​ដើម្បី​ប្រតិបត្តិ​លើ​ថត​ដែល​បានចែករំលែក</translation>
+        <translation type="obsolete">បើក​ប្រអប់​ដើម្បី​ប្រតិបត្តិ​លើ​ថត​ដែល​បានចែករំលែក</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -414,16 +414,12 @@
         <translation type="unfinished">ការ​កំណត់...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">បង្ហាញ​​ឯកសារ​កំណត់ហេតុ​របស់​ម៉ាស៊ីន​និម្មិត​ដែល​បានជ្រើស</translation>
+        <translation type="obsolete">បង្ហាញ​​ឯកសារ​កំណត់ហេតុ​របស់​ម៉ាស៊ីន​និម្មិត​ដែល​បានជ្រើស</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -446,10 +442,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">ពិនិត្យ​មើល​កំណែ​របស់​ VirtualBox ថ្មី</translation>
     </message>
@@ -459,7 +451,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">បង្ហាញ​ប្រអប់​ដែល​មាន​ព័ត៌មាន​ផលិតផល</translation>
+        <translation type="obsolete">បង្ហាញ​ប្រអប់​ដែល​មាន​ព័ត៌មាន​ផលិតផល</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -470,10 +462,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">ឯកសារ</translation>
@@ -510,11 +498,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">ចំណូល​ចិត្ត...</translation>
+        <translation type="obsolete">ចំណូល​ចិត្ត...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">បង្ហាញ​ប្រអប់​កំណត់​សកល</translation>
+        <translation type="obsolete">បង្ហាញ​ប្រអប់​កំណត់​សកល</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -530,15 +518,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">បង្កើត​ម៉ាស៊ីន​និម្មិត​ថ្មី</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">បង្កើត​ម៉ាស៊ីន​និម្មិត​ថ្មី</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -553,465 +533,568 @@
         <translation type="unfinished">បង្ហាញ</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">ធ្វើ​ឲ្យ​ស្ថានភាព​ចូលដំណើរការ​ស្រស់​របស់​ម៉ាស៊ីន​និម្មិត​ដែលបានជ្រើស</translation>
+    </message>
+    <message>
+        <source>&New...</source>
+        <translation type="unfinished">ថ្មី...</translation>
+    </message>
+    <message>
+        <source>&Add...</source>
+        <translation type="unfinished">បន្ថែម...</translation>
+    </message>
+    <message>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">ធ្វើ​ឲ្យ​ស្ថានភាព​ចូលដំណើរការ​ស្រស់​របស់​ម៉ាស៊ីន​និម្មិត​ដែលបានជ្រើស</translation>
+        <source>&Remove...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard</source>
+        <translation type="unfinished">បោះបង់</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">បោះបង់​ស្ថានភាព​របស់​ម៉ាស៊ីន​និម្មិត​ដែល​ជ្រើស​ដែលបាន​រក្សាទុក</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">បិទ</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">បង្ហាញ​កំណត់​ហេតុ...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">តំបន់បណ្ដាញ VirtualBox​...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">កំណត់​ការ​ព្រមាន​ទាំងអស់</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">ពិនិត្យ​មើល​ភាព​ទាន់សម័យ...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
-        <translation type="unfinished">ថ្មី...</translation>
+        <source>Gro&up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">បន្ថែម...</translation>
+        <source>Shared &Clipboard</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">បោះបង់</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">បោះបង់​ស្ថានភាព​របស់​ម៉ាស៊ីន​និម្មិត​ដែល​ជ្រើស​ដែលបាន​រក្សាទុក</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">បិទ</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">បង្ហាញ​កំណត់​ហេតុ...</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">តំបន់បណ្ដាញ VirtualBox​...</translation>
+        <source>&VirtualBox</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">កំណត់​ការ​ព្រមាន​ទាំងអស់</translation>
+        <source>&Menu Bar</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">ពិនិត្យ​មើល​ភាព​ទាន់សម័យ...</translation>
+        <source>&Menu Bar Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>Network</source>
+        <translation type="obsolete">បណ្ដាញ</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">បង្ហាញ​កំណត់​ហេតុ...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">ឯកសារ</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">ចំណូល​ចិត្ត...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">បើក</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">បណ្ដាញ</translation>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">គ្មាន​ឧបករណ៍​ដែលបានគាំទ្រ​ទេ​ បានភ្ជាប់​ទៅកាន់​ម៉ាស៊ីន​ទេ</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">បង្ហាញ​កំណត់​ហេតុ...</translation>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">ឯកសារ</translation>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Re&fresh</source>
+        <translation type="unfinished">ធ្វើ​ឲ្យ​ស្រស់</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
     <message>
-        <source>Enable</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished">បើក</translation>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1%</source>
-        <comment>scale-factor</comment>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">បើក</translation>
+    </message>
 </context>
 <context>
     <name>UIAddDiskEncryptionPasswordDialog</name>
@@ -1026,6 +1109,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1079,15 +1184,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>ឧបករណ៍បញ្ជា​​ថាស​រឹង (IDE)</translation>
+        <translation type="obsolete">ឧបករណ៍បញ្ជា​​ថាស​រឹង (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>ឧបករណ៍បញ្ជា​​ថាស​រឹង (SATA)</translation>
+        <translation type="obsolete">ឧបករណ៍បញ្ជា​​ថាស​រឹង (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>ឧបករណ៍​បញ្ជា​ថាស​រឹង (SCSI)</translation>
+        <translation type="obsolete">ឧបករណ៍​បញ្ជា​ថាស​រឹង (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1144,15 +1249,27 @@
         <translation type="obsolete">មេកាបៃ</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>Storage Controller (IDE)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1466,16 +1583,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1544,31 +1658,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -2632,18 +2721,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2667,19 +2748,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
+        <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Machine Windows:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Machine Windows:</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>Holds the maximum height which we would like the guest to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2702,27 +2791,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">កំណែ​</translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2773,15 +2870,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">បង្ហាញ​ចត​ដោយ​ស្វ័យ​ប្រវត្តិ​ និងរបារ​ម៉ឺនុយ​​អេក្រង់​ពេញ​</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2820,11 +2917,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3039,15 +3136,15 @@ bound</comment>
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>សម្រាប់​តែ​បណ្ដាញ​ម៉ាស៊ីនប៉ុណ្ណោះ</translation>
+        <translation type="obsolete">សម្រាប់​តែ​បណ្ដាញ​ម៉ាស៊ីនប៉ុណ្ណោះ</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>យក​បណ្ដាញ​ម៉ាស៊ីន​ចេញ​ប៉ុណ្ណោះ</translation>
+        <translation type="obsolete">យក​បណ្ដាញ​ម៉ាស៊ីន​ចេញ​ប៉ុណ្ណោះ</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>កែសម្រួល​បណ្ដាញម៉ាស៊ីន​ប៉ុណ្ណោះ​</translation>
+        <translation type="obsolete">កែសម្រួល​បណ្ដាញម៉ាស៊ីន​ប៉ុណ្ណោះ​</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3238,15 +3335,51 @@ creating/removing host-only network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3361,7 +3494,7 @@ creating/removing host-only network</comment>
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">ប្រើ​ការ​កំណត់​រចនា​សម្ព័ន្ធ​​ដោយ​ដៃ ​សម្រាប់​​​អាដាប់​ទ័រ​​បណ្តាញ​ម៉ាស៊ីន​​-តែ​​មួយ​នេះ​ ។</translation>
+        <translation type="obsolete">ប្រើ​ការ​កំណត់​រចនា​សម្ព័ន្ធ​​ដោយ​ដៃ ​សម្រាប់​​​អាដាប់​ទ័រ​​បណ្តាញ​ម៉ាស៊ីន​​-តែ​​មួយ​នេះ​ ។</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3405,7 +3538,7 @@ creating/removing host-only network</comment>
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">បង្ហាញ​​ថា​តើ​ម៉ា​ស៊ីន​បម្រើ​​ DHCP ត្រូវ​បាន​បើក​នៅពេល​ចាប់ផ្ដើម​ដែរ​ឬទេ ។</translation>
+        <translation type="obsolete">បង្ហាញ​​ថា​តើ​ម៉ា​ស៊ីន​បម្រើ​​ DHCP ត្រូវ​បាន​បើក​នៅពេល​ចាប់ផ្ដើម​ដែរ​ឬទេ ។</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3439,6 +3572,14 @@ creating/removing host-only network</comment>
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">បង្ហាញ​ព្រំដែន​អាសយដ្ឋាន​ខ្ពស់​ដែលបានផ្ដល់​ដោយ​ម៉ាស៊ីន​បម្រើ DHCP ដោយ​ផ្ដល់​សេវា​បណ្ដាញ​ភ្ជាប់​ជា​មួយ​នឹង​អាដាប់ទ័រ​ម៉ាស៊ីន​ ។</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3451,10 +3592,6 @@ creating/removing host-only network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3479,31 +3616,35 @@ creating/removing host-only network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3537,23 +3678,23 @@ creating/removing host-only network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3573,7 +3714,7 @@ creating/removing host-only network</comment>
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>បញ្ជាក់​វិធី​ដែល​កំណែ​ថ្មី​ពិនិត្យ​មើល​គួរ​ត្រូវ​បាន​អនុវត្ត​ ។ ចំណាំថា ប្រសិនបើ​ង្នក​ចង់​បញ្ចប់ បិទ​ការ​ពិនិត្យនេះ គ្រាន់តែ​ជម្រះ​ប្រអប់​គូស​ធីក​ខាង​លើ ។</translation>
+        <translation type="obsolete">បញ្ជាក់​វិធី​ដែល​កំណែ​ថ្មី​ពិនិត្យ​មើល​គួរ​ត្រូវ​បាន​អនុវត្ត​ ។ ចំណាំថា ប្រសិនបើ​ង្នក​ចង់​បញ្ចប់ បិទ​ការ​ពិនិត្យនេះ គ្រាន់តែ​ជម្រះ​ប្រអប់​គូស​ធីក​ខាង​លើ ។</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3607,6 +3748,10 @@ creating/removing host-only network</comment>
         <source>All New Releases and &Pre-Releases</source>
         <translation>ការ​ចេញ​ផ្សាយ​ថ្មី និង​ចេញ​ផ្សាយ​មុន​ទាំងអស់</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4017,7 +4162,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>បង្ហាញ​សកម្មភាព​របស់​ថាសរឹង​និម្មិត ៖</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>បង្ហាញ​សកម្មភាព​របស់​ថាសរឹង​និម្មិត ៖</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4103,7 +4248,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>បង្ហាញ​ថាតើ​ក្ដារចុច​ត្រូវ​បានចាប់យក​ដោយ​ប្រព័ន្ធ​ប្រតិបត្តិការ​របស់​ម៉ាស៊ីន​ភ្ញៀវ (<img src=:/hostkey_captured_16px.png/>) ឬ​មិនមែន (<img src=:/hostkey_16px.png/>) ។</translation>
+        <translation type="obsolete">បង្ហាញ​ថាតើ​ក្ដារចុច​ត្រូវ​បានចាប់យក​ដោយ​ប្រព័ន្ធ​ប្រតិបត្តិការ​របស់​ម៉ាស៊ីន​ភ្ញៀវ (<img src=:/hostkey_captured_16px.png/>) ឬ​មិនមែន (<img src=:/hostkey_16px.png/>) ។</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -4136,6 +4281,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4155,12 +4309,8 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete"> ស្ថាបនា​ពិសោធ %1r%2 - %3</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>រូបថត %1</translation>
+        <translation type="obsolete">រូបថត %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4187,33 +4337,13 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">គ្មាន​ឧបករណ៍​ថាស​ទន់​បាន​ភ្ជាប់​ទេ</translation>
     </message>
     <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>គ្មាន​ឧបករណ៍​ដែលបានគាំទ្រ​ទេ​ បានភ្ជាប់​ទៅកាន់​ម៉ាស៊ីន​ទេ</translation>
+        <translation type="obsolete">គ្មាន​ឧបករណ៍​ដែលបានគាំទ្រ​ទេ​ បានភ្ជាប់​ទៅកាន់​ម៉ាស៊ីន​ទេ</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4231,7 +4361,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>ត្រួតពិនិត្យ​កម្មវិធី​បញ្ជា​លទ្ធផល​អូឌីយ៉ូ ។ <b>គ្មាន​កម្មវិធី​បញ្ជា​អូឌីយ៉ូ</b> ធ្វើ​ឲ្យ​ម៉ាស៊ីន​ភ្ញៀវ​ឃើញ​កាត​អូឌីយ៉ូ ទោះ​ជា​យ៉ាង​ណា​រាល់​ពេល​ចូលដំណើរការ​វា​នឹង​ត្រូ​វបាន​មិនអើពើ ។</translation>
+        <translation type="obsolete">ត្រួតពិនិត្យ​កម្មវិធី​បញ្ជា​លទ្ធផល​អូឌីយ៉ូ ។ <b>គ្មាន​កម្មវិធី​បញ្ជា​អូឌីយ៉ូ</b> ធ្វើ​ឲ្យ​ម៉ាស៊ីន​ភ្ញៀវ​ឃើញ​កាត​អូឌីយ៉ូ ទោះ​ជា​យ៉ាង​ណា​រាល់​ពេល​ចូលដំណើរការ​វា​នឹង​ត្រូ​វបាន​មិនអើពើ ។</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4241,6 +4371,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>ជ្រើស​ប្រភេទ​កាត​សំឡេង​និម្មិត ។ ដោយ​អាស្រ័យ​លើ​តម្លៃនេះ VirtualBox នឹ​ងផ្ដល់​នូវ​ផ្នែក​រឹង​អូឌីយ៉ូ​ផ្សេងៗ​គ្នា​ដល់​ម៉ាស៊ីន​និម្មិត ។</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4254,7 +4388,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;មេកាបៃ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;មេកាបៃ</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4310,7 +4444,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>លេខ​​ច្រក​ម៉ាស៊ីន​​បម្រើ​ VRDP ។ អ្នក​អាច​បញ្ជាក់​​ <tt>0</tt> (សូន្យ​) ដើម្បី​ជ្រើស​ច្រក​ ៣៣៨៩ ច្រក​ស្តង់​ដារ​សម្រាប់​ RDP ។</translation>
+        <translation type="obsolete">លេខ​​ច្រក​ម៉ាស៊ីន​​បម្រើ​ VRDP ។ អ្នក​អាច​បញ្ជាក់​​ <tt>0</tt> (សូន្យ​) ដើម្បី​ជ្រើស​ច្រក​ ៣៣៨៩ ច្រក​ស្តង់​ដារ​សម្រាប់​ RDP ។</translation>
     </message>
     <message>
         <source>Authentication &Method:</source>
@@ -4318,7 +4452,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>កំណត់​វិធីសាស្ត្រ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​របស់ VRDP ។</translation>
+        <translation type="obsolete">កំណត់​វិធីសាស្ត្រ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​របស់ VRDP ។</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4326,7 +4460,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>បញ្ជាក់​ការ​អស់ពេល ​សម្រាប់​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​ គិត​​ជា​មិល្លី​វិនាទី ។</translation>
+        <translation type="obsolete">បញ្ជាក់​ការ​អស់ពេល ​សម្រាប់​ការ​ផ្ទៀងផ្ទាត់​ភាព​ត្រឹមត្រូវ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​ គិត​​ជា​មិល្លី​វិនាទី ។</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4337,14 +4471,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Allow Multiple Connections</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4369,46 +4495,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4417,10 +4515,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4472,10 +4566,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">របារ​ឧបករណ៍​តូច​ ៖</translation>
     </message>
@@ -4520,31 +4610,83 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>100%</source>
+        <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>200%</source>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%</source>
+        <source>Use &Unscaled HiDPI Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
+        <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>HiDPI Support:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4552,7 +4694,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>បង្ហាញ​ផ្លូវ​ដែល​រូបថត​របស់ម៉ាស៊ីន​និម្មិត​នេះ​នឹង​ត្រូ​វបានផ្ទុក ។ ចំណាំ​ថា រូបថត​អាចចាប់យក​​ទំហំ​ថាស​ជា​ច្រើន​​យ៉ាង​ស្ងៀវស្ងាត់​ ។</translation>
+        <translation type="obsolete">បង្ហាញ​ផ្លូវ​ដែល​រូបថត​របស់ម៉ាស៊ីន​និម្មិត​នេះ​នឹង​ត្រូ​វបានផ្ទុក ។ ចំណាំ​ថា រូបថត​អាចចាប់យក​​ទំហំ​ថាស​ជា​ច្រើន​​យ៉ាង​ស្ងៀវស្ងាត់​ ។</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4659,10 +4801,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4699,6 +4837,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4712,15 +4858,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">ប្រ​សិន​បើ​ធីក​ បង្ហាញ​របារ​ឧបករណ៍​តូច​ក្នុងរបៀប​​អេ​​ក្រង់​ពេញ​ និង​​​ព​ង្រីក​ ។</translation>
+        <translation type="obsolete">ប្រ​សិន​បើ​ធីក​ បង្ហាញ​របារ​ឧបករណ៍​តូច​ក្នុងរបៀប​​អេ​​ក្រង់​ពេញ​ និង​​​ព​ង្រីក​ ។</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">​បង្ហាញ​អេ​ក្រង់​ពេញ​​/​ពង្រីក​</translation>
+        <translation type="obsolete">​បង្ហាញ​អេ​ក្រង់​ពេញ​​/​ពង្រីក​</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">ប្រ​សិន​បើ​ធីក​ បង្ហាញ​របារឧបករណ៍​តូច​​នៅ​ផ្នែកខាង​លើ​​អេក្រង់​ ជា​ជាង​ក្នុង​ទី​តាំង​លំនាំ​ដើម​នៃ​ប៊ូតុង​របស់​អេក្រង់​ ។</translation>
+        <translation type="obsolete">ប្រ​សិន​បើ​ធីក​ បង្ហាញ​របារឧបករណ៍​តូច​​នៅ​ផ្នែកខាង​លើ​​អេក្រង់​ ជា​ជាង​ក្នុង​ទី​តាំង​លំនាំ​ដើម​នៃ​ប៊ូតុង​របស់​អេក្រង់​ ។</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -4730,6 +4876,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -4759,7 +4917,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>បង្ហាញ​ថាតើ​ខ្សែ​បណ្ដាញ​និម្មិត​ត្រូ​វបានដោត​​នៅពេល​ម៉ាស៊ីន​ចាប់ផ្ដើម​ ឬ​ក៏អត់ ។</translation>
+        <translation type="obsolete">បង្ហាញ​ថាតើ​ខ្សែ​បណ្ដាញ​និម្មិត​ត្រូ​វបានដោត​​នៅពេល​ម៉ាស៊ីន​ចាប់ផ្ដើម​ ឬ​ក៏អត់ ។</translation>
     </message>
     <message>
         <source>no bridged network adapter is selected</source>
@@ -4782,7 +4940,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>ត្រួតពិនិត្យ​វិធី​ដែល​អាដាប់ទ័រ​និម្មិត​នេះ​ត្រូវ​បាន​ភ្ជាប់​ទៅ​បណ្ដាញ​ពិតប្រាកដ​​របស់​ប្រព័ន្ធ​ប្រតិបត្តិការ​ម៉ាស៊ីន ។</translation>
+        <translation type="obsolete">ត្រួតពិនិត្យ​វិធី​ដែល​អាដាប់ទ័រ​និម្មិត​នេះ​ត្រូវ​បាន​ភ្ជាប់​ទៅ​បណ្ដាញ​ពិតប្រាកដ​​របស់​ប្រព័ន្ធ​ប្រតិបត្តិការ​ម៉ាស៊ីន ។</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -4798,7 +4956,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>បង្ហាញ​ ឬ​លាក់​ជម្រើស​អាដាប់ទ័រ​បណ្ដាញ​បន្ថែម ។</translation>
+        <translation type="obsolete">បង្ហាញ​ ឬ​លាក់​ជម្រើស​អាដាប់ទ័រ​បណ្ដាញ​បន្ថែម ។</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -4818,10 +4976,6 @@ network adapter name</comment>
         <translation type="unfinished">មិន​​បាន​ជ្រើស​ឡើយ​</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4838,10 +4992,6 @@ network adapter name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4893,6 +5043,26 @@ network adapter name</comment>
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -4931,30 +5101,15 @@ network adapter name</comment>
     </message>
     <message>
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
-        <translation>បង្ហាញអាសយដ្ឋាន​ច្រក​ I/O មូលដ្ឋាន ។ តម្លៃដែល​ត្រឹមត្រូវ​គឺ​ធំជាង​ចំនួន​ដែល​ស្ថិត​ក្នុងជួរ​ពី <tt>0</tt>ដល់<tt>0xFFFF</tt> ។</translation>
-    </message>
-    <message>
-        <source>Port &Path:</source>
-        <translation>ផ្លូវ​ច្រក ៖</translation>
-    </message>
-    <message>
-        <source>Holds the host parallel device name.</source>
-        <translation>បង្ហាញ​ឈ្មោះ​ឧបករណ៍​ស្រប​គ្នា​​របស់​ម៉ាស៊ីន ។</translation>
-    </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">បាន​ជ្រើស​លេខ​ច្រក​ស្ទួន</translation>
+        <translation>បង្ហាញអាសយដ្ឋាន​ច្រក​ I/O មូលដ្ឋាន ។ តម្លៃដែល​ត្រឹមត្រូវ​គឺ​ធំជាង​ចំនួន​ដែល​ស្ថិត​ក្នុងជួរ​ពី <tt>0</tt>ដល់<tt>0xFFFF</tt> ។</translation>
     </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">មិន​បាន​បញ្ជាក់ផ្លូវ​ច្រក​ទេ</translation>
+        <source>Port &Path:</source>
+        <translation>ផ្លូវ​ច្រក ៖</translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">បាន​បញ្ចូល​ផ្លូវ​ច្រក​ស្ទួន</translation>
+        <source>Holds the host parallel device name.</source>
+        <translation>បង្ហាញ​ឈ្មោះ​ឧបករណ៍​ស្រប​គ្នា​​របស់​ម៉ាស៊ីន ។</translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -4978,33 +5133,24 @@ network adapter name</comment>
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>UIMachineSettingsParallelPage</name>
     <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">បាន​ជ្រើស​លេខ​ច្រក​ស្ទួន</translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">មិន​បាន​បញ្ជាក់ផ្លូវ​ច្រក​ទេ</translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">បាន​បញ្ចូល​ផ្លូវ​ច្រក​ស្ទួន</translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5012,15 +5158,15 @@ network adapter name</comment>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>បន្ថែម​កា​រកំណត់​ថត​ដែលបានចែករំលែកថ្មី ។</translation>
+        <translation type="obsolete">បន្ថែម​កា​រកំណត់​ថត​ដែលបានចែករំលែកថ្មី ។</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>កែសម្រួល​កា​រកំណត់​ថត​ដែល​បានចែករំលែក​ដែល​បានជ្រើស ។</translation>
+        <translation type="obsolete">កែសម្រួល​កា​រកំណត់​ថត​ដែល​បានចែករំលែក​ដែល​បានជ្រើស ។</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>យក​កា​រកំណត់​ថត​ដែលបានចែករំលែក​ដែល​បានជ្រើ​សចេញ</translation>
+        <translation type="obsolete">យក​កា​រកំណត់​ថត​ដែលបានចែករំលែក​ដែល​បានជ្រើ​សចេញ</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5060,15 +5206,15 @@ network adapter name</comment>
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>បន្ថែម​ថត​ដែល​បាន​ចែករំលែក​</translation>
+        <translation type="obsolete">បន្ថែម​ថត​ដែល​បាន​ចែករំលែក​</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>កែសម្រួល​ថត​ដែលបានចែករំលែក​</translation>
+        <translation type="obsolete">កែសម្រួល​ថត​ដែលបានចែករំលែក​</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>យក​ថត​ដែលបានចែករំលែក​ចេញ​</translation>
+        <translation type="obsolete">យក​ថត​ដែលបានចែករំលែក​ចេញ​</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5082,6 +5228,30 @@ network adapter name</comment>
         <source>Yes</source>
         <translation type="unfinished">បាទ/ចាស</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5130,7 +5300,7 @@ network adapter name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5179,7 +5349,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>ពិនិត្យ​មើល​របៀប​ដំណើរការ​របស់​ច្រក​ស៊េរៀល ។ ប្រសិនបើ​អ្នក​ជ្រើស​ <b>បានផ្ដាច់</b> ប្រព័ន្ធ​ប្រតិបត្តិការ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​រកឃើញ​ច្រក​ស៊េរៀល​ ប៉ុន្តែ​នឹង​មិន​អាច​ប្រតិបត្តិ​វា​បានទេ ។</translation>
+        <translation type="obsolete">ពិនិត្យ​មើល​របៀប​ដំណើរការ​របស់​ច្រក​ស៊េរៀល ។ ប្រសិនបើ​អ្នក​ជ្រើស​ <b>បានផ្ដាច់</b> ប្រព័ន្ធ​ប្រតិបត្តិការ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​រកឃើញ​ច្រក​ស៊េរៀល​ ប៉ុន្តែ​នឹង​មិន​អាច​ប្រតិបត្តិ​វា​បានទេ ។</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5198,10 +5368,6 @@ network adapter name</comment>
         <translation type="obsolete">ផ្លូវ​ ច្រក​​/ឯកសារ​ ៖</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5213,20 +5379,13 @@ network adapter name</comment>
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">បានជ្រើស​លេខ​ច្រក​ស្ទួន</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">មិនបានបញ្ជាក់​ផ្លូវ​ច្រក​ស្ទួន​ទេ</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">បាន​បញ្ចូល​ផ្លូវ​ច្រក​ស្ទួន</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5250,6 +5409,21 @@ network adapter name</comment>
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">បានជ្រើស​លេខ​ច្រក​ស្ទួន</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">មិនបានបញ្ជាក់​ផ្លូវ​ច្រក​ស្ទួន​ទេ</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">បាន​បញ្ចូល​ផ្លូវ​ច្រក​ស្ទួន</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>If checked, shows the differencing hard disks that are attached to slots rather than their base hard disks (shown for indirect attachments) and allows explicit attaching of differencing hard disks. Check this only if you need a complex hard disk setup.</source>
@@ -5261,11 +5435,11 @@ network adapter name</comment>
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>ពង្រីក​​/​វេញ&nbsp; ធាតុ​</nobr></translation>
+        <translation type="obsolete"><nobr>ពង្រីក​​/​វេញ&nbsp; ធាតុ​</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>បន្ថែម&nbsp;ថាសរឹង&nbsp;</nobr></translation>
+        <translation type="obsolete"><nobr>បន្ថែម&nbsp;ថាសរឹង&nbsp;</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5329,19 +5503,19 @@ network adapter name</comment>
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>បន្ថែម​វត្ថុ​បញ្ជា​ថ្មី​ទៅ​ចុង​មែកធាង​ផ្ទុក ។</translation>
+        <translation type="obsolete">បន្ថែម​វត្ថុ​បញ្ជា​ថ្មី​ទៅ​ចុង​មែកធាង​ផ្ទុក ។</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>យក​ឧបករណ៍​បញ្ជា​ដែលបានបន្លិច​ចេញ​នៅ​ក្នុង​មែកធាង​ផ្ទុក ។</translation>
+        <translation type="obsolete">យក​ឧបករណ៍​បញ្ជា​ដែលបានបន្លិច​ចេញ​នៅ​ក្នុង​មែកធាង​ផ្ទុក ។</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>បន្ថែម​ឯកសារ​ភ្ជាប់ថ្មី​ទៅ​​មែក​ធាង​ផ្ទុក ដោយ​ប្រើ​​កម្មវិធីបញ្ជាដែលបានជ្រើស​ជា​មេ​ ។</translation>
+        <translation type="obsolete">បន្ថែម​ឯកសារ​ភ្ជាប់ថ្មី​ទៅ​​មែក​ធាង​ផ្ទុក ដោយ​ប្រើ​​កម្មវិធីបញ្ជាដែលបានជ្រើស​ជា​មេ​ ។</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>យក​ឯកសារ​ភ្ជាប់​ដែល​បាន​បន្លិច​ចេញ​នៅ​ក្នុង​មែកធាង​ផ្ទុក ។</translation>
+        <translation type="obsolete">យក​ឯកសារ​ភ្ជាប់​ដែល​បាន​បន្លិច​ចេញ​នៅ​ក្នុង​មែកធាង​ផ្ទុក ។</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5377,7 +5551,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>មាន​ឧបករណ៍​បញ្ជា​ផ្ទុក​ទាំង​អស់​សម្រាប់​ម៉ាស៊ី​ននេះ​ និង​រូប​ភាព​និម្មិត​ និងដ្រាយ​​ម៉ាស៊ីន​ដែល​បាន​​ភ្ជាប់​​ទៅកាន់​ពួកវា ។</translation>
+        <translation type="obsolete">មាន​ឧបករណ៍​បញ្ជា​ផ្ទុក​ទាំង​អស់​សម្រាប់​ម៉ាស៊ី​ននេះ​ និង​រូប​ភាព​និម្មិត​ និងដ្រាយ​​ម៉ាស៊ីន​ដែល​បាន​​ភ្ជាប់​​ទៅកាន់​ពួកវា ។</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5397,7 +5571,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>ប្តូរ​ឈ្មោះ​របស់​ឧបករណ៍​បញ្ជា​ផ្ទុក ​បច្ចុប្បន្ន​ដែល​បានជ្រើស​ក្នុ​ងមែក​ធាង​ផ្ទុក ។</translation>
+        <translation type="obsolete">ប្តូរ​ឈ្មោះ​របស់​ឧបករណ៍​បញ្ជា​ផ្ទុក ​បច្ចុប្បន្ន​ដែល​បានជ្រើស​ក្នុ​ងមែក​ធាង​ផ្ទុក ។</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5464,10 +5638,6 @@ network adapter name</comment>
         <translation>បាន​​ភ្ជាប់ទៅកាន់ ៖</translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5484,149 +5654,182 @@ network adapter name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Image</source>
+        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5658,7 +5861,7 @@ network adapter name</comment>
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;មេកាបៃ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;មេកាបៃ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
@@ -5700,7 +5903,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>ផ្លាស់ទី​ឡើង​លើ (Ctrl-Up)</translation>
+        <translation type="obsolete">ផ្លាស់ទី​ឡើង​លើ (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5708,7 +5911,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>ផ្លាស់ទី​ចុះក្រោម (Ctrl-Down)</translation>
+        <translation type="obsolete">ផ្លាស់ទី​ចុះក្រោម (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5779,10 +5982,6 @@ network adapter name</comment>
         <translation>បើកការ​ដាក់​ទំព័រ​ក្នុង​</translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5793,12 +5992,12 @@ network adapter name</comment>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation type="unfinished"><qt>%1&nbsp; ស៊ី​ភី​យូ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; ស៊ី​ភី​យូ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"><qt>%1&nbsp; ស៊ី​ភី​យូ​</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; ស៊ី​ភី​យូ​</qt></translation>
     </message>
     <message>
         <source>&Chipset:</source>
@@ -5817,16 +6016,6 @@ network adapter name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5878,56 +6067,82 @@ network adapter name</comment>
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>បន្ថែម​តម្រង​ទទេ</translation>
+        <translation type="obsolete">បន្ថែម​តម្រង​ទទេ</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>បន្ថែម​តម្រង​ពី​ឧបករណ៍</translation>
+        <translation type="obsolete">បន្ថែម​តម្រង​ពី​ឧបករណ៍</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>កែសម្រួល​តម្រង</translation>
+        <translation type="obsolete">កែសម្រួល​តម្រង</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>យក​តម្រង​ចេញ</translation>
+        <translation type="obsolete">យក​តម្រង​ចេញ</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>ផ្លាស់ទី​តម្រង​ឡើង​លើ</translation>
+        <translation type="obsolete">ផ្លាស់ទី​តម្រង​ឡើង​លើ</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>ផ្លាស់ទី​តម្រង​ចុះក្រោម</translation>
+        <translation type="obsolete">ផ្លាស់ទី​តម្រង​ចុះក្រោម</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>បន្ថែម​តម្រង USB ថ្មី​ដែលមាន​វាល​ទាំងអស់​ ដោយ​ដំបូង​កំណត់​ខ្សែអក្សរ​ទៅ​ទទេ ។ ចំណាំ​ថា តម្រង​បែប​នេះ​នឹង​ផ្គូផ្គង​ឧបករណ៍ USB ដែល​បាន​ភ្ជាប់ ។</translation>
+        <translation type="obsolete">បន្ថែម​តម្រង USB ថ្មី​ដែលមាន​វាល​ទាំងអស់​ ដោយ​ដំបូង​កំណត់​ខ្សែអក្សរ​ទៅ​ទទេ ។ ចំណាំ​ថា តម្រង​បែប​នេះ​នឹង​ផ្គូផ្គង​ឧបករណ៍ USB ដែល​បាន​ភ្ជាប់ ។</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>បន្ថែម​តម្រង USB ថ្មី​ដែល​មាន​វាល​ទាំងអស់​កំណត់​ទៅ​តម្លៃ​របស់​ឧបករណ៍​ USB ដែល​ជ្រើស​ដែលបានភ្ជាប់​ទៅ នឹង​ម៉ាស៊ីន ។</translation>
+        <translation type="obsolete">បន្ថែម​តម្រង USB ថ្មី​ដែល​មាន​វាល​ទាំងអស់​កំណត់​ទៅ​តម្លៃ​របស់​ឧបករណ៍​ USB ដែល​ជ្រើស​ដែលបានភ្ជាប់​ទៅ នឹង​ម៉ាស៊ីន ។</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>កែសម្រួល​តម្រង USB ដែល​បាន​ជ្រើស ។</translation>
+        <translation type="obsolete">កែសម្រួល​តម្រង USB ដែល​បាន​ជ្រើស ។</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>យក​តម្រង USB ដែលបាន​ជ្រើស​ចេញ ។</translation>
+        <translation type="obsolete">យក​តម្រង USB ដែលបាន​ជ្រើស​ចេញ ។</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>ផ្លាស់ទី​តម្រង​ USB ដែលបាន​ជ្រើស​ឡើង​វលើ ។</translation>
+        <translation type="obsolete">ផ្លាស់ទី​តម្រង​ USB ដែលបាន​ជ្រើស​ឡើង​វលើ ។</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>ផ្លាស់ទី​តម្រង​ USB ដែលបាន​ជ្រើស​ចុះក្រោម ។</translation>
+        <translation type="obsolete">ផ្លាស់ទី​តម្រង​ USB ដែលបាន​ជ្រើស​ចុះក្រោម ។</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -5944,7 +6159,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>នៅពេល​បានគូស​ធីក បើក​ឧបករណ៍​ត្រួតពិនិត្យ​ USB EHCI និម្មិត​របស់​ម៉ាស៊ីន​នេះ ។ ឧបករណ៍​បញ្ជា USB EHCI ផ្ដល់​នូវ​ការ​គាំទ្រ USB 2.0 ។</translation>
+        <translation type="obsolete">នៅពេល​បានគូស​ធីក បើក​ឧបករណ៍​ត្រួតពិនិត្យ​ USB EHCI និម្មិត​របស់​ម៉ាស៊ីន​នេះ ។ ឧបករណ៍​បញ្ជា USB EHCI ផ្ដល់​នូវ​ការ​គាំទ្រ USB 2.0 ។</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -5959,71 +6174,123 @@ network adapter name</comment>
         <translation>រាយ​តម្រង USB ទាំង​អស់​របស់ម៉ាស៊ីន​នេះ ។ ប្រអប់​ធីក​នៅ​ខាង​ឆ្វេ​ងកំណត់​ថាតើ​តម្រង​ជាក់លាក់​ត្រូ​វបើក​ ឬ​ក៏​អត់ ។ ប្រើម៉ឺនុយ​បរិបទ​ ឬ​ប៊ូតុង​នៅ​ខាង​ស្ដាំ​ដើម្បី​បន្ថែម ឬ​យក​តម្រង  USB ចេញ ។</translation>
     </message>
     <message>
-        <source>[filter]</source>
-        <translation>[តម្រង]</translation>
+        <source>[filter]</source>
+        <translation>[តម្រង]</translation>
+    </message>
+    <message>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>លេខ​សម្គាល់​អ្នក​លក់ ៖ %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>លេខសម្គាល់​ផលិតផល ៖ %2</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>កា​រពិនិត្យ​ឡើង​វិញ ៖ %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ផលិតផល ៖ %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ក្រុមហ៊ុន​ផលិត ៖ %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>លេខ​ស៊េរី ៖ %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ច្រក ៖ %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ស្ថានភាព ៖ %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>លេខ​សម្គាល់​អ្នក​លក់ ៖ %1</nobr></translation>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>លេខសម្គាល់​ផលិតផល ៖ %2</nobr></translation>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>កា​រពិនិត្យ​ឡើង​វិញ ៖ %3</nobr></translation>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ផលិតផល ៖ %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ក្រុមហ៊ុន​ផលិត ៖ %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>លេខ​ស៊េរី ៖ %1</nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ច្រក ៖ %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ស្ថានភាព ៖ %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6058,7 +6325,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​លេខ​សម្គាល់​អ្នក​លក់ ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ <i>ផ្គូផ្គងជាក់លាក់</i> គឺ <tt>XXXX</tt> ដែល <tt>X</tt> ជា​គោល​ដប់ប្រាំមួយ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​លេខ​សម្គាល់​អ្នក​លក់ ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ <i>ផ្គូផ្គងជាក់លាក់</i> គឺ <tt>XXXX</tt> ដែល <tt>X</tt> ជា​គោល​ដប់ប្រាំមួយ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6066,7 +6333,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​លេខ​សម្គាល់​ផលិតផល ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ<i>ផ្គូផ្គង​ជាក់លាក់</i> គឺ<tt>XXXX</tt> ដែល <tt>X</tt> គឺជា​គោល​ដប់​ប្រាំមួយ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​លេខ​សម្គាល់​ផលិតផល ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ<i>ផ្គូផ្គង​ជាក់លាក់</i> គឺ<tt>XXXX</tt> ដែល <tt>X</tt> គឺជា​គោល​ដប់​ប្រាំមួយ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6074,7 +6341,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>កំណត់​ការ​ពិនិត្យ​តម្រង​លេខ​ឡើង​វិញ ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ <i>ផ្គូផ្គង​ជាក់លាក់</i> គឺ​<tt>IIFF</tt> ដែល <tt>I</tt> ជា​ចំនួន​គោល​ដប់​របស់​ផ្នែក​ចំនួន​គត់​ ហើយ <tt>F</tt> គឺជា​ចំនួន​គោលដប់​របស់​ផ្នែក​ប្រភាគ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​ការ​ពិនិត្យ​តម្រង​លេខ​ឡើង​វិញ ។ ទ្រង់ទ្រាយ​ខ្សែអក្សរ <i>ផ្គូផ្គង​ជាក់លាក់</i> គឺ​<tt>IIFF</tt> ដែល <tt>I</tt> ជា​ចំនួន​គោល​ដប់​របស់​ផ្នែក​ចំនួន​គត់​ ហើយ <tt>F</tt> គឺជា​ចំនួន​គោលដប់​របស់​ផ្នែក​ប្រភាគ ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6082,7 +6349,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​អ្នក​ផលិត​ជាខ្សែអក្សរ <i>ផ្គូផ្គង​ជាក់លាក់</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​អ្នក​ផលិត​ជាខ្សែអក្សរ <i>ផ្គូផ្គង​ជាក់លាក់</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6090,7 +6357,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​ឈ្មោះផលិតផល​ជាខ្សែអក្សរ <i>ផ្គូផ្គងជាក់លាក់</i> ។ ខ្សែអក្សរទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​ឈ្មោះផលិតផល​ជាខ្សែអក្សរ <i>ផ្គូផ្គងជាក់លាក់</i> ។ ខ្សែអក្សរទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6098,7 +6365,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​លេខ​ស៊េរី​ជា​ខ្សែអក្សរ <i>កា​រផ្គូផ្គង​ជាក់លាក់</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​លេខ​ស៊េរី​ជា​ខ្សែអក្សរ <i>កា​រផ្គូផ្គង​ជាក់លាក់</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6106,7 +6373,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>កំណត់​តម្រង​ច្រក USB ម៉ាស៊ីណ​ជា​ខ្សែអក្សរ <i>ផ្គូផ្គង​ពិតប្រាកដ</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
+        <translation type="obsolete">កំណត់​តម្រង​ច្រក USB ម៉ាស៊ីណ​ជា​ខ្សែអក្សរ <i>ផ្គូផ្គង​ពិតប្រាកដ</i> ។ ខ្សែអក្សរ​ទទេ​នឹង​ផ្គូផ្គង​តម្លៃ​ណាមួយ ។</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6114,7 +6381,7 @@ network adapter name</comment>
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>កំណត់​ថាតើ​តម្រង​នេះ​អនុវត្ត​ទៅកាន់​ឧបករណ៍ USB ដែលបាន​ភ្ជាប់​ទៅ​​កុំព្យូទ័រ​ដែរឬទេ (<i>គ្មានទេ</i>) ទៅកាន់​កុំព្យូទ័រ​ភ្ញៀវ​របស់ VRDP (<i>បាទ/ចាស</i>) ឬ​ទាំង​ពីរ (<i>ណាមួយ</i>) ។</translation>
+        <translation type="obsolete">កំណត់​ថាតើ​តម្រង​នេះ​អនុវត្ត​ទៅកាន់​ឧបករណ៍ USB ដែលបាន​ភ្ជាប់​ទៅ​​កុំព្យូទ័រ​ដែរឬទេ (<i>គ្មានទេ</i>) ទៅកាន់​កុំព្យូទ័រ​ភ្ញៀវ​របស់ VRDP (<i>បាទ/ចាស</i>) ឬ​ទាំង​ពីរ (<i>ណាមួយ</i>) ។</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6128,6 +6395,38 @@ network adapter name</comment>
         <source>USB Filter Details</source>
         <translation>សេចក្ដី​លម្អិត​តម្រង USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6146,10 +6445,6 @@ network adapter name</comment>
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6165,6 +6460,10 @@ network adapter name</comment>
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -6590,7 +6889,7 @@ network adapter name</comment>
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>មិនអាច​ប្ដូរ​ការ​បង្ហាញ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​ទៅ​របៀប​ពេញ​អេក្រង់​បានទេ ដោយសារ​តែ​សតិ​វីដេអូ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​មិន​គ្រប់គ្រាន់ ។</p><p>អ្នក​គួរ​កំណត់​រចនាសម្ព័ន្ធ​ម៉ាស៊ីន​និម្មិត​ឲ្យ​មានសតិ​​យ៉ាង​ហោចណាស់​ <b>%1</b> នៃ​សតិ​វីដេអូ ។</p><p>ចុច​ <b>មិនអើពើ</b> ដើម្បី​ប្ដូរ​ទៅ​របៀប​ពេញអេក្រង់ ឬ​បើ​មិន​ដូច្នេះ​ទេ​ចុច <b>បោះបង់</b> ដើម្បី​បោះបង់​ប្រតិបត្តិការ ។</p></translation>
+        <translation type="obsolete"><p>មិនអាច​ប្ដូរ​ការ​បង្ហាញ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​ទៅ​របៀប​ពេញ​អេក្រង់​បានទេ ដោយសារ​តែ​សតិ​វីដេអូ​របស់​ម៉ាស៊ីន​ភ្ញៀវ​មិន​គ្រប់គ្រាន់ ។</p><p>អ្នក​គួរ​កំណត់​រចនាសម្ព័ន្ធ​ម៉ាស៊ីន​និម្មិត​ឲ្យ​មានសតិ​​យ៉ាង​ហោចណាស់​ <b>%1</b> នៃ​សតិ​វីដេអូ ។</p><p>ចុច​ <b>មិនអើពើ</b> ដើម្បី​ប្ដូរ​ទៅ​របៀប​ពេញអេក្រង់ ឬ​បើ​មិន​ដូច្នេះ​ទេ​ចុច <b>បោះបង់</b> ដើម្បី​បោះបង់​ប្រតិបត្តិការ ។</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -6704,7 +7003,7 @@ network adapter name</comment>
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>តើ​អ្នក​ចង់​លុប​ឯកតា​ផ្ទុក​របស់​ថាសរឹង​ <nobr><b>%1</b></nobr>ដែរឬទេ?</p><p>ប្រសិនបើ​អ្នក​ជ្រើស <b>លុប</b> បន្ទាប់​មក​ឯកតា​ផ្ទុក​ដែល​បានបញ្ជាក់​នឹង​ត្រូ​វបាន​លុប​ជា​អចិន្ត្រៃយ៍ ។ ប្រតិបត្តិការ​នេះ <b>មិនអាច​ត្រូ​វបាន​ធ្វើ​វិញ​បានទេ</b> ។</p><p>ប្រសិនបើ​អ្នក​ជ្រើស <b>រក្សាទុក</b> បន្ទាប់​មក​ថាសរឹង​នឹង​ត្រូវ​បានយកចេញ​តែ​ពី​បញ្ជី​របស់​ថាសរឹង​ដែល​ស្គាល់​ប៉ុណ្ណោះ ប៉ុន្តែ​ឯកតា​ផ្ទុ [...]
+        <translation type="obsolete"><p>តើ​អ្នក​ចង់​លុប​ឯកតា​ផ្ទុក​របស់​ថាសរឹង​ <nobr><b>%1</b></nobr>ដែរឬទេ?</p><p>ប្រសិនបើ​អ្នក​ជ្រើស <b>លុប</b> បន្ទាប់​មក​ឯកតា​ផ្ទុក​ដែល​បានបញ្ជាក់​នឹង​ត្រូ​វបាន​លុប​ជា​អចិន្ត្រៃយ៍ ។ ប្រតិបត្តិការ​នេះ <b>មិនអាច​ត្រូ​វបាន​ធ្វើ​វិញ​បានទេ</b> ។</p><p>ប្រសិនបើ​អ្នក​ជ្រើស <b>រក្សាទុក</b> បន្ទាប់​មក​ថាសរឹង​នឹង​ត្រូវ​បានយកចេញ​តែ​ពី​បញ្ជី​របស់​ថាសរឹង​ដែល​ស្គាល់​ប៉ុណ្ណោះ ប [...]
     </message>
     <message>
         <source>Delete</source>
@@ -6815,7 +7114,7 @@ network adapter name</comment>
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>ការ​លុប​រូប​ថត​នឹង​បណ្តាល​ឲ្យព័ត៌​មានចេញ​​ដែល​បាន​រ​ក្សា​ទុក​ត្រូវ​បាន​បាត់​បង់​ និងការ​ផ្សាយ​​ទិន្នន័យ​ថាស​​​លើ​ឯកសារ​រូប​ភាពបី​បួន​​ដែល​ VirtualBox ត្រូវ​បានបង្កើត​ជាមួយ​គ្នា ​រូប​ថត​នឹង​ត្រូវ​បានបញ្ចូល​ចូល​​គ្នា​​ទៅ​ក្នុង​ឯកសារ​តែ​មួយ​ ។​ វាអាច​ដំណើរ​ការ​យូរ​ និង​ព័ត៌​មាន​ក្នុង​រូប​ថត​មិន​អាច​ត្រូវ​បានយកបាន​​ឡើយ ។</p></p>តើ​អ្នក​ប្រាកដ​ជា​ចង់​លុប​រូប​ថត​ដែលបាន​​ជ្រើស​<b>%1</b> ឬ ?</p></translation>
+        <translation type="obsolete"><p>ការ​លុប​រូប​ថត​នឹង​បណ្តាល​ឲ្យព័ត៌​មានចេញ​​ដែល​បាន​រ​ក្សា​ទុក​ត្រូវ​បាន​បាត់​បង់​ និងការ​ផ្សាយ​​ទិន្នន័យ​ថាស​​​លើ​ឯកសារ​រូប​ភាពបី​បួន​​ដែល​ VirtualBox ត្រូវ​បានបង្កើត​ជាមួយ​គ្នា ​រូប​ថត​នឹង​ត្រូវ​បានបញ្ចូល​ចូល​​គ្នា​​ទៅ​ក្នុង​ឯកសារ​តែ​មួយ​ ។​ វាអាច​ដំណើរ​ការ​យូរ​ និង​ព័ត៌​មាន​ក្នុង​រូប​ថត​មិន​អាច​ត្រូវ​បានយកបាន​​ឡើយ ។</p></p>តើ​អ្នក​ប្រាកដ​ជា​ចង់​លុប​រូប​ថត​ដែលបាន​​ជ្រើស​<b>%1</b> ឬ ?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7080,10 +7379,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7221,10 +7516,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7418,10 +7709,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7530,18 +7817,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7581,30 +7856,6 @@ medium</comment>
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -7722,10 +7973,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7797,6 +8044,46 @@ medium</comment>
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -8415,6 +8702,13 @@ medium</comment>
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">ឈ្មោះ</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">ឈ្មោះ</translation>
     </message>
     <message>
@@ -8437,6 +8731,34 @@ medium</comment>
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -8683,13 +9005,6 @@ You may wish to translate this more like "Time remaining: %1"</comment
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -8699,6 +9014,10 @@ You may wish to translate this more like "Time remaining: %1"</comment
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9163,96 +9482,96 @@ details report (VRDP server port)</comment>
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9295,10 +9614,6 @@ details report (VRDP server port)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9354,6 +9669,10 @@ details report (VRDP server port)</comment>
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -9617,83 +9936,83 @@ details report (VRDP server port)</comment>
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><nobr>%1 (%2 B)</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9740,31 +10059,31 @@ details report (VRDP server port)</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10311,7 +10630,7 @@ Virtualization Stuff LED</comment>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>បើក​ប្រអប់ ដើម្បី​ជ្រើស​ថត​ផ្សេង ។</translation>
+        <translation type="obsolete">បើក​ប្រអប់ ដើម្បី​ជ្រើស​ថត​ផ្សេង ។</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -10319,7 +10638,7 @@ Virtualization Stuff LED</comment>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>បើក​ប្រអប់​ដើម្បី​ជ្រើស​ឯកសារ​ផ្សេង ។</translation>
+        <translation type="obsolete">បើក​ប្រអប់​ដើម្បី​ជ្រើស​ឯកសារ​ផ្សេង ។</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -10331,16 +10650,32 @@ Virtualization Stuff LED</comment>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>សូម​វាយ​ផ្លូវ​ថត​ដែល​ចង់​បាននៅ​ទីនេះ ។</translation>
+        <translation type="obsolete">សូម​វាយ​ផ្លូវ​ថត​ដែល​ចង់​បាននៅ​ទីនេះ ។</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>សូម​វាយ​ផ្លូវ​ឯកសារ​ដែល​ចង់​បាន​នៅ​ទីនេះ ។</translation>
+        <translation type="obsolete">សូម​វាយ​ផ្លូវ​ឯកសារ​ដែល​ចង់​បាន​នៅ​ទីនេះ ។</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -11673,7 +12008,7 @@ medium</comment>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">ការ​ភ្ជាប់​ជា​មួយ​នឹង​ថាស​រឹង​នេះ នឹង​ត្រូវ​បាន​អនុវត្ត​ដោយ​ប្រយោល​ ដោយ​ប្រើ​ថាសរឹង​ផ្សេង​ដែលបានបង្កើត​ថ្មីៗ ។</translation>
+        <translation type="unfinished">ការ​ភ្ជាប់​ជា​មួយ​នឹង​ថាស​រឹង​នេះ នឹង​ត្រូវ​បាន​អនុវត្ត​ដោយ​ប្រយោល​ ដោយ​ប្រើ​ថាសរឹង​ផ្សេង​ដែលបានបង្កើត​ថ្មីៗ ។</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -11683,7 +12018,7 @@ medium</comment>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">ថាសរឹង​មូលដ្ឋាន​នេះ​ត្រូវ​បាន​ភ្ជាប់​ដោយ​ប្រយោល​ ដោយ​ប្រើ​ថាសរឹង​ផ្សេង ៖</translation>
+        <translation type="unfinished">ថាសរឹង​មូលដ្ឋាន​នេះ​ត្រូវ​បាន​ភ្ជាប់​ដោយ​ប្រយោល​ ដោយ​ប្រើ​ថាសរឹង​ផ្សេង ៖</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -12307,14 +12642,6 @@ medium</comment>
         <translation type="unfinished">សេច​ក្តី​ពិណណ៌នា​</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -12355,10 +12682,6 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -12536,25 +12859,27 @@ medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -13314,7 +13639,7 @@ VMM: Floppy Image</comment>
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>បង្ហាញ​សេចក្ដី​លម្អិត​របស់​រូបថត​ដែល​បានជ្រើស</translation>
+        <translation type="obsolete">បង្ហាញ​សេចក្ដី​លម្អិត​របស់​រូបថត​ដែល​បានជ្រើស</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -13330,11 +13655,11 @@ VMM: Floppy Image</comment>
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>ស្តារ​រូប​ថត​ដែល​បាន​ជ្រើស​របស់​​ម៉ាស៊ីន​និម្មិត​</translation>
+        <translation type="obsolete">ស្តារ​រូប​ថត​ដែល​បាន​ជ្រើស​របស់​​ម៉ាស៊ីន​និម្មិត​</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>លុប​រូប​ថត​ដែល​បាន​ជ្រើស​របស់​​ម៉ាស៊ីន​និម្មិត​</translation>
+        <translation type="obsolete">លុប​រូប​ថត​ដែល​បាន​ជ្រើស​របស់​​ម៉ាស៊ីន​និម្មិត​</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -13345,7 +13670,19 @@ VMM: Floppy Image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -13380,6 +13717,10 @@ VMM: Floppy Image</comment>
             <numerusform>ការ​ព្រមាន ៖ អ្នកកំពុង​ថត​រូប​របស់​ម៉ាស៊ីន​ដែល​កំពុង​រត់ ដែលមាន​រូបភាព​មិនប្រែប្រួល %n បានភ្ជាប់​ទៅកាន់​វា ។ ដ៏រាប​ណា​អ្នកកំពុង​ធ្វើការ​​ពី​រូបភាព​ដែល​មិនប្រែប្រួល​នេះ នឹង​មិន​ត្រូ​វបានកំណត់​ឡើងវិញ​ ដើម្បី​ចៀសវាង​ពី​ការ​បាត់បង់​ទិន្នន័យ​ទេ ។</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">រូបថត %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
index eed12ea..933d152 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts
@@ -264,7 +264,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>창 크기를 조정했을 때 게스트 디스플레이를 자동으로 조정합니다 (게스트 확장 필요)</translation>
+        <translation type="obsolete">창 크기를 조정했을 때 게스트 디스플레이를 자동으로 조정합니다 (게스트 확장 필요)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -356,7 +356,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>가상 머신에 ACPI 전원 단추 누름 이벤트를 보냅니다</translation>
+        <translation type="obsolete">가상 머신에 ACPI 전원 단추 누름 이벤트를 보냅니다</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -392,7 +392,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>네트워크 어댑터 설정 바꾸기</translation>
+        <translation type="obsolete">네트워크 어댑터 설정 바꾸기</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>공유 폴더 대화상자를 엽니다</translation>
+        <translation type="obsolete">공유 폴더 대화상자를 엽니다</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -500,7 +500,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>가상 머신 설정을 관리합니다</translation>
+        <translation type="obsolete">가상 머신 설정을 관리합니다</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -508,7 +508,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>선택한 가상 머신의 로그 파일을 표시합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 로그 파일을 표시합니다</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -532,7 +532,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>네트워크 작업 관리자 보이기</translation>
+        <translation type="obsolete">네트워크 작업 관리자 보이기</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -544,7 +544,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>제품 정보 대화상자를 표시합니다</translation>
+        <translation type="obsolete">제품 정보 대화상자를 표시합니다</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -556,7 +556,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>가상 머신의 스크린샷을 찍습니다</translation>
+        <translation type="obsolete">가상 머신의 스크린샷을 찍습니다</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -599,11 +599,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>환경 설정(&P)...</translation>
+        <translation type="obsolete">환경 설정(&P)...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>전역 환경 설정 대화 상자를 표시합니다</translation>
+        <translation type="obsolete">전역 환경 설정 대화 상자를 표시합니다</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -619,15 +619,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>새 가상 머신을 만듭니다</translation>
+        <translation type="obsolete">새 가상 머신을 만듭니다</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>존재하는 가상 머신 추가</translation>
+        <translation type="obsolete">존재하는 가상 머신 추가</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>선택한 가상 머신 그룹 이름 바꾸기</translation>
+        <translation type="obsolete">선택한 가상 머신 그룹 이름 바꾸기</translation>
     </message>
     <message>
         <source>Break the selected virtual machine group</source>
@@ -651,15 +651,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>새로 고침(&F)...</translation>
+        <translation type="obsolete">새로 고침(&F)...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>선택한 가상 머신의 접근성 상태를 새로 고칩니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 접근성 상태를 새로 고칩니다</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>파인더에 보이기</translation>
+        <translation type="obsolete">파인더에 보이기</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -667,7 +667,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>탐색기에 보이기</translation>
+        <translation type="obsolete">탐색기에 보이기</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -675,11 +675,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>파일 관리자에 보이기</translation>
+        <translation type="obsolete">파일 관리자에 보이기</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>VirtualBox 가상 머신 정의 파일을 파일 관리자에 표시합니다</translation>
+        <translation type="obsolete">VirtualBox 가상 머신 정의 파일을 파일 관리자에 표시합니다</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -691,7 +691,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>선택한 항목을 사용하여 새 그룹 만들기</translation>
+        <translation type="obsolete">선택한 항목을 사용하여 새 그룹 만들기</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -699,7 +699,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>선택한 가상 머신을 복제합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 복제합니다</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -715,7 +715,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>저장된 상태 삭제(&I)...</translation>
+        <translation type="obsolete">저장된 상태 삭제(&I)...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -723,7 +723,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>데스크톱에 바로 가기 만들기</translation>
+        <translation type="obsolete">데스크톱에 바로 가기 만들기</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -731,7 +731,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>데스크톱에 바로 가기 만들기</translation>
+        <translation type="obsolete">데스크톱에 바로 가기 만들기</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -779,7 +779,7 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>선택한 가상 머신 그룹에 있는 항목을 가나다순으로 정렬합니다</translation>
+        <translation type="obsolete">선택한 가상 머신 그룹에 있는 항목을 가나다순으로 정렬합니다</translation>
     </message>
     <message>
         <source>&Add Group...</source>
@@ -787,43 +787,43 @@
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>선택한 가상 머신을 삭제합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 삭제합니다</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>선택한 가상 머신을 시작합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 시작합니다</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>선택한 가상 머신의 창으로 전환합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 창으로 전환합니다</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>선택한 가상 머신의 실행을 일시 중지합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 실행을 일시 중지합니다</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>선택한 가상 머신을 초기화합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 초기화합니다</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>선택한 가상 머신의 저장된 상태를 삭제합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 저장된 상태를 삭제합니다</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>VirtualBox 가상 머신 정의 파일을 파인더에 표시합니다</translation>
+        <translation type="obsolete">VirtualBox 가상 머신 정의 파일을 파인더에 표시합니다</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>VirtualBox 가상 머신 정의 파일을 탐색기에 표시합니다</translation>
+        <translation type="obsolete">VirtualBox 가상 머신 정의 파일을 탐색기에 표시합니다</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>데스크톱에 VirtualBox 가상 머신 정의 파일의 바로 가기를 만듭니다</translation>
+        <translation type="obsolete">데스크톱에 VirtualBox 가상 머신 정의 파일의 바로 가기를 만듭니다</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>데스크톱에 VirtualBox 가상 머신 정의 파일의 바로 가기를 만듭니다</translation>
+        <translation type="obsolete">데스크톱에 VirtualBox 가상 머신 정의 파일의 바로 가기를 만듭니다</translation>
     </message>
     <message>
         <source>Sort Parent Group</source>
@@ -831,15 +831,15 @@
     </message>
     <message>
         <source>Save State</source>
-        <translation>상태 저장</translation>
+        <translation type="obsolete">상태 저장</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>선택한 가상 머신의 상태를 저장합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 상태를 저장합니다</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>선택한 가상 머신에 ACPI 전원 단추 누름 이벤트를 보냅니다</translation>
+        <translation type="obsolete">선택한 가상 머신에 ACPI 전원 단추 누름 이벤트를 보냅니다</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -847,7 +847,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>선택한 가상 머신의 전원을 끕니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 전원을 끕니다</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -859,15 +859,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>그룹 해제(&U)...</translation>
+        <translation type="obsolete">그룹 해제(&U)...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>선택한 가상 머신 그룹 항목을 그룹 해제합니다</translation>
+        <translation type="obsolete">선택한 가상 머신 그룹 항목을 그룹 해제합니다</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>정렬</translation>
+        <translation type="obsolete">정렬</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -875,7 +875,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>첫 선택한 항목의 그룹을 가나다순으로 정렬합니다</translation>
+        <translation type="obsolete">첫 선택한 항목의 그룹을 가나다순으로 정렬합니다</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -887,7 +887,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>선택한 가상 머신의 상태를 저장합니다</translation>
+        <translation type="obsolete">선택한 가상 머신의 상태를 저장합니다</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -907,7 +907,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>이 머신으로 들어오는 원격 데스크톱(RDP) 연결을 켜고 끕니다</translation>
+        <translation type="obsolete">이 머신으로 들어오는 원격 데스크톱(RDP) 연결을 켜고 끕니다</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -915,7 +915,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>비디오 캡처를 켜거나 끕니다</translation>
+        <translation type="obsolete">비디오 캡처를 켜거나 끕니다</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -923,7 +923,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>비디오 캡처 설정 변경</translation>
+        <translation type="obsolete">비디오 캡처 설정 변경</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -931,7 +931,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>세션 정보 대화 상자 보이기</translation>
+        <translation type="obsolete">세션 정보 대화 상자 보이기</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -943,7 +943,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>VirtualBox 게스트 확장 디스크 파일을 가상 드라이브에 삽입</translation>
+        <translation type="obsolete">VirtualBox 게스트 확장 디스크 파일을 가상 드라이브에 삽입</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -959,7 +959,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>메뉴 표시줄을 설정하는 창을 엽니다</translation>
+        <translation type="obsolete">메뉴 표시줄을 설정하는 창을 엽니다</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -967,7 +967,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>이 가상 머신의 메뉴 표시줄 보이기/숨기기</translation>
+        <translation type="obsolete">이 가상 머신의 메뉴 표시줄 보이기/숨기기</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -979,7 +979,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>상태 표시줄을 설정하는 창을 엽니다</translation>
+        <translation type="obsolete">상태 표시줄을 설정하는 창을 엽니다</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -987,7 +987,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>이 가상 머신의 상태 표시줄 보이기/숨기기</translation>
+        <translation type="obsolete">이 가상 머신의 상태 표시줄 보이기/숨기기</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -1003,7 +1003,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>전역 단축키 설정 대화 상자를 표시합니다</translation>
+        <translation type="obsolete">전역 단축키 설정 대화 상자를 표시합니다</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -1011,19 +1011,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>하드 드라이브(&H)</translation>
+        <translation type="obsolete">하드 드라이브(&H)</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>하드 드라이브 설정(&H)...</translation>
+        <translation type="obsolete">하드 드라이브 설정(&H)...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>하드 드라이브 설정 바꾸기</translation>
+        <translation type="obsolete">하드 드라이브 설정 바꾸기</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>네트워크</translation>
+        <translation type="obsolete">네트워크</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -1031,7 +1031,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>USB 장치 설정 바꾸기</translation>
+        <translation type="obsolete">USB 장치 설정 바꾸기</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1064,7 +1064,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>활성 가상 머신 창 최소화</translation>
+        <translation type="obsolete">활성 가상 머신 창 최소화</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1084,7 +1084,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>%1 삽입(&I)</translation>
+        <translation type="obsolete">%1 삽입(&I)</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1112,7 +1112,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>드래그 앤 드롭</translation>
+        <translation type="obsolete">드래그 앤 드롭</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1129,7 +1129,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>선택한 가상 머신을 백그라운드에서 시작합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 백그라운드에서 시작합니다</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1137,7 +1137,316 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>선택한 가상 머신을 시작한 후 백그라운드에서 계속 실행할 수 있도록 합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 시작한 후 백그라운드에서 계속 실행할 수 있도록 합니다</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">환경 설정(&P)...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">%1 삽입(&I)</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">사용함</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">%1x%2(으)로 크기 조정</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">모니터 %1 미리보기</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">USB 장치가 연결되지 않았음</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">웹캠이 연결되지 않았음</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">호스트 PC에 지원하는 웹캠이 연결되지 않았음</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">새로 고침(&F)</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1145,17 +1454,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>사용함</translation>
+        <translation type="obsolete">사용함</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>%1x%2(으)로 크기 조정</translation>
+        <translation type="obsolete">%1x%2(으)로 크기 조정</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1178,6 +1487,28 @@
             <numerusform>이 가상 머신은 암호로 보호되어 있습니다.암호 %n개를 입력하십시오.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">상태</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">암호</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1231,15 +1562,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>IDE 하드 디스크 컨트롤러</translation>
+        <translation type="obsolete">IDE 하드 디스크 컨트롤러</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>SATA 하드 디스크 컨트롤러</translation>
+        <translation type="obsolete">SATA 하드 디스크 컨트롤러</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>SCSI 하드 디스크 컨트롤러</translation>
+        <translation type="obsolete">SCSI 하드 디스크 컨트롤러</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1297,7 +1628,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>하드 디스크 컨트롤러 (SAS)</translation>
+        <translation type="obsolete">하드 디스크 컨트롤러 (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1307,6 +1638,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>모든 네트워크 카드의 MAC 주소 초기화(&R)</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1969,7 +2316,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>데이터 가져오는 중...</translation>
+        <translation type="obsolete">데이터 가져오는 중...</translation>
     </message>
 </context>
 <context>
@@ -1978,6 +2325,10 @@
         <source>Dropping data ...</source>
         <translation>끌어다 놓은 데이터 처리 중...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">데이터 가져오는 중...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2059,22 +2410,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>상태</translation>
+        <translation type="obsolete">상태</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>암호</translation>
+        <translation type="obsolete">암호</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>다음 하드 드라이브 %n개에 사용됨:</nobr><br>%1</numerusform>
         </translation>
     </message>
@@ -3351,7 +3702,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>게스트 화면 최대 너비를 설정합니다.</translation>
+        <translation type="obsolete">게스트 화면 최대 너비를 설정합니다.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3359,7 +3710,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>게스트 화면 최대 높이를 설정합니다.</translation>
+        <translation type="obsolete">게스트 화면 최대 높이를 설정합니다.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3394,12 +3745,24 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>선택하면 마우스 커서가 머신 창 위로 지나갈 때 머신 창이 위로 올라옵니다.</translation>
+        <translation type="obsolete">선택하면 마우스 커서가 머신 창 위로 지나갈 때 머신 창이 위로 올라옵니다.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>마우스 아래 창 올리기(&R)</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -3425,11 +3788,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>패키지 추가</translation>
+        <translation type="obsolete">패키지 추가</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>패키지 삭제</translation>
+        <translation type="obsolete">패키지 삭제</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3447,6 +3810,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>확장 패키지(&E)</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3516,7 +3895,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>호스트 화면 보호기(&H):</translation>
+        <translation type="obsolete">호스트 화면 보호기(&H):</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3524,7 +3903,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>가상 머신이 실행 중일 때 끄기</translation>
+        <translation type="obsolete">가상 머신이 실행 중일 때 끄기</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3579,11 +3966,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>설정할 수 있는 단축키 목록을 표시합니다.</translation>
+        <translation type="obsolete">설정할 수 있는 단축키 목록을 표시합니다.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>단축키 목록에서 검색할 텍스트를 입력합니다.</translation>
+        <translation type="obsolete">단축키 목록에서 검색할 텍스트를 입력합니다.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3762,15 +4157,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>호스트 전용 네트워크 추가하기(&A)</translation>
+        <translation type="obsolete">호스트 전용 네트워크 추가하기(&A)</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>호스트 전용 네트워크 삭제하기(&R)</translation>
+        <translation type="obsolete">호스트 전용 네트워크 삭제하기(&R)</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>호스트 전용 네트워크 편집하기(&E)</translation>
+        <translation type="obsolete">호스트 전용 네트워크 편집하기(&E)</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3912,15 +4307,63 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>NAT 네트워크 추가(&A)</translation>
+        <translation type="obsolete">NAT 네트워크 추가(&A)</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>NAT 네트워크 삭제(&R)</translation>
+        <translation type="obsolete">NAT 네트워크 삭제(&R)</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>NAT 네트워크 편집(&E)</translation>
+        <translation type="obsolete">NAT 네트워크 편집(&E)</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4034,7 +4477,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>이 호스트 전용 네트워크 어댑터를 수동으로 설정합니다.</translation>
+        <translation type="obsolete">이 호스트 전용 네트워크 어댑터를 수동으로 설정합니다.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4078,7 +4521,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>가상 머신을 시작할 때 DHCP 서버를 사용할 지 여부입니다.</translation>
+        <translation type="obsolete">가상 머신을 시작할 때 DHCP 서버를 사용할 지 여부입니다.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4112,6 +4555,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>이 호스트 전용 어댑터에 연결된 DHCP 서버에서 제공하는 최고 주소입니다.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4125,7 +4576,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>이 NAT 네트워크를 사용합니다.</translation>
+        <translation type="obsolete">이 NAT 네트워크를 사용합니다.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4153,7 +4604,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>이 네트워크에서 DHCP를 사용할 지 결정합니다.</translation>
+        <translation type="obsolete">이 네트워크에서 DHCP를 사용할 지 결정합니다.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4161,7 +4612,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>이 네트워크에서 IPv6을 사용할 지 결정합니다.</translation>
+        <translation type="obsolete">이 네트워크에서 IPv6을 사용할 지 결정합니다.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4169,16 +4620,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>이 네트워크를 기본 IPv6 경로로 알릴 지 설정합니다.</translation>
+        <translation type="obsolete">이 네트워크를 기본 IPv6 경로로 알릴 지 설정합니다.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>포트 포워딩 규칙을 편집하는 대화 상자를 엽니다.</translation>
+        <translation type="obsolete">포트 포워딩 규칙을 편집하는 대화 상자를 엽니다.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>포트 포워딩(&P)</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4211,7 +4682,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>프록시 호스트를 변경합니다.</translation>
+        <translation type="obsolete">프록시 호스트를 변경합니다.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4219,7 +4690,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>프록시 포트를 변경합니다.</translation>
+        <translation type="obsolete">프록시 포트를 변경합니다.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4253,6 +4724,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>프록시 포트를 지정하지 않았습니다.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4270,7 +4749,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>새 버전을 찾을 주기를 지정하십시오. 만약 자동 업데이트를 사용하고 싶지 않다면 위 체크 상자의 체크를 해제하십시오.</translation>
+        <translation type="obsolete">새 버전을 찾을 주기를 지정하십시오. 만약 자동 업데이트를 사용하고 싶지 않다면 위 체크 상자의 체크를 해제하십시오.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4304,6 +4783,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>모든 새 릴리즈 및 테스트 버전(&P)</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4722,7 +5205,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>가상 하드 디스크의 활동 상태를 표시합니다:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>가상 하드 디스크의 활동 상태를 표시합니다:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4808,7 +5291,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>키보드가 게스트 OS에 잡혀 있거나(<img src=:/hostkey_captured_16px.png/>) 잡혀 있지 않음을(<img src=:/hostkey_16px.png/>) 표시합니다.</translation>
+        <translation type="obsolete">키보드가 게스트 OS에 잡혀 있거나(<img src=:/hostkey_captured_16px.png/>) 잡혀 있지 않음을(<img src=:/hostkey_16px.png/>) 표시합니다.</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4854,6 +5337,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>플로피 드라이브 활동 상태를 표시합니다:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4874,11 +5366,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>모니터 %1 미리보기</translation>
+        <translation type="obsolete">모니터 %1 미리보기</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>스냅샷 %1</translation>
+        <translation type="obsolete">스냅샷 %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4914,11 +5406,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>USB 장치가 연결되지 않았음</translation>
-    </message>
-    <message>
-        <source>No supported devices connected to the host PC</source>
-        <translation></translation>
+        <translation type="obsolete">USB 장치가 연결되지 않았음</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4926,19 +5414,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>웹캠이 연결되지 않았음</translation>
+        <translation type="obsolete">웹캠이 연결되지 않았음</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>호스트 PC에 지원하는 웹캠이 연결되지 않았음</translation>
+        <translation type="obsolete">호스트 PC에 지원하는 웹캠이 연결되지 않았음</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>네트워크 어댑터 연결</translation>
+        <translation type="obsolete">네트워크 어댑터 연결</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>네트워크 어댑터 %1 연결</translation>
+        <translation type="obsolete">네트워크 어댑터 %1 연결</translation>
     </message>
 </context>
 <context>
@@ -4957,7 +5445,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>오디오 출력 드라이버를 제어합니다. <b>빈 오디오 드라이버</b>를 선택하면 게스트 운영 체제에서는 사운드 카드를 볼 수 있지만 모든 요청이 무시됩니다.</translation>
+        <translation type="obsolete">오디오 출력 드라이버를 제어합니다. <b>빈 오디오 드라이버</b>를 선택하면 게스트 운영 체제에서는 사운드 카드를 볼 수 있지만 모든 요청이 무시됩니다.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4967,6 +5455,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>가상 사운드 카드의 종류를 선택합니다. 이 값에 따라서 VirtualBox 가상 머신의 오디오 하드웨어 종류가 달라집니다.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4976,7 +5468,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5032,7 +5524,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>VRDP 인증 방법을 표시합니다.</translation>
+        <translation type="obsolete">VRDP 인증 방법을 표시합니다.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5040,7 +5532,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>밀리초 단위의 게스트 인증 제한 시간을 표시합니다.</translation>
+        <translation type="obsolete">밀리초 단위의 게스트 인증 제한 시간을 표시합니다.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5056,7 +5548,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP 서버 포트 번호입니다. <tt>0</tt>을 지정할 수 있으며, RDP 표준 포트 번호는 3389입니다.</translation>
+        <translation type="obsolete">VRDP 서버 포트 번호입니다. <tt>0</tt>을 지정할 수 있으며, RDP 표준 포트 번호는 3389입니다.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5068,11 +5560,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>가상 머신에 동시에 하나 이상의 연결을 허용할 것인지 여부입니다.</translation>
+        <translation type="obsolete">가상 머신에 동시에 하나 이상의 연결을 허용할 것인지 여부입니다.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5112,7 +5604,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>VirtualBox에서 녹화한 파일을 저장할 경로를 지정합니다.</translation>
+        <translation type="obsolete">VirtualBox에서 녹화한 파일을 저장할 경로를 지정합니다.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5120,15 +5612,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>이 설정은 녹화된 비디오의 해상도(프레임 크기)를 설정합니다.</translation>
+        <translation type="obsolete">이 설정은 녹화된 비디오의 해상도(프레임 크기)를 설정합니다.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>이 설정은 녹화된 비디오의 <b>수평</b> 해상도(프레임 너비)를 설정합니다.</translation>
+        <translation type="obsolete">이 설정은 녹화된 비디오의 <b>수평</b> 해상도(프레임 너비)를 설정합니다.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>이 설정은 녹화된 비디오의 <b>수직</b> 해상도(프레임 높이)를 설정합니다.</translation>
+        <translation type="obsolete">이 설정은 녹화된 비디오의 <b>수직</b> 해상도(프레임 높이)를 설정합니다.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5136,7 +5628,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>이 설정은 최대 <b>초당 프레임 수</b>를 설정합니다. 추가적인 프레임은 기록되지 않습니다. 이 값을 줄이면 건너뛰는 프레임 수를 늘이는 대신 파일 크기를 줄일 수 있습니다.</translation>
+        <translation type="obsolete">이 설정은 최대 <b>초당 프레임 수</b>를 설정합니다. 추가적인 프레임은 기록되지 않습니다. 이 값을 줄이면 건너뛰는 프레임 수를 늘이는 대신 파일 크기를 줄일 수 있습니다.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5144,11 +5636,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>이 설정은 녹화 <b>품질</b>을 지정합니다. 이 값을 높이면 파일 크기가 증가하는 대신 동영상의 화질을 개선할 수 있습니다.</translation>
+        <translation type="obsolete">이 설정은 녹화 <b>품질</b>을 지정합니다. 이 값을 높이면 파일 크기가 증가하는 대신 동영상의 화질을 개선할 수 있습니다.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>이 설정은 <b>초당 킬로비트</b> 단위로 비트 전송률을 지정합니다. 이 값을 높이면 파일 크기가 증가하는 대신 동영상의 화질을 개선할 수 있습니다.</translation>
+        <translation type="obsolete">이 설정은 <b>초당 킬로비트</b> 단위로 비트 전송률을 지정합니다. 이 값을 높이면 파일 크기가 증가하는 대신 동영상의 화질을 개선할 수 있습니다.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5160,7 +5652,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>가상 머신을 전체 화면이나 심리스 모드로 전환하려면 가상 머신에 <b>%1</b> 이상의 비디오 메모리를 할당해야 합니다.</translation>
+        <translation type="obsolete">가상 머신을 전체 화면이나 심리스 모드로 전환하려면 가상 머신에 <b>%1</b> 이상의 비디오 메모리를 할당해야 합니다.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5219,7 +5711,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>화면 %1의 동영상 녹화를 사용합니다.</translation>
+        <translation type="obsolete">화면 %1의 동영상 녹화를 사용합니다.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -5267,11 +5759,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
@@ -5279,7 +5771,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
@@ -5290,7 +5782,71 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">조정되지 않은 HiDPI 출력 사용(&U)</translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>Acceleration:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5302,7 +5858,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>이 가상 머신의 스냅샷을 저장할 경로를 표시합니다. 스냅샷은 많은 디스크 공간을 차지할 수도 있습니다.</translation>
+        <translation type="obsolete">이 가상 머신의 스냅샷을 저장할 경로를 표시합니다. 스냅샷은 많은 디스크 공간을 차지할 수도 있습니다.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5558,7 +6114,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>가상 머신 디스크를 암호화할 방식을 지정합니다.</translation>
+        <translation type="obsolete">가상 머신 디스크를 암호화할 방식을 지정합니다.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -5597,6 +6153,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation>변경하지 않음</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5642,15 +6206,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>선택하면 전체 화면 및 심리스 모드에서 작은 도구 모음을 표시합니다.</translation>
+        <translation type="obsolete">선택하면 전체 화면 및 심리스 모드에서 작은 도구 모음을 표시합니다.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>전체 화면/심리스 모드에서 보이기(&F)</translation>
+        <translation type="obsolete">전체 화면/심리스 모드에서 보이기(&F)</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>선택하면 작은 도구 모음을 화면 아래 대신 위에 표시합니다.</translation>
+        <translation type="obsolete">선택하면 작은 도구 모음을 화면 아래 대신 위에 표시합니다.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5660,6 +6224,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation>VM 상태 표시줄을 수정할 수 있도록 합니다.</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5681,7 +6257,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>이 어댑터가 호스트 운영 체제의 실제 네트워크에 어떻게 연결되어 있는지를 제어합니다.</translation>
+        <translation type="obsolete">이 어댑터가 호스트 운영 체제의 실제 네트워크에 어떻게 연결되어 있는지를 제어합니다.</translation>
     </message>
     <message>
         <source>Adapter</source>
@@ -5769,7 +6345,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>추가 네트워크 어댑터 옵션을 보이거나 숨깁니다.</translation>
+        <translation type="obsolete">추가 네트워크 어댑터 옵션을 보이거나 숨깁니다.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5785,7 +6361,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>가상 네트워크 케이블이 머신 시작 시 연결되거나 연결되지 않음을 표시합니다.</translation>
+        <translation type="obsolete">가상 네트워크 케이블이 머신 시작 시 연결되거나 연결되지 않음을 표시합니다.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5793,7 +6369,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>포트 포워딩 규칙을 편집하는 대화 상자를 엽니다.</translation>
+        <translation type="obsolete">포트 포워딩 규칙을 편집하는 대화 상자를 엽니다.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5813,7 +6389,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>사용할 네트워크 드라이버의 설정 사항을 입력하십시오. 설정 사항은 드라이버마다 다르며 <b>이름=값</b> 형식을 가집니다. 새 항목을 입력하려면 <b>Shift+Enter</b> 키를 누르십시오.</translation>
+        <translation type="obsolete">사용할 네트워크 드라이버의 설정 사항을 입력하십시오. 설정 사항은 드라이버마다 다르며 <b>이름=값</b> 형식을 가집니다. 새 항목을 입력하려면 <b>Shift+Enter</b> 키를 누르십시오.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5879,6 +6455,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>이 네트워크 카드를 연결할 NAT 네트워크의 이름을 지정합니다. 가상 머신 관리자 창의 전역 네트워크 설정을 통하여 네트워크를 추가 및 삭제할 수 있습니다.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6026,6 +6622,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>이 병렬 포트의 I/O 포트 주소를 표시합니다. 16진수 숫자<tt>0</tt>부터 <tt>0xFFFF</tt> 사이의 숫자를 사용할 수 있습니다.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">IRQ가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">I/O 포트가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">포트 경로가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">중복된 포트 경로가 지정되었습니다.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6043,23 +6659,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>IRQ가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">IRQ가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>I/O 포트가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">I/O 포트가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
+        <translation type="obsolete">두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>포트 경로가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">포트 경로가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>중복된 포트 경로가 지정되었습니다.</translation>
+        <translation type="obsolete">중복된 포트 경로가 지정되었습니다.</translation>
     </message>
 </context>
 <context>
@@ -6070,27 +6686,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>이 목록은 포트 포워딩 규칙입니다.</translation>
+        <translation type="obsolete">이 목록은 포트 포워딩 규칙입니다.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>새 규칙 추가하기</translation>
+        <translation type="obsolete">새 규칙 추가하기</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>선택한 규칙 복사하기</translation>
+        <translation type="obsolete">선택한 규칙 복사하기</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>선택한 규칙 삭제하기</translation>
+        <translation type="obsolete">선택한 규칙 삭제하기</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>이 단추는 새 포트 포워딩 규칙을 추가합니다.</translation>
+        <translation type="obsolete">이 단추는 새 포트 포워딩 규칙을 추가합니다.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>이 단추는 선택한 포트 포워딩 규칙을 삭제합니다.</translation>
+        <translation type="obsolete">이 단추는 선택한 포트 포워딩 규칙을 삭제합니다.</translation>
     </message>
 </context>
 <context>
@@ -6109,15 +6725,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>새 공유 폴더를 추가합니다.</translation>
+        <translation type="obsolete">새 공유 폴더를 추가합니다.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>선택한 공유 폴더를 편집합니다.</translation>
+        <translation type="obsolete">선택한 공유 폴더를 편집합니다.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>선택한 공유 폴더를 삭제합니다.</translation>
+        <translation type="obsolete">선택한 공유 폴더를 삭제합니다.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6157,15 +6773,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>공유 폴더 추가하기(&A)</translation>
+        <translation type="obsolete">공유 폴더 추가하기(&A)</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>공유 폴더 편집하기(&E)</translation>
+        <translation type="obsolete">공유 폴더 편집하기(&E)</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>공유 폴더 삭제하기(&R)</translation>
+        <translation type="obsolete">공유 폴더 삭제하기(&R)</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6179,6 +6795,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>예</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6228,7 +6868,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>선택하면 이 공유 폴더를 항상 사용합니다.</translation>
+        <translation type="obsolete">선택하면 이 공유 폴더를 항상 사용합니다.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6276,7 +6920,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>이 직렬 포트의 작동 상태를 조정합니다. <b>연결되지 않음</b>을 선택하면 게스트 운영 체제에서는 직렬 포트를 감지할 것이지만 작동하지는 않을 것입니다.</translation>
+        <translation type="obsolete">이 직렬 포트의 작동 상태를 조정합니다. <b>연결되지 않음</b>을 선택하면 게스트 운영 체제에서는 직렬 포트를 감지할 것이지만 작동하지는 않을 것입니다.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6308,7 +6952,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>선택하면 가상 머신에 지정한 <b>경로/주소</b>에 있는 파이프나 소켓을 존재하는 것으로 간주하고 사용합니다. 선택하지 않으면 가상 머신을 시작할 때 파이프나 소켓을 만듭니다.</translation>
+        <translation type="obsolete">선택하면 가상 머신에 지정한 <b>경로/주소</b>에 있는 파이프나 소켓을 존재하는 것으로 간주하고 사용합니다. 선택하지 않으면 가상 머신을 시작할 때 파이프나 소켓을 만듭니다.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -6322,6 +6966,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p><b>호스트 파이프</b> 모드: 호스트의 시리얼 포트 파이프 이름을 지정합니다. 예: Windows의 경우 "\\.\pipe\myvbox", 유닉스 계열 시스템의 경우 "/tmp/myvbox".</p><p><b>호스트 장치</b> 모드: 호스트의 시리얼 포트 장치 이름을 지정합니다. 예: "COM1", "/dev/ttyS0".</p><p><b>원본 파일</b> 모드: 시리얼 출력을 저장할 호스트의 파일 경로를 지정합니다.</p><p><b>TCP</b> 모드: 서버 모드의 경우 TCP "포트", 클라이언트 모드의 경우 "호스트이름:포트"를 지정합니다.</translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">IRQ가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">I/O 포트가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">포트 경로가 지정되지 않았습니다.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">중복된 포트 경로가 지정되었습니다.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6339,23 +7011,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>IRQ가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">IRQ가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>I/O 포트가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">I/O 포트가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
+        <translation type="obsolete">두 개 이상의 포트가 같은 설정을 사용합니다.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>포트 경로가 지정되지 않았습니다.</translation>
+        <translation type="obsolete">포트 경로가 지정되지 않았습니다.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>중복된 포트 경로가 지정되었습니다.</translation>
+        <translation type="obsolete">중복된 포트 경로가 지정되었습니다.</translation>
     </message>
 </context>
 <context>
@@ -6430,11 +7102,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>항목&nbsp;펴기/접기</nobr></translation>
+        <translation type="obsolete"><nobr>항목&nbsp;펴기/접기</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>하드 디스크&nbsp;추가하기</nobr></translation>
+        <translation type="obsolete"><nobr>하드 디스크&nbsp;추가하기</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6498,19 +7170,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>저장소 트리에 새 컨트롤러를 추가합니다.</translation>
+        <translation type="obsolete">저장소 트리에 새 컨트롤러를 추가합니다.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>선택한 저장소 컨트롤러를 삭제합니다.</translation>
+        <translation type="obsolete">선택한 저장소 컨트롤러를 삭제합니다.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>현재 선택한 컨트롤러에 새 장치를 연결합니다.</translation>
+        <translation type="obsolete">현재 선택한 컨트롤러에 새 장치를 연결합니다.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>현재 선택한 저장소 장치를 삭제합니다.</translation>
+        <translation type="obsolete">현재 선택한 저장소 장치를 삭제합니다.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6546,7 +7218,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>이 가상 머신에 연결된 모든 저장소 컨트롤러와 가상 이미지, 호스트 드라이브 목록입니다.</translation>
+        <translation type="obsolete">이 가상 머신에 연결된 모든 저장소 컨트롤러와 가상 이미지, 호스트 드라이브 목록입니다.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6566,7 +7238,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>저장소 트리에서 현재 선택된 컨트롤러의 이름을 바꿉니다.</translation>
+        <translation type="obsolete">저장소 트리에서 현재 선택된 컨트롤러의 이름을 바꿉니다.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6634,7 +7306,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>호스트 I/O 캐시를 사용합니다.</translation>
+        <translation type="obsolete">호스트 I/O 캐시를 사용합니다.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6666,7 +7338,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>이미지</translation>
+        <translation type="obsolete">이미지</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6674,7 +7346,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>가상 하드 디스크 설정</translation>
+        <translation type="obsolete">가상 하드 디스크 설정</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6698,15 +7370,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>가상 플로피 드라이브 설정</translation>
+        <translation type="obsolete">가상 플로피 드라이브 설정</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>새 하드 디스크 만들기...</translation>
+        <translation type="obsolete">새 하드 디스크 만들기...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>가상 하드 디스크 파일 선택...</translation>
+        <translation type="obsolete">가상 하드 디스크 파일 선택...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6718,11 +7390,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>가상 플로피 디스크 파일 선택...</translation>
+        <translation type="obsolete">가상 플로피 디스크 파일 선택...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>선택하면 게스트 운영 체제에서 미디어를 꺼낼 때 마운트를 해제하지 않습니다.</translation>
+        <translation type="obsolete">선택하면 게스트 운영 체제에서 미디어를 꺼낼 때 마운트를 해제하지 않습니다.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6730,7 +7402,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>선택하면 이 미디어를 SSD로 표시합니다.</translation>
+        <translation type="obsolete">선택하면 이 미디어를 SSD로 표시합니다.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6800,7 +7472,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>선택하면 이 디스크를 핫플러그 가능한 장치로 표시합니다.</translation>
+        <translation type="obsolete">선택하면 이 디스크를 핫플러그 가능한 장치로 표시합니다.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -6808,15 +7480,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>가상 광학 디스크 파일 선택...</translation>
+        <translation type="obsolete">가상 광학 디스크 파일 선택...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>광학&nbsp;드라이브&nbsp;추가</nobr></translation>
+        <translation type="obsolete"><nobr>광학&nbsp;드라이브&nbsp;추가</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>플로피&nbsp;드라이브&nbsp;추가</nobr></translation>
+        <translation type="obsolete"><nobr>플로피&nbsp;드라이브&nbsp;추가</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -6836,12 +7508,97 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>가상 광학 드라이브 설정</translation>
+        <translation type="obsolete">가상 광학 드라이브 설정</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">이미지</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
@@ -6871,12 +7628,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>CPU&nbsp;%1개</qt></translation>
+        <translation type="obsolete"><qt>CPU&nbsp;%1개</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6909,7 +7666,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>아래로 이동 (Ctrl-Down)</translation>
+        <translation type="obsolete">아래로 이동 (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6917,7 +7674,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>위로 이동 (Ctrl-Up)</translation>
+        <translation type="obsolete">위로 이동 (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6990,7 +7747,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>CPU&nbsp;%1개</qt></translation>
+        <translation type="obsolete"><qt>CPU&nbsp;%1개</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7002,7 +7759,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>선택하면 RTC 장치는 현재 시간을 UTC로 보고하며, 선택하지 않으면 지역 시간으로 보고합니다. 일부 유닉스는 하드웨어 시간이 UTC로 되어 있다고 가정합니다.</translation>
+        <translation type="obsolete">선택하면 RTC 장치는 현재 시간을 UTC로 보고하며, 선택하지 않으면 지역 시간으로 보고합니다. 일부 유닉스는 하드웨어 시간이 UTC로 되어 있다고 가정합니다.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7051,12 +7808,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7134,56 +7891,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>시스템 페이지의 가속 영역에서 하드웨어 가상화를 활성화하지 않았습니다. 이 가상 머신에 지정한 두 개 이상의 가상 프로세서를 사용하려면 이 기능을 활성화해야 합니다. 변경 사항을 저장하면 자동으로 켜질 것입니다.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>빈 필터 추가하기(&A)</translation>
+        <translation type="obsolete">빈 필터 추가하기(&A)</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>장치에서 필터 추가하기(&D)</translation>
+        <translation type="obsolete">장치에서 필터 추가하기(&D)</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>필터 편집하기(&E)</translation>
+        <translation type="obsolete">필터 편집하기(&E)</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>필터 삭제하기(&R)</translation>
+        <translation type="obsolete">필터 삭제하기(&R)</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>필터 위로 이동(&M)</translation>
+        <translation type="obsolete">필터 위로 이동(&M)</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>필터 아래로 이동(&O)</translation>
+        <translation type="obsolete">필터 아래로 이동(&O)</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>빈 값으로 초기화되어 있는 USB 필터를 만듭니다. 이 필터는 임의의 연결된 USB 장치에 대해서 일치할 것입니다.</translation>
+        <translation type="obsolete">빈 값으로 초기화되어 있는 USB 필터를 만듭니다. 이 필터는 임의의 연결된 USB 장치에 대해서 일치할 것입니다.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>현재 호스트 PC에 연결되어 있는 장치의 값으로 초기화되어 있는 USB 필터를 만듭니다.</translation>
+        <translation type="obsolete">현재 호스트 PC에 연결되어 있는 장치의 값으로 초기화되어 있는 USB 필터를 만듭니다.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>선택한 USB 필터를 편집합니다.</translation>
+        <translation type="obsolete">선택한 USB 필터를 편집합니다.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>선택한 USB 필터를 삭제합니다.</translation>
+        <translation type="obsolete">선택한 USB 필터를 삭제합니다.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>선택한 USB 필터를 위로 이동합니다.</translation>
+        <translation type="obsolete">선택한 USB 필터를 위로 이동합니다.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>선택한 USB 필터를 아래로 이동합니다.</translation>
+        <translation type="obsolete">선택한 USB 필터를 아래로 이동합니다.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7200,7 +7983,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>선택하면 이 가상 머신의 USB EHCI 컨트롤러를 사용합니다. USB EHCI 컨트롤러는 USB 2.0을 지원합니다.</translation>
+        <translation type="obsolete">선택하면 이 가상 머신의 USB EHCI 컨트롤러를 사용합니다. USB EHCI 컨트롤러는 USB 2.0을 지원합니다.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7272,7 +8055,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>선택하면 이 가상 머신의 USB OHCI 컨트롤러를 사용합니다. USB OHCI 컨트롤러는 USB 1.0을 지원합니다.</translation>
+        <translation type="obsolete">선택하면 이 가상 머신의 USB OHCI 컨트롤러를 사용합니다. USB OHCI 컨트롤러는 USB 1.0을 지원합니다.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -7284,7 +8067,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>선택하면 이 가상 머신의 USB xHCI 컨트롤러를 사용합니다. USB xHCI 컨트롤러는 USB 3.0을 지원합니다.</translation>
+        <translation type="obsolete">선택하면 이 가상 머신의 USB xHCI 컨트롤러를 사용합니다. USB xHCI 컨트롤러는 USB 3.0을 지원합니다.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -7294,6 +8077,66 @@ p, li { white-space: pre-wrap; }
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>현재 가상 머신에서 USB 2.0/3.0을 사용할 수 있으나, <b>%1</b>을(를) 설치해야 합니다. 가상 머신을 시작하려면 VirtualBox 다운로드 사이트에서 확장 기능 패키지를 설치하거나 USB 2.0/3.0을 비활성화시키십시오.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -7326,7 +8169,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>벤더 ID 필터를 정의합니다. 특정한 벤더 ID 값과 일치하게 하려면 16진수 숫자 네 개를 입력하십시오. (예: <tt>XXXX</tt>) 빈 문자열은 임의의 값과 일치합니다.</translation>
+        <translation type="obsolete">벤더 ID 필터를 정의합니다. 특정한 벤더 ID 값과 일치하게 하려면 16진수 숫자 네 개를 입력하십시오. (예: <tt>XXXX</tt>) 빈 문자열은 임의의 값과 일치합니다.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7334,7 +8177,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>제품 ID 필터를 정의합니다. 특정한 제품 ID 값과 일치하게 하려면 16진수 숫자 네 개를 입력하십시오. (예: <tt>XXXX</tt>) 빈 문자열은 임의의 값과 일치합니다.</translation>
+        <translation type="obsolete">제품 ID 필터를 정의합니다. 특정한 제품 ID 값과 일치하게 하려면 16진수 숫자 네 개를 입력하십시오. (예: <tt>XXXX</tt>) 빈 문자열은 임의의 값과 일치합니다.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7342,7 +8185,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>리비전 번호 필터를 정의합니다. 특정한 리비전 값과 일치하게 하려면 <tt>IIFF</tt>와 같이 입력하십시오. <tt>I</tt> 부분은 정수 부분의 10진수, <tt>F</tt> 부분은 소수 부분의 10진수를 나타냅니다. 빈 문자열은 임의의 값과 일치합니다.</translation>
+        <translation type="obsolete">리비전 번호 필터를 정의합니다. 특정한 리비전 값과 일치하게 하려면 <tt>IIFF</tt>와 같이 입력하십시오. <tt>I</tt> 부분은 정수 부분의 10진수, <tt>F</tt> 부분은 소수 부분의 10진수를 나타냅니다. 빈 문자열은 임의의 값과 일치합니다.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7350,7 +8193,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>제조사 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
+        <translation type="obsolete">제조사 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7358,7 +8201,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>제품 이름 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
+        <translation type="obsolete">제품 이름 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7366,7 +8209,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>시리얼 번호 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
+        <translation type="obsolete">시리얼 번호 필터를 지정합니다. 여기에 입력되는 문자열과 <i>정확하게</i> 일치해야 합니다. 빈 문자열은 어떠한 값과도 일치합니다.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7374,27 +8217,59 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>호스트 USB 포트 필터를 <i>정확하게 일치하는</i> 문자열로 정의합니다. 빈 문자열은 임의의 값과 일치합니다.</translation>
+        <translation type="obsolete">호스트 USB 포트 필터를 <i>정확하게 일치하는</i> 문자열로 정의합니다. 빈 문자열은 임의의 값과 일치합니다.</translation>
     </message>
     <message>
         <source>R&emote:</source>
         <translation>원격지(&E):</translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>이 필터가 지역 컴퓨터에만 적용되는지(<i>아니요</i>), 그렇지 않으면 VRDP 클라이언트의 컴퓨터에만 적용되는지 (<i>예</i>), 아니면 둘 다(<i>둘 다</i>)에 적용되는지 선택합니다.</translation>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">이 필터가 지역 컴퓨터에만 적용되는지(<i>아니요</i>), 그렇지 않으면 VRDP 클라이언트의 컴퓨터에만 적용되는지 (<i>예</i>), 아니면 둘 다(<i>둘 다</i>)에 적용되는지 선택합니다.</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">동작(&A):</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">호스트 컴퓨터에 이 필터와 일치하는 장치가 연결되었을 때의 동작을 정의합니다. <i>무시</i>를 선택하면 호스트 컴퓨터에서 사용할 수 있도록 무시하며, <i>잡기</i>를 선택하면 가상 머신에서 사용할 수 있도록 잡습니다.</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>USB 필터 정보</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">동작(&A):</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">호스트 컴퓨터에 이 필터와 일치하는 장치가 연결되었을 때의 동작을 정의합니다. <i>무시</i>를 선택하면 호스트 컴퓨터에서 사용할 수 있도록 무시하며, <i>잡기</i>를 선택하면 가상 머신에서 사용할 수 있도록 잡습니다.</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>USB 필터 정보</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7415,7 +8290,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>하드 드라이브(&H)</translation>
+        <translation type="obsolete">하드 드라이브(&H)</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7437,6 +8312,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation>미디어 제거 중...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7893,7 +8772,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>게스트 비디오 메모리가 부족해서 심리스 모드로 들어갈 수 없습니다.</p><p>가상 머신의 비디오 메모리를 <b>%1</b> 이상으로 설정하십시오.</p><p>그래도 전체 화면 모드로 들어가려면 <b>무시</b> 단추를 누르시고, <b>취소</b> 단추를 누르면 작업을 취소합니다.</p></translation>
+        <translation type="obsolete"><p>게스트 비디오 메모리가 부족해서 심리스 모드로 들어갈 수 없습니다.</p><p>가상 머신의 비디오 메모리를 <b>%1</b> 이상으로 설정하십시오.</p><p>그래도 전체 화면 모드로 들어가려면 <b>무시</b> 단추를 누르시고, <b>취소</b> 단추를 누르면 작업을 취소합니다.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -8003,7 +8882,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>가상 하드 디스크 <nobr><b>%1</b></nobr>의 저장소 유닛을 삭제하시겠습니까?</p><p><b>삭제</b>를 선택하면 선택한 저장소 유닛도 같이 삭제됩니다. 이 작업은 <b>실행 취소할 수 없습니다.</b></p><p><b>유지</b>를 선택하면 하드 디스크 목록에서만 삭제되며 저장소 유닛은 삭제되지 않으므로 다음에 하드 디스크를 다시 추가할 수 있습니다.</p></translation>
+        <translation type="obsolete"><p>가상 하드 디스크 <nobr><b>%1</b></nobr>의 저장소 유닛을 삭제하시겠습니까?</p><p><b>삭제</b>를 선택하면 선택한 저장소 유닛도 같이 삭제됩니다. 이 작업은 <b>실행 취소할 수 없습니다.</b></p><p><b>유지</b>를 선택하면 하드 디스크 목록에서만 삭제되며 저장소 유닛은 삭제되지 않으므로 다음에 하드 디스크를 다시 추가할 수 있습니다.</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8264,7 +9143,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>스냅샷을 삭제하면 저장된 정보가 삭제되며, VirtualBox에서 나눠서 저장한 디스크 데이터가 한 파일로 합쳐집니다. 이 작업은 시간이 걸릴 수 있으며 삭제된 스냅샷에 저장된 정보는 복구할 수 없습니다.</p><p>선택한 스냅샷 <b>%1</b>을(를) 삭제하시겠습니까?</p></translation>
+        <translation type="obsolete"><p>스냅샷을 삭제하면 저장된 정보가 삭제되며, VirtualBox에서 나눠서 저장한 디스크 데이터가 한 파일로 합쳐집니다. 이 작업은 시간이 걸릴 수 있으며 삭제된 스냅샷에 저장된 정보는 복구할 수 없습니다.</p><p>선택한 스냅샷 <b>%1</b>을(를) 삭제하시겠습니까?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8400,7 +9279,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>스냅샷 %1을(를) 삭제하려면 임시로 디스크 공간이 더 필요합니다. 최악의 경우 현재 이미지 크기 %2가 %3로 증가할 수 있지만, 현재 파일시스템에는 %4만 남아 있습니다.</p><p>이미지 병합 과정에서 디스크 공간이 부족하면 이미지와 가상 머신 설정이 꼬일 수 있으며, 가상 머신과 데이터를 잃어버릴 수 있습니다.</p><p>위험 사항에 대해서 잘 알고 있다면 스냅샷을 삭제할 수 있습니다.</p></translation>
+        <translation type="obsolete"><p>스냅샷 %1을(를) 삭제하려면 임시로 디스크 공간이 더 필요합니다. 최악의 경우 현재 이미지 크기 %2가 %3로 증가할 수 있지만, 현재 파일시스템에는 %4만 남아 있습니다.</p><p>이미지 병합 과정에서 디스크 공간이 부족하면 이미지와 가상 머신 설정이 꼬일 수 있으며, 가상 머신과 데이터를 잃어버릴 수 있습니다.</p><p>위험 사항에 대해서 잘 알고 있다면 스냅샷을 삭제할 수 있습니다.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8578,7 +9457,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>가상 머신을 <b>전체 화면</b> 모드로 전환합니다. <b>%1</b> 키를 눌러서 창 모드로 되돌아갈 수 있습니다. 현재의 <i>호스트</i> 키는 <b>%2</b> 입니다.</p><p>전체 화면 모드에서는 메뉴 표시줄이 숨겨집니다. <b>호스트 키+Home</b> 키를 눌러서 볼 수 있습니다.</b></translation>
+        <translation type="obsolete"><p>가상 머신을 <b>전체 화면</b> 모드로 전환합니다. <b>%1</b> 키를 눌러서 창 모드로 되돌아갈 수 있습니다. 현재의 <i>호스트</i> 키는 <b>%2</b> 입니다.</p><p>전체 화면 모드에서는 메뉴 표시줄이 숨겨집니다. <b>호스트 키+Home</b> 키를 눌러서 볼 수 있습니다.</b></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8811,7 +9690,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>하드 디스크 없이 가상 머신을 생성하려고 하고 있습니다. 하드 디스크를 추가하기 전까지 가상 머신에 운영 체제를 설치할 수 없습니다. 그 동안 가상 머신을 광학 디스크나 네트워크를 통해서만 시작할 수 있습니다.</translation>
+        <translation type="obsolete">하드 디스크 없이 가상 머신을 생성하려고 하고 있습니다. 하드 디스크를 추가하기 전까지 가상 머신에 운영 체제를 설치할 수 없습니다. 그 동안 가상 머신을 광학 디스크나 네트워크를 통해서만 시작할 수 있습니다.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -8931,15 +9810,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>가상 하드 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
+        <translation type="obsolete"><p>가상 하드 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>가상 광학 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
+        <translation type="obsolete"><p>가상 광학 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>가상 플로피 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
+        <translation type="obsolete"><p>가상 플로피 디스크 <nobr><b>%1</b></nobr>의 연결을 해제하시겠습니까?</p><p>이 동작은 다음 가상 머신에서의 연결을 끊습니다: <b>%2</b></p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -8983,27 +9862,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>하드 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
+        <translation type="obsolete">하드 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>광학 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
+        <translation type="obsolete">광학 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>플로피 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
+        <translation type="obsolete">플로피 디스크 파일 <nobr><b>%1</b></nobr>을(를) 열 수 없습니다.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>하드 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
+        <translation type="obsolete">하드 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>광학 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
+        <translation type="obsolete">광학 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>플로피 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
+        <translation type="obsolete">플로피 디스크 파일 <nobr><b>%2</b></nobr>을(를) 닫을 수 없습니다.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9131,7 +10010,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>하나 이상의 등록된 가상 하드 디스크나, 광학 디스크 및 플로피 디스크 이미지 파일에 접근할 수 없습니다. 접근할 수 있게 될 때까지 이들 미디어를 사용하는 가상 머신을 작동할 수 없습니다.</p><p><b>검사하기</b> 단추를 눌러서 가상 미디어 관리자를 연 다음 어떤 미디어에 접근할 수 없는가 확인하거나, <b>무시</b> 단추를 눌러서 이 메시지를 무시할 수 있습니다.</p></translation>
+        <translation type="obsolete"><p>하나 이상의 등록된 가상 하드 디스크나, 광학 디스크 및 플로피 디스크 이미지 파일에 접근할 수 없습니다. 접근할 수 있게 될 때까지 이들 미디어를 사용하는 가상 머신을 작동할 수 없습니다.</p><p><b>검사하기</b> 단추를 눌러서 가상 미디어 관리자를 연 다음 어떤 미디어에 접근할 수 없는가 확인하거나, <b>무시</b> 단추를 눌러서 이 메시지를 무시할 수 있습니다.</p></translation>
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -9225,6 +10104,46 @@ p, li { white-space: pre-wrap; }
         <source>Drag and drop operation from guest to host failed.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10088,27 +11007,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>이름</translation>
+        <translation type="obsolete">이름</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">프로토콜</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">호스트 IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">호스트 포트</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">게스트 IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">게스트 포트</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">이름</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>프로토콜</translation>
+        <translation type="unfinished">프로토콜</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>호스트 IP</translation>
+        <translation type="unfinished">호스트 IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>호스트 포트</translation>
+        <translation type="unfinished">호스트 포트</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>게스트 IP</translation>
+        <translation type="unfinished">게스트 IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>게스트 포트</translation>
+        <translation type="unfinished">게스트 포트</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10363,7 +11337,7 @@ p, li { white-space: pre-wrap; }
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr>표시기를 켜거나 끄려면 <b>누르십시오</b>.</nobr><br><nobr>표시기 위치를 변경하려면 <b>드래그 앤 드롭</b>을 사용하십시오.</nobr></translation>
+        <translation type="obsolete"><nobr>표시기를 켜거나 끄려면 <b>누르십시오</b>.</nobr><br><nobr>표시기 위치를 변경하려면 <b>드래그 앤 드롭</b>을 사용하십시오.</nobr></translation>
     </message>
 </context>
 <context>
@@ -10376,6 +11350,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation>상태 표시줄 활성화</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr>표시기를 켜거나 끄려면 <b>누르십시오</b>.</nobr><br><nobr>표시기 위치를 변경하려면 <b>드래그 앤 드롭</b>을 사용하십시오.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10897,7 +11875,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>가상 하드 디스크 복사</translation>
+        <translation type="obsolete">가상 하드 디스크 복사</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -10905,43 +11883,43 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>복사할 하드 디스크</translation>
+        <translation type="obsolete">복사할 하드 디스크</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>복사할 가상 디스크를 선택하십시오. 목록에서 선택하거나 목록 옆의 폴더 아이콘을 눌러서 복사할 디스크 파일을 지정할 수 있습니다.</p></translation>
+        <translation type="obsolete"><p>복사할 가상 디스크를 선택하십시오. 목록에서 선택하거나 목록 옆의 폴더 아이콘을 눌러서 복사할 디스크 파일을 지정할 수 있습니다.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>복사할 가상 하드 디스크 파일 선택...</translation>
+        <translation type="obsolete">복사할 가상 하드 디스크 파일 선택...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>하드 드라이브 파일 종류</translation>
+        <translation type="obsolete">하드 드라이브 파일 종류</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>새 가상 디스크 파일 형식을 선택하십시오. 다른 가상화 소프트웨어에서 디스크를 사용하지 않으려면 선택을 변경하지 않아도 됩니다.</translation>
+        <translation type="obsolete">새 가상 디스크 파일 형식을 선택하십시오. 다른 가상화 소프트웨어에서 디스크를 사용하지 않으려면 선택을 변경하지 않아도 됩니다.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>물리적 하드 드라이브에 저장</translation>
+        <translation type="obsolete">물리적 하드 드라이브에 저장</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>새 가상 하드 드라이브를 사용하는 대로 커지게 할 것인지(동적 할당) 최대 크기로 만들 것인지(정적 할당) 선택하십시오.</translation>
+        <translation type="obsolete">새 가상 하드 드라이브를 사용하는 대로 커지게 할 것인지(동적 할당) 최대 크기로 만들 것인지(정적 할당) 선택하십시오.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>동적 할당</b> 가상 디스크는 가상 디스크를 사용할 때 <b>고정된 최대 크기까지</b> 파일 크기가 커지지만, 사용량이 줄어들어도 자동적으로 작아지지는 않습니다.</p></translation>
+        <translation type="obsolete"><p><b>동적 할당</b> 가상 디스크는 가상 디스크를 사용할 때 <b>고정된 최대 크기까지</b> 파일 크기가 커지지만, 사용량이 줄어들어도 자동적으로 작아지지는 않습니다.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>고정 크기</b> 가상 디스크는 만드는 데 더 오래 걸리지만 사용할 때 더 빠릅니다.</p></translation>
+        <translation type="obsolete"><p><b>고정 크기</b> 가상 디스크는 만드는 데 더 오래 걸리지만 사용할 때 더 빠릅니다.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>가상 디스크를 2GB 파일 여러 개로 <b>분할</b>할 수도 있습니다. 큰 파일을 처리할 수 없는 시스템이나 이동식 디스크 등에 가상 머신을 저장할 때 유용합니다.</translation>
+        <translation type="obsolete"><p>가상 디스크를 2GB 파일 여러 개로 <b>분할</b>할 수도 있습니다. 큰 파일을 처리할 수 없는 시스템이나 이동식 디스크 등에 가상 머신을 저장할 때 유용합니다.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10957,19 +11935,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>새 가상 하드 드라이브 파일의 위치를 지정하십시오</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 파일의 위치를 지정하십시오</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>새로 만들 하드 드라이브</translation>
+        <translation type="obsolete">새로 만들 하드 드라이브</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>새 가상 하드 드라이브 파일의 이름을 아래 상자에 입력하거나 폴더 아이콘을 눌러서 파일을 생성할 폴더를 지정할 수 있습니다.</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 파일의 이름을 아래 상자에 입력하거나 폴더 아이콘을 눌러서 파일을 생성할 폴더를 지정할 수 있습니다.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>새 가상 하드 드라이브 위치 선택...</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 위치 선택...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -10978,15 +11956,87 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>복사할 하드 드라이브(&C)</translation>
+        <translation type="obsolete">복사할 하드 드라이브(&C)</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>새로 만들 하드 드라이브(&N)</translation>
+        <translation type="obsolete">새로 만들 하드 드라이브(&N)</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>하드 드라이브 파일 종류(&T)</translation>
+        <translation type="obsolete">하드 드라이브 파일 종류(&T)</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11029,7 +12079,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>복제 방식을 선택하십시오.</p><p><b>완전한 복제</b>를 선택하면 모든 가상 하드 드라이브 파일을 포함한 원본 가상 머신의 모든 것을 복사합니다.</p><p><b>연결된 복제</b>를 선택하면 새 가상 머신을 만들지만, 가상 하드 드라이브 파일은 원본 머신과 연결되어 있으며, 다른 컴퓨터로 가상 머신을 이동할 때에도 원래 가상 머신을 같이 이동해야 합니다.</p></translation>
+        <translation type="obsolete"><p>복제 방식을 선택하십시오.</p><p><b>완전한 복제</b>를 선택하면 모든 가상 하드 드라이브 파일을 포함한 원본 가상 머신의 모든 것을 복사합니다.</p><p><b>연결된 복제</b>를 선택하면 새 가상 머신을 만들지만, 가상 하드 드라이브 파일은 원본 머신과 연결되어 있으며, 다른 컴퓨터로 가상 머신을 이동할 때에도 원래 가상 머신을 같이 이동해야 합니다.</p></translation>
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11087,6 +12137,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation>연결된 복제(&L)</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11363,7 +12417,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>가상 하드 드라이브 만들기</translation>
+        <translation type="obsolete">가상 하드 드라이브 만들기</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11371,31 +12425,31 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>하드 드라이브 파일 종류</translation>
+        <translation type="obsolete">하드 드라이브 파일 종류</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>새 가상 디스크 파일 형식을 선택하십시오. 다른 가상화 소프트웨어에서 디스크를 사용하지 않으려면 선택을 변경하지 않아도 됩니다.</translation>
+        <translation type="obsolete">새 가상 디스크 파일 형식을 선택하십시오. 다른 가상화 소프트웨어에서 디스크를 사용하지 않으려면 선택을 변경하지 않아도 됩니다.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>물리적 하드 드라이브에 저장</translation>
+        <translation type="obsolete">물리적 하드 드라이브에 저장</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>새 가상 하드 드라이브를 사용하는 대로 커지게 할 것인지(동적 할당) 최대 크기로 만들 것인지(정적 할당) 선택하십시오.</translation>
+        <translation type="obsolete">새 가상 하드 드라이브를 사용하는 대로 커지게 할 것인지(동적 할당) 최대 크기로 만들 것인지(정적 할당) 선택하십시오.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>동적 할당</b> 가상 디스크는 가상 디스크를 사용할 때 <b>고정된 최대 크기까지</b> 파일 크기가 커지지만, 사용량이 줄어들어도 자동적으로 작아지지는 않습니다.</p></translation>
+        <translation type="obsolete"><p><b>동적 할당</b> 가상 디스크는 가상 디스크를 사용할 때 <b>고정된 최대 크기까지</b> 파일 크기가 커지지만, 사용량이 줄어들어도 자동적으로 작아지지는 않습니다.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>고정 크기</b> 가상 디스크는 만드는 데 더 오래 걸리지만 사용할 때 더 빠릅니다.</p></translation>
+        <translation type="obsolete"><p><b>고정 크기</b> 가상 디스크는 만드는 데 더 오래 걸리지만 사용할 때 더 빠릅니다.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>가상 디스크를 2GB 파일 여러 개로 <b>분할</b>할 수도 있습니다. 큰 파일을 처리할 수 없는 시스템이나 이동식 디스크 등에 가상 머신을 저장할 때 유용합니다.</translation>
+        <translation type="obsolete"><p>가상 디스크를 2GB 파일 여러 개로 <b>분할</b>할 수도 있습니다. 큰 파일을 처리할 수 없는 시스템이나 이동식 디스크 등에 가상 머신을 저장할 때 유용합니다.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11419,15 +12473,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>새 가상 하드 드라이브 파일의 이름을 아래 상자에 입력하거나 폴더 아이콘을 눌러서 파일을 생성할 폴더를 지정할 수 있습니다.</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 파일의 이름을 아래 상자에 입력하거나 폴더 아이콘을 눌러서 파일을 생성할 폴더를 지정할 수 있습니다.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>새 가상 하드 드라이브 위치 선택...</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 위치 선택...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>새 가상 하드 드라이브 크기를 메가바이트 단위로 입력하십시오. 가상 머신에서 가상 하드 드라이브에 저장할 수 있는 데이터의 최대 크기입니다.</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 크기를 메가바이트 단위로 입력하십시오. 가상 머신에서 가상 하드 드라이브에 저장할 수 있는 데이터의 최대 크기입니다.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11439,7 +12493,55 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>하드 드라이브 파일 종류(&T)</translation>
+        <translation type="obsolete">하드 드라이브 파일 종류(&T)</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11490,11 +12592,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>하드 드라이브</translation>
+        <translation type="obsolete">하드 드라이브</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>필요하다면 가상 머신에 하드 드라이브를 추가할 수 있습니다. 새 하드 드라이브를 만들거나, 목록에서 선택하거나, 폴더 아이콘을 통하여 다른 위치에 있는 가상 하드 드라이브를 선택할 수 있습니다.</p><p>더 자세한 구성이 필요하다면 이 단계를 건너뛰고 가상 머신을 만든 다음 설정을 진행하십시오.</p><p>추천하느 하드 드라이브 크기는 <b>%1</b>입니다.</p></translation>
+        <translation type="obsolete"><p>필요하다면 가상 머신에 하드 드라이브를 추가할 수 있습니다. 새 하드 드라이브를 만들거나, 목록에서 선택하거나, 폴더 아이콘을 통하여 다른 위치에 있는 가상 하드 드라이브를 선택할 수 있습니다.</p><p>더 자세한 구성이 필요하다면 이 단계를 건너뛰고 가상 머신을 만든 다음 설정을 진행하십시오.</p><p>추천하느 하드 드라이브 크기는 <b>%1</b>입니다.</p></translation>
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -11510,7 +12612,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>가상 하드 드라이브 파일 선택...</translation>
+        <translation type="obsolete">가상 하드 드라이브 파일 선택...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -11518,15 +12620,39 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>가상 하드 드라이브를 추가하지 않음(&D)</translation>
+        <translation type="obsolete">가상 하드 드라이브를 추가하지 않음(&D)</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>지금 가상 하드 드라이브 만들기(&C)</translation>
+        <translation type="obsolete">지금 가상 하드 드라이브 만들기(&C)</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>기존 가상 하드 드라이브 파일 사용(&U)</translation>
+        <translation type="obsolete">기존 가상 하드 드라이브 파일 사용(&U)</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">가상 하드 디스크 파일 선택...</translation>
     </message>
 </context>
 <context>
@@ -12208,7 +13334,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>다른 폴더를 선택하기 위한 대화 상자를 엽니다.</translation>
+        <translation type="obsolete">다른 폴더를 선택하기 위한 대화 상자를 엽니다.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12216,7 +13342,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>다른 파일을 선택하기 위한 대화 상자를 엽니다.</translation>
+        <translation type="obsolete">다른 파일을 선택하기 위한 대화 상자를 엽니다.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12228,16 +13354,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>원하는 폴더 경로를 입력하십시오.</translation>
+        <translation type="obsolete">원하는 폴더 경로를 입력하십시오.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>원하는 파일 경로를 입력하십시오.</translation>
+        <translation type="obsolete">원하는 파일 경로를 입력하십시오.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>실제 기본 경로는 이 대화 상자의 변경 사항을 저장하고 다시 시작했을 때 표시됩니다.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13371,7 +14513,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">이 하드 디스크를 추가하면 차이만 기록하는 새 하드 디스크를 추가할 것입니다.</translation>
+        <translation type="unfinished">이 하드 디스크를 추가하면 차이만 기록하는 새 하드 디스크를 추가할 것입니다.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -13381,7 +14523,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">이 기본 하드 디스크는 다음 변경 사항만 기록하는 하드 디스크를 통해서 간접적으로 추가되어 있습니다:</translation>
+        <translation type="unfinished">이 기본 하드 디스크는 다음 변경 사항만 기록하는 하드 디스크를 통해서 간접적으로 추가되어 있습니다:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13930,11 +15072,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>가상 하드 드라이브 파일 선택</translation>
+        <translation type="obsolete">가상 하드 드라이브 파일 선택</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>모든 가상 하드 드라이브 파일 (%1)</translation>
+        <translation type="obsolete">모든 가상 하드 드라이브 파일 (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -13978,7 +15120,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>새 가상 하드 드라이브 파일의 위치를 지정하십시오</translation>
+        <translation type="obsolete">새 가상 하드 드라이브 파일의 위치를 지정하십시오</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -14180,23 +15322,40 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>이 하드 디스크를 추가하면 차이만 기록하는 새 하드 디스크를 추가할 것입니다.</translation>
+        <translation type="obsolete">이 하드 디스크를 추가하면 차이만 기록하는 새 하드 디스크를 추가할 것입니다.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>이 하드 드라이브 체인 중 일부 파일에 접근할 수 없습니다. 가상 미디어 관리자에서 파일을 확인하십시오.</translation>
+        <translation type="obsolete">이 하드 드라이브 체인 중 일부 파일에 접근할 수 없습니다. 가상 미디어 관리자에서 파일을 확인하십시오.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>이 기본 하드 디스크는 다음 변경 사항만 기록하는 하드 디스크를 통해서 간접적으로 추가되어 있습니다:</translation>
+        <translation type="obsolete">이 기본 하드 디스크는 다음 변경 사항만 기록하는 하드 디스크를 통해서 간접적으로 추가되어 있습니다:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15136,7 +16295,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>선택한 스냅샷의 자세한 정보를 봅니다</translation>
+        <translation type="obsolete">선택한 스냅샷의 자세한 정보를 봅니다</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -15152,11 +16311,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>가상 머신의 선택한 스냅샷으로 복원합니다</translation>
+        <translation type="obsolete">가상 머신의 선택한 스냅샷으로 복원합니다</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>가상 머신의 선택한 스냅샷을 삭제합니다</translation>
+        <translation type="obsolete">가상 머신의 선택한 스냅샷을 삭제합니다</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15168,7 +16327,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>선택한 가상 머신을 복제합니다</translation>
+        <translation type="obsolete">선택한 가상 머신을 복제합니다</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15202,6 +16377,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>경고: 스냅샷을 찍으려고 하는 실행 중인 머신에 변경 불가능한 이미지가 %n개 연결되어 있습니다. 데이터 손실을 방지하기 위해서, 스냅샷을 찍은 다음에는 변경 불가능한 이미지의 데이터는 더 이상 초기화되지 않습니다.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">스냅샷 %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
index c0121a7..3394bc1 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_lt.ts
@@ -227,7 +227,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Keičiant lango dydį, automatiškai keičiamas ir svečio ekrano dydis (reikia „Svečio papildinių“)</translation>
+        <translation type="obsolete">Keičiant lango dydį, automatiškai keičiamas ir svečio ekrano dydis (reikia „Svečio papildinių“)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -319,7 +319,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Virtualioje mašinoje nuspausti kompiuterio išjungimo mygtuką</translation>
+        <translation type="obsolete">Virtualioje mašinoje nuspausti kompiuterio išjungimo mygtuką</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -355,7 +355,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Keisti tinklo plokščių nuostatas</translation>
+        <translation type="obsolete">Keisti tinklo plokščių nuostatas</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -363,7 +363,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Kurti arba keisti bendruosius aplankus</translation>
+        <translation type="obsolete">Kurti arba keisti bendruosius aplankus</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -515,7 +515,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Keisti virtualios mašinos nuostatas</translation>
+        <translation type="obsolete">Keisti virtualios mašinos nuostatas</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -558,11 +558,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Nuostatos...</translation>
+        <translation type="obsolete">&Nuostatos...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Keisti bendras nuostatas</translation>
+        <translation type="obsolete">Keisti bendras nuostatas</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -578,7 +578,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Sukurti naują virtualią mašiną</translation>
+        <translation type="obsolete">Sukurti naują virtualią mašiną</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -586,7 +586,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation type="unfinished">Pridėti esamą virtualią mašiną</translation>
+        <translation type="obsolete">Pridėti esamą virtualią mašiną</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -594,7 +594,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation type="unfinished">Klonuoti pasirinktą virtualią mašiną</translation>
+        <translation type="obsolete">Klonuoti pasirinktą virtualią mašiną</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -634,11 +634,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">&Atnaujinti</translation>
+        <translation type="unfinished">&Atnaujinti</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Atnaujinti pasirinktos virtualios mašinos pasiekiamumo būseną</translation>
+        <translation type="obsolete">Atnaujinti pasirinktos virtualios mašinos pasiekiamumo būseną</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -646,11 +646,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Rodyti pasirinktos virtualios mašinos žurnalus</translation>
+        <translation type="obsolete">Rodyti pasirinktos virtualios mašinos žurnalus</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation type="unfinished">Atverti su Finder</translation>
+        <translation type="obsolete">Atverti su Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -658,7 +658,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation type="unfinished">Atverti su Explorer</translation>
+        <translation type="obsolete">Atverti su Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -666,15 +666,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation type="unfinished">Atverti su rinkmenų tvarkytuve</translation>
+        <translation type="obsolete">Atverti su rinkmenų tvarkytuve</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation type="unfinished">VirtualBox mašinos apibrėžties rinkmeną atverti su rinkmenų tvarkytuve</translation>
+        <translation type="obsolete">VirtualBox mašinos apibrėžties rinkmeną atverti su rinkmenų tvarkytuve</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation type="unfinished">Sukurti nuorodą darbalaukyje</translation>
+        <translation type="obsolete">Sukurti nuorodą darbalaukyje</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -682,7 +682,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation type="unfinished">Sukurti šaukinį darbalaukyje</translation>
+        <translation type="obsolete">Sukurti šaukinį darbalaukyje</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -698,7 +698,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished">Padaryti virtualios mašinos ekranvaizdį</translation>
+        <translation type="obsolete">Padaryti virtualios mašinos ekranvaizdį</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -745,10 +745,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Patikrinti, ar yra naujesnių VirtualBox versijų</translation>
     </message>
@@ -758,412 +754,535 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Rodyti langą su produkto informacija</translation>
+        <translation type="obsolete">Rodyti langą su produkto informacija</translation>
     </message>
     <message>
         <source>&Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rename the selected virtual machine group</source>
+        <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">&VirtualBox svetainė...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">&Pamiršti visus įspėjimus</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Tikrinti, ar yra at&naujinimų...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">&VirtualBox svetainė...</translation>
+        <source>Shared &Clipboard</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">&Pamiršti visus įspėjimus</translation>
+        <source>&Network Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Tikrinti, ar yra at&naujinimų...</translation>
+        <source>&Shared Folders Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Network</source>
+        <translation type="obsolete">Tinklas</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Peržiūrėti ž&urnalus...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&File</source>
+        <translation type="unfinished">&Rinkmena</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Seam&less Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Tinklas</translation>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Peržiūrėti ž&urnalus...</translation>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Rinkmena</translation>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Seam&less Mode</source>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Įgalinti</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Vaizduoklio peržiūra %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Neprijungtas joks USB įtaisas</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
     <message>
-        <source>Enable</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished">Įgalinti</translation>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1%</source>
-        <comment>scale-factor</comment>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Įgalinti</translation>
+    </message>
 </context>
 <context>
     <name>UIAddDiskEncryptionPasswordDialog</name>
@@ -1180,6 +1299,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1233,15 +1376,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Standžiojo disko valdiklis (IDE)</translation>
+        <translation type="obsolete">Standžiojo disko valdiklis (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Standžiojo disko valdiklis (SATA)</translation>
+        <translation type="obsolete">Standžiojo disko valdiklis (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Standžiojo disko valdiklis (SCSI)</translation>
+        <translation type="obsolete">Standžiojo disko valdiklis (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1291,7 +1434,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Standžiojo disko valdiklis (SAS)</translation>
+        <translation type="obsolete">Standžiojo disko valdiklis (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1301,6 +1444,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Visoms tinklo plokštėms priskirti naujus MAC adresus</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1977,16 +2136,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2043,33 +2199,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Appliance Export Wizard</source>
@@ -3084,18 +3213,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -3127,11 +3248,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3159,11 +3288,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Pridėti paketą</translation>
+        <translation type="obsolete">Pridėti paketą</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Pašalinti paketą</translation>
+        <translation type="obsolete">Pašalinti paketą</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3181,6 +3310,22 @@
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3221,15 +3366,15 @@
         <translation>Rodo kelią iki bibliotekos, kuri pateikia nuotolinio ekrano (VRDP) klientų atpažinimo funkciją.</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3284,11 +3429,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3475,15 +3620,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Pri&dėti tinklą prie pagr. kompiuterio</translation>
+        <translation type="obsolete">Pri&dėti tinklą prie pagr. kompiuterio</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Pašalinti tinklą prie pagr. kompiuterio</translation>
+        <translation type="obsolete">&Pašalinti tinklą prie pagr. kompiuterio</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Keisti tinklą prie pagr. kompiuterio</translation>
+        <translation type="obsolete">&Keisti tinklą prie pagr. kompiuterio</translation>
     </message>
     <message>
         <source>Networking</source>
@@ -3603,15 +3748,51 @@
         <translation type="unfinished">Aktyvus</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3726,7 +3907,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Šiam tinklui, prisijunčiam tik prie pagrindinio kompiuterio, naudoti rankinę konfigūraciją.</translation>
+        <translation type="obsolete">Šiam tinklui, prisijunčiam tik prie pagrindinio kompiuterio, naudoti rankinę konfigūraciją.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3770,7 +3951,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Rodo, ar mašinos paleidimo metu įgalinamas DHCP serveris.</translation>
+        <translation type="obsolete">Rodo, ar mašinos paleidimo metu įgalinamas DHCP serveris.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3804,6 +3985,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Rodo adreso viršutinę ribą to DHCP serverio, kuris aptarnauja tinklą, susijusį su plokšte, kuri gali prisijungti tik prie pagrindinio kompiuterio.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3816,10 +4005,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3844,32 +4029,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Atveria langą prievadų persiuntimo taisyklių tvarkymui.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">&Prievadų persiuntimas</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Atveria langą prievadų persiuntimo taisyklių tvarkymui.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">&Prievadų persiuntimas</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3903,7 +4096,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Pakeičia įgaliotąjį serverį.</translation>
+        <translation type="obsolete">Pakeičia įgaliotąjį serverį.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3911,7 +4104,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Pakeičia įgaliotojo serverio prievadą.</translation>
+        <translation type="obsolete">Pakeičia įgaliotojo serverio prievadą.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3945,6 +4138,14 @@
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3962,7 +4163,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Nurodo, kaip dažnai ieškoti naujų versijų. Jei nenorite, kad būtų ieškoma naujų versijų, tiesiog nuimkite varnelę nuo aukščiau esančio langelio.</translation>
+        <translation type="obsolete">Nurodo, kaip dažnai ieškoti naujų versijų. Jei nenorite, kad būtų ieškoma naujų versijų, tiesiog nuimkite varnelę nuo aukščiau esančio langelio.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3996,6 +4197,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Visas naujas versijas, įskaitant &eksperimentines</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4462,12 +4667,12 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Rodo, ar svečio OS klaviatūros įvestį priima (<img src=:/hostkey_captured_16px.png/>) ar nepriima (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Rodo, ar svečio OS klaviatūros įvestį priima (<img src=:/hostkey_captured_16px.png/>) ar nepriima (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Rodo, virtualių standžiųjų diskų aktyvumą:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Rodo, virtualių standžiųjų diskų aktyvumą:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4578,6 +4783,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4598,11 +4812,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Vaizduoklio peržiūra %1</translation>
+        <translation type="obsolete">Vaizduoklio peržiūra %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Momentinė kopija Nr. %1</translation>
+        <translation type="obsolete">Momentinė kopija Nr. %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4638,32 +4852,16 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Neprijungtas joks USB įtaisas</translation>
+        <translation type="obsolete">Neprijungtas joks USB įtaisas</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Prie kompiuterio nėra prijungtų palaikomų įtaisų</translation>
+        <translation type="obsolete">Prie kompiuterio nėra prijungtų palaikomų įtaisų</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4681,7 +4879,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Valdo garso išvesties tvarkyklę. Pasirinkus <b>Be garso tvarkyklės</b>, garso plokštė taip pat bus simuliuojama, tačiau bus nepaisoma bet kokio priėjimo prie jos.</translation>
+        <translation type="obsolete">Valdo garso išvesties tvarkyklę. Pasirinkus <b>Be garso tvarkyklės</b>, garso plokštė taip pat bus simuliuojama, tačiau bus nepaisoma bet kokio priėjimo prie jos.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4691,6 +4889,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Parenka virtualios garso plokštės tipą. Ši reikšmė nurodo garso plokštę, kurią VirtualBox įrengs virtualioje mašinoje.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4756,7 +4958,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP serverio prievado numeris. Jei nurodysie <tt>0</tt> (nulį), bus naudojamas standartinis RDP prievadas 3389.</translation>
+        <translation type="obsolete">VRDP serverio prievado numeris. Jei nurodysie <tt>0</tt> (nulį), bus naudojamas standartinis RDP prievadas 3389.</translation>
     </message>
     <message>
         <source>Authentication &Method:</source>
@@ -4764,7 +4966,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Nurodo VRDP atpažinimo būdą.</translation>
+        <translation type="obsolete">Nurodo VRDP atpažinimo būdą.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4772,11 +4974,11 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Nurodo laiką, per kurį svečias gali mėginti prisijungti, milisekundėmis.</translation>
+        <translation type="obsolete">Nurodo laiką, per kurį svečias gali mėginti prisijungti, milisekundėmis.</translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Nurodo, ar leidžiami keli ryšiai vienu metu prie VM.</translation>
+        <translation type="obsolete">Nurodo, ar leidžiami keli ryšiai vienu metu prie VM.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4796,11 +4998,11 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>you have 3D Acceleration enabled for a operation system which uses the WDDM video driver. For maximal performance set the guest VRAM to at least <b>%1</b>.</source>
@@ -4831,46 +5033,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4879,10 +5053,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4934,10 +5104,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Maža įrankinė:</translation>
     </message>
@@ -4983,21 +5149,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">3D {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">3D {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5009,6 +5171,70 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5082,7 +5308,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Rodo kelią, kur bus saugomos šios virtualios mašinos momentinių būvių kopijos. Atminkite, kad būvių kopijos gali užimti daug vietos.</translation>
+        <translation type="obsolete">Rodo kelią, kur bus saugomos šios virtualios mašinos momentinių būvių kopijos. Atminkite, kad būvių kopijos gali užimti daug vietos.</translation>
     </message>
     <message>
         <source>you have selected a 64-bit guest OS type for this VM. As such guests require hardware virtualization (VT-x/AMD-V), this feature will be enabled automatically.</source>
@@ -5121,10 +5347,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5161,6 +5383,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5182,15 +5412,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Jei pažymėta, viso ekrano ir integruoto darbo veiksenose bus rodoma maža įrankinė.</translation>
+        <translation type="obsolete">Jei pažymėta, viso ekrano ir integruoto darbo veiksenose bus rodoma maža įrankinė.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Rodyti viso &ekrano/integravimo veiksenoje</translation>
+        <translation type="obsolete">Rodyti viso &ekrano/integravimo veiksenoje</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Jei pažymėta, maža įrankinė bus rodoma ekrano viršuje, o ne apačioje.</translation>
+        <translation type="obsolete">Jei pažymėta, maža įrankinė bus rodoma ekrano viršuje, o ne apačioje.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5200,6 +5430,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5217,7 +5459,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Valdo būdą, kuriuo ši virtuali plokštė prijungiama prie tikro tinklo per pagrindinį kompiuterį.</translation>
+        <translation type="obsolete">Valdo būdą, kuriuo ši virtuali plokštė prijungiama prie tikro tinklo per pagrindinį kompiuterį.</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -5233,7 +5475,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Parodo arba paslepia papildomas tinklo plokštės parinktis.</translation>
+        <translation type="obsolete">Parodo arba paslepia papildomas tinklo plokštės parinktis.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -5257,7 +5499,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Rodo, ar virtualaus tinklo kabelis yra prijungtas mašinos paleidimo metu.</translation>
+        <translation type="obsolete">Rodo, ar virtualaus tinklo kabelis yra prijungtas mašinos paleidimo metu.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5265,7 +5507,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Atveria langą prievadų persiuntimo taisyklių tvarkymui.</translation>
+        <translation type="obsolete">Atveria langą prievadų persiuntimo taisyklių tvarkymui.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5301,10 +5543,6 @@
         <translation>Bendros savybės:</translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5356,6 +5594,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -5404,21 +5662,6 @@
         <comment>parallel ports</comment>
         <translation>%1 prievadas</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Pasirinktas prievado numeris kartojasi </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Nenurodytas prievado kelias </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Nurodytas prievado kelias kartojasi </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5441,6 +5684,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Pasirinktas prievado numeris kartojasi </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Nenurodytas prievado kelias </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Nurodytas prievado kelias kartojasi </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5448,27 +5706,27 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Šioje lentelėje pateikiamos prievadų persiuntimo taisyklės.</translation>
+        <translation type="obsolete">Šioje lentelėje pateikiamos prievadų persiuntimo taisyklės.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Įterpti naują taisyklę</translation>
+        <translation type="obsolete">Įterpti naują taisyklę</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Kopijuoti pasirinktą taisyklę</translation>
+        <translation type="obsolete">Kopijuoti pasirinktą taisyklę</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Šalinti pasirinktą taisyklę</translation>
+        <translation type="obsolete">Šalinti pasirinktą taisyklę</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Šiuo mygtuku pridedama nauja prievadų persiuntimo taisyklė.</translation>
+        <translation type="obsolete">Šiuo mygtuku pridedama nauja prievadų persiuntimo taisyklė.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Šiuo mygtuku pašalinama pasirinkta prievadų persiuntimo taisyklė.</translation>
+        <translation type="obsolete">Šiuo mygtuku pašalinama pasirinkta prievadų persiuntimo taisyklė.</translation>
     </message>
 </context>
 <context>
@@ -5499,27 +5757,27 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Pridėti bendrąjį aplanką</translation>
+        <translation type="obsolete">&Pridėti bendrąjį aplanką</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Keisti bendrąjį aplanką</translation>
+        <translation type="obsolete">&Keisti bendrąjį aplanką</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Pašalinti bendrąjį aplanką</translation>
+        <translation type="obsolete">&Pašalinti bendrąjį aplanką</translation>
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Prideda naują bendrąjį aplanką.</translation>
+        <translation type="obsolete">Prideda naują bendrąjį aplanką.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Keičia pasirinktą bendrąjį aplanką.</translation>
+        <translation type="obsolete">Keičia pasirinktą bendrąjį aplanką.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Šalina pasirinktą bendrąjį aplanką.</translation>
+        <translation type="obsolete">Šalina pasirinktą bendrąjį aplanką.</translation>
     </message>
     <message>
         <source>Full</source>
@@ -5541,6 +5799,30 @@
         <source> Transient Folders</source>
         <translation> Laikini aplankai</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5578,7 +5860,7 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Jei pažymėta, šis bendrasis aplankas bus nuolatinis.</translation>
+        <translation type="obsolete">Jei pažymėta, šis bendrasis aplankas bus nuolatinis.</translation>
     </message>
     <message>
         <source>&Make Permanent</source>
@@ -5592,6 +5874,10 @@
         <source>Edit Share</source>
         <translation>Keisti bendrąjį išteklių</translation>
     </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerial</name>
@@ -5633,7 +5919,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Valdo šio nuosekliojo prievado veikimo būdą. Pasirinkus <b>Atjungta</b>, svečio OS aptiks nuoseklųjį prievadą, tačiau negalės juo naudotis.</translation>
+        <translation type="obsolete">Valdo šio nuosekliojo prievado veikimo būdą. Pasirinkus <b>Atjungta</b>, svečio OS aptiks nuoseklųjį prievadą, tačiau negalės juo naudotis.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5657,10 +5943,6 @@
         <translation>%1 prievadas</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5672,20 +5954,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Pasirinktas prievado numeris kartojasi </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Nenurodytas prievado kelias </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Nurodytas prievado kelias kartojasi </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5709,6 +5984,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Pasirinktas prievado numeris kartojasi </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Nenurodytas prievado kelias </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Nurodytas prievado kelias kartojasi </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>&Storage Tree</source>
@@ -5716,7 +6006,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Talpina visus šios mašinos atminties įtaisų valdiklius, virtualius atvaizdžius ir prie jų priskirtus pagrindinio įtaisus.</translation>
+        <translation type="obsolete">Talpina visus šios mašinos atminties įtaisų valdiklius, virtualius atvaizdžius ir prie jų priskirtus pagrindinio įtaisus.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5736,7 +6026,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Pakeičia pavadinimą to valdiklio, kuris yra pažymėtas atminties įtaisų medyje.</translation>
+        <translation type="obsolete">Pakeičia pavadinimą to valdiklio, kuris yra pažymėtas atminties įtaisų medyje.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5748,7 +6038,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Leidžia naudotis pagrindinio kompiuterio įvesties/išvesties podėlio funkcijomis.</translation>
+        <translation type="obsolete">Leidžia naudotis pagrindinio kompiuterio įvesties/išvesties podėlio funkcijomis.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5804,15 +6094,15 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Atvaizdis</translation>
+        <translation type="obsolete">Atvaizdis</translation>
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Išskleisti/sutraukti&nbsp;elementą</nobr></translation>
+        <translation type="obsolete"><nobr>Išskleisti/sutraukti&nbsp;elementą</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Pridėti&nbsp;standųjį&nbsp;diską</nobr></translation>
+        <translation type="obsolete"><nobr>Pridėti&nbsp;standųjį&nbsp;diską</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5880,19 +6170,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Atminties įtaisų medžio gale prideda naują valdiklį.</translation>
+        <translation type="obsolete">Atminties įtaisų medžio gale prideda naują valdiklį.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Pašalina valdiklius, pažymėtus atminties įtaisų medyje.</translation>
+        <translation type="obsolete">Pašalina valdiklius, pažymėtus atminties įtaisų medyje.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Prie atminties įtaisų medžio prideda naują įtaisą pasirinktam valdikliui.</translation>
+        <translation type="obsolete">Prie atminties įtaisų medžio prideda naują įtaisą pasirinktam valdikliui.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Pašalina įtaisą, pažymėtą atminties įtaisų medyje.</translation>
+        <translation type="obsolete">Pašalina įtaisą, pažymėtą atminties įtaisų medyje.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5924,7 +6214,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Įrengti virtualų standųjį diską</translation>
+        <translation type="obsolete">Įrengti virtualų standųjį diską</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5948,15 +6238,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Įrengti virtualų diskelių įtaisą</translation>
+        <translation type="obsolete">Įrengti virtualų diskelių įtaisą</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Sukurti naują standųjį diską...</translation>
+        <translation type="obsolete">Sukurti naują standųjį diską...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Pasirinkti virtualaus standžiojo disko rinkmeną...</translation>
+        <translation type="obsolete">Pasirinkti virtualaus standžiojo disko rinkmeną...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5968,11 +6258,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Pasirinkti virtualaus diskelio rinkmeną....</translation>
+        <translation type="obsolete">Pasirinkti virtualaus diskelio rinkmeną....</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Kai pažymėta, virtualūs diskai nebus išimti kai svečio sitema juos išstums.</translation>
+        <translation type="obsolete">Kai pažymėta, virtualūs diskai nebus išimti kai svečio sitema juos išstums.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5980,7 +6270,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Kai pažymėta, svečio sitema matys virtualų diską kaip kietos būsenos įrenginį.</translation>
+        <translation type="obsolete">Kai pažymėta, svečio sitema matys virtualų diską kaip kietos būsenos įrenginį.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6049,47 +6339,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Atvaizdis</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6121,7 +6476,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Pakelti aukščiau (Vald+Aukštyn)</translation>
+        <translation type="obsolete">Pakelti aukščiau (Vald+Aukštyn)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6129,7 +6484,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Nuleisti žemiau (Vald+Žemyn)</translation>
+        <translation type="obsolete">Nuleisti žemiau (Vald+Žemyn)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6165,7 +6520,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Pažymėjus, RTC įtaisas laiką praneš pasauliniu formatu (UTC); priešingu atveju – vietiniu (pagrindinio kompiuterio) laiku. Unix sistemose aparatinis laikrodis paprastai nustatytas į pasaulinį.</translation>
+        <translation type="obsolete">Pažymėjus, RTC įtaisas laiką praneš pasauliniu formatu (UTC); priešingu atveju – vietiniu (pagrindinio kompiuterio) laiku. Unix sistemose aparatinis laikrodis paprastai nustatytas į pasaulinį.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6253,17 +6608,17 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;procesorius</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;procesorius</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;procesoriai</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;procesoriai</qt></translation>
     </message>
     <message>
         <source>&Execution Cap:</source>
@@ -6280,12 +6635,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6343,6 +6698,32 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
@@ -6356,7 +6737,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Pažymėjus, įgalinamas šios mašinos virtualus USB EHCI valdiklis. USB EHCI valdiklis leidžia naudotis USB 2.0 įtaisais.</translation>
+        <translation type="obsolete">Pažymėjus, įgalinamas šios mašinos virtualus USB EHCI valdiklis. USB EHCI valdiklis leidžia naudotis USB 2.0 įtaisais.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6376,51 +6757,51 @@
     </message>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Pridėti tuščią filtrą</translation>
+        <translation type="obsolete">&Pridėti tuščią filtrą</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>P&ridėti filtrą iš įtaiso</translation>
+        <translation type="obsolete">P&ridėti filtrą iš įtaiso</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Keisti filtrą</translation>
+        <translation type="obsolete">&Keisti filtrą</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>P&ašalinti filtrą</translation>
+        <translation type="obsolete">P&ašalinti filtrą</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Filtrą kelti a&ukščiau</translation>
+        <translation type="obsolete">Filtrą kelti a&ukščiau</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Filtrą &nuleisti žemiau</translation>
+        <translation type="obsolete">Filtrą &nuleisti žemiau</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Prideda naują USB filtrą, kurio visi laukeliai iš pradžių yra tušti. Atminkite, kad toks filtro atitikmenys bus visi USB įtaisai.</translation>
+        <translation type="obsolete">Prideda naują USB filtrą, kurio visi laukeliai iš pradžių yra tušti. Atminkite, kad toks filtro atitikmenys bus visi USB įtaisai.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Pridama naują USB filtrą, kurio laukeliai užpildyti pasirinkto USB įtaiso, prijungto prie pagr. kompiuterio, reikšmėmis.</translation>
+        <translation type="obsolete">Pridama naują USB filtrą, kurio laukeliai užpildyti pasirinkto USB įtaiso, prijungto prie pagr. kompiuterio, reikšmėmis.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Keičia pasirinktą USB filtrą.</translation>
+        <translation type="obsolete">Keičia pasirinktą USB filtrą.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Pašalina pasirinktą USB filtrą.</translation>
+        <translation type="obsolete">Pašalina pasirinktą USB filtrą.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Pakelti pasirinktą USB filtrą aukščiau.</translation>
+        <translation type="obsolete">Pakelti pasirinktą USB filtrą aukščiau.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Nuleisti pasirinktą USB filtrą žemiau.</translation>
+        <translation type="obsolete">Nuleisti pasirinktą USB filtrą žemiau.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6476,27 +6857,79 @@
         <translation type="obsolete">Šioje virtualioje mašinoje įgalintas USB 2.0. Tačiau tam turi įdiegtas <b>%1</b>. Įdiegike papildinių paketą, kurį rasite VirtualBox svetainėje. Tuomet vėl galėsite įgalite USB 2.0. Iki tol ši funkcija bus uždrausta, nebent atsisakysite dabartinių nuostatų pakeitimų.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6520,7 +6953,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Nurodo gamintojo ID filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>XXXX</tt>, kur <tt>X</tt> yra šešeioliktainis skaičius. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo gamintojo ID filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>XXXX</tt>, kur <tt>X</tt> yra šešeioliktainis skaičius. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6528,7 +6961,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Nurodo produkto ID filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>XXXX</tt>, kur <tt>X</tt> yra šešeioliktainis skaičius. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo produkto ID filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>XXXX</tt>, kur <tt>X</tt> yra šešeioliktainis skaičius. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6536,7 +6969,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Nurodo revizijos numerio filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>IIFF</tt>, kur <tt>I</tt> yra dešimtainio skaičiaus sveikoji dalis, o <tt>F</tt> yra dešimtainio skaičiaus trupmeninė dalis. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo revizijos numerio filtrą. <i>Tikslaus atitikmens</i> eilutės formatas yra <tt>IIFF</tt>, kur <tt>I</tt> yra dešimtainio skaičiaus sveikoji dalis, o <tt>F</tt> yra dešimtainio skaičiaus trupmeninė dalis. Tuščia eilutė atitiks bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6544,7 +6977,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Nurodo gamintojo filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo gamintojo filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6552,7 +6985,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Nurodo produkto filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo produkto filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6560,7 +6993,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Nurodo serijinio numerio filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo serijinio numerio filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6568,7 +7001,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Nurodo pagrindinio kompiuterio USB prievado filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
+        <translation type="obsolete">Nurodo pagrindinio kompiuterio USB prievado filtrą <i>tikslaus atitikmens</i> eilute. Tuščia eilutė reikš bet kokią reikšmę.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6576,30 +7009,62 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Nurodo, ar šis filtras taikomas USB įtaisams prijungtiems prie vietinio pagrindinio kompiuterio (<i>Ne</i>), prie VRDP kliento kompiuterio (<i>Taip</i>), ar abiejų (<i>Bet koks</i>).</translation>
+        <translation type="obsolete">Nurodo, ar šis filtras taikomas USB įtaisams prijungtiems prie vietinio pagrindinio kompiuterio (<i>Ne</i>), prie VRDP kliento kompiuterio (<i>Taip</i>), ar abiejų (<i>Bet koks</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
         <translation type="obsolete">&Veiksmas: </translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Nurodo veiksmą, kurį atlieka pagrindinis kompiuteris, kai prijungiamas atitinkamas įtaisas: palikti pagrindinio kompiuterio žinioje (<i>Nepaisyti</i>) arba atiduoti į virtualios mašinos valdymui (<i>Sulaikyti</i>).</translation>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Nurodo veiksmą, kurį atlieka pagrindinis kompiuteris, kai prijungiamas atitinkamas įtaisas: palikti pagrindinio kompiuterio žinioje (<i>Nepaisyti</i>) arba atiduoti į virtualios mašinos valdymui (<i>Sulaikyti</i>).</translation>
+    </message>
+    <message>
+        <source>Any</source>
+        <comment>remote</comment>
+        <translation>Bet koks</translation>
+    </message>
+    <message>
+        <source>Yes</source>
+        <comment>remote</comment>
+        <translation>Taip</translation>
+    </message>
+    <message>
+        <source>No</source>
+        <comment>remote</comment>
+        <translation>Ne</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Any</source>
-        <comment>remote</comment>
-        <translation>Bet koks</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
-        <comment>remote</comment>
-        <translation>Taip</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No</source>
-        <comment>remote</comment>
-        <translation>Ne</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6619,10 +7084,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6642,6 +7103,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7092,7 +7557,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Nepakanka svečio sistemos vaizdo atminties, kad būtų galima pereiti į viso ekrano veikseną.</p><p>Sukonfigūruokite virtualią mašiną taip, kad ši turėtų bent <b>%1</b> virtualios atminties.</p><p>Spauskite <b>Nepaisyti</b>, jei norite vis tiek pabandyti pereiti į viso ekrano veikseną, arba spauskite <b>Atšaukti</b>.</p></translation>
+        <translation type="obsolete"><p>Nepakanka svečio sistemos vaizdo atminties, kad būtų galima pereiti į viso ekrano veikseną.</p><p>Sukonfigūruokite virtualią mašiną taip, kad ši turėtų bent <b>%1</b> virtualios atminties.</p><p>Spauskite <b>Nepaisyti</b>, jei norite vis tiek pabandyti pereiti į viso ekrano veikseną, arba spauskite <b>Atšaukti</b>.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7208,7 +7673,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Tikrai norite ištrinti standųjį diską <nobr><b>%1</b></nobr>?</p><p>Jei renkatės <b>Pašalinti</b>, laikmena iš karto ištrinta <b>negrįžtamai</b>.</p><p>Jei renkatės <b>Išlaikyti</b>, standusis diskas bus pašalintas tik iš žinomų laikmenų sąrašo, bet jis nebus ištrintas kompiuteryje, tad vėiau jį vėl galėsite įtraukti į minėtą sąrašą.</p></translation>
+        <translation type="obsolete"><p>Tikrai norite ištrinti standųjį diską <nobr><b>%1</b></nobr>?</p><p>Jei renkatės <b>Pašalinti</b>, laikmena iš karto ištrinta <b>negrįžtamai</b>.</p><p>Jei renkatės <b>Išlaikyti</b>, standusis diskas bus pašalintas tik iš žinomų laikmenų sąrašo, bet jis nebus ištrintas kompiuteryje, tad vėiau jį vėl galėsite įtraukti į minėtą sąrašą.</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7390,7 +7855,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Pašalinus momentinį būvį, prarasite jame įrašytą informaciją, o keliose rinkmenose laikomi disko duomenys bus sujungti į vieną rinkmeną. Momentiniame būvyje esančios informacijos nebebus galima atkurti. Šis veiksmas gali užtrukti.</p></p>Tikrai pašalinti pasirinktą momentinį būvį <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Pašalinus momentinį būvį, prarasite jame įrašytą informaciją, o keliose rinkmenose laikomi disko duomenys bus sujungti į vieną rinkmeną. Momentiniame būvyje esančios informacijos nebebus galima atkurti. Šis veiksmas gali užtrukti.</p></p>Tikrai pašalinti pasirinktą momentinį būvį <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7530,7 +7995,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Šalinant momentinį būvį „%1“, laikinai bus panaudojama daugiau disko vietos. Blogiausiu atveju disko atvaizdis %2 padidės %3, tačiau šioje rinkmenų sistemoje tėra %4 laisvos vietos.</p><p>Viršijant disko erdvę suliejimo operacijos metu, atvaizdis ir VM konfigūracija gali būti sugadinti, t. y. prarasta VM ir jos duomenys.</p><p>Vis tik galite tęsti momentinio būvio šalinimo operaciją prisiimdami asmeninę atsakomybę.</p></translation>
+        <translation type="obsolete"><p>Šalinant momentinį būvį „%1“, laikinai bus panaudojama daugiau disko vietos. Blogiausiu atveju disko atvaizdis %2 padidės %3, tačiau šioje rinkmenų sistemoje tėra %4 laisvos vietos.</p><p>Viršijant disko erdvę suliejimo operacijos metu, atvaizdis ir VM konfigūracija gali būti sugadinti, t. y. prarasta VM ir jos duomenys.</p><p>Vis tik galite tęsti momentinio būvio šalinimo operaciją prisiimdami asmeninę atsakomybę.< [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7872,7 +8337,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Virtualios mašinos langas netrukus pereis į <b>viso ekrano</b> veikseną. Į įprastą lango veikseną sugrįšite nuspaudę <b>%1</b>.</p><p>Atminkite, kad <i>pagrindinio kompiuterio</i> klavišas šiuo metu yra <b>%2</b>.</p><p>Be to, viso ekrano veiksenoje meniu juosta yra paslėpta. Ją pasieksite nuspaudę <b>(pagr. komp. klavišas) + Prad</b>.</p></translation>
+        <translation type="obsolete"><p>Virtualios mašinos langas netrukus pereis į <b>viso ekrano</b> veikseną. Į įprastą lango veikseną sugrįšite nuspaudę <b>%1</b>.</p><p>Atminkite, kad <i>pagrindinio kompiuterio</i> klavišas šiuo metu yra <b>%2</b>.</p><p>Be to, viso ekrano veiksenoje meniu juosta yra paslėpta. Ją pasieksite nuspaudę <b>(pagr. komp. klavišas) + Prad</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8097,10 +8562,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8209,18 +8670,6 @@
         <translation type="unfinished">&Pasirinkti diską</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8260,30 +8709,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8403,10 +8828,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8478,6 +8899,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9173,27 +9634,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Pavadinimas</translation>
+        <translation type="obsolete">Pavadinimas</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokolas</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Pagr. kompiuterio IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Pagr. kompiuterio prievadas</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Svečio IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Svečio prievadas</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Pavadinimas</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokolas</translation>
+        <translation type="unfinished">Protokolas</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Pagr. kompiuterio IP</translation>
+        <translation type="unfinished">Pagr. kompiuterio IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Pagr. kompiuterio prievadas</translation>
+        <translation type="unfinished">Pagr. kompiuterio prievadas</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Svečio IP</translation>
+        <translation type="unfinished">Svečio IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Svečio prievadas</translation>
+        <translation type="unfinished">Svečio prievadas</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9441,13 +9957,6 @@
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9457,6 +9966,10 @@
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9954,96 +10467,96 @@
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Copy</source>
         <translation type="unfinished">Kopijuoti</translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dinamiško dydžio</translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">&Pastovaus dydžio</translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Skaidyti į rinkmenas iki 2GB</translation>
+    </message>
+    <message>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
+        <translation type="unfinished">%1_kopija</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dinamiško dydžio</translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">&Pastovaus dydžio</translation>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Skaidyti į rinkmenas iki 2GB</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
-        <translation type="unfinished">%1_kopija</translation>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10086,10 +10599,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10145,6 +10654,10 @@
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10408,83 +10921,83 @@
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Create</source>
         <translation type="unfinished">Sukurti</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dinamiško dydžio</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">&Pastovaus dydžio</translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Skaidyti į rinkmenas iki 2GB</translation>
+    </message>
+    <message>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dinamiško dydžio</translation>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">&Pastovaus dydžio</translation>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Skaidyti į rinkmenas iki 2GB</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10535,32 +11048,32 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
-        <translation type="unfinished"></translation>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Pasirinkti virtualaus standžiojo disko rinkmeną...</translation>
     </message>
 </context>
 <context>
@@ -10664,7 +11177,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Atveriamas langas kitokio aplanko pasirinkimui.</translation>
+        <translation type="obsolete">Atveriamas langas kitokio aplanko pasirinkimui.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -10672,7 +11185,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Atveriamas langas kitokios rinkmenos pasirinkimui.</translation>
+        <translation type="obsolete">Atveriamas langas kitokios rinkmenos pasirinkimui.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -10684,16 +11197,32 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Įrašykite aplanko kelią.</translation>
+        <translation type="obsolete">Įrašykite aplanko kelią.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Įrašykite rinkmenos kelią.</translation>
+        <translation type="obsolete">Įrašykite rinkmenos kelią.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12244,7 +12773,7 @@ IPv6.</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Su šiuo standžiuoju disku bus dirbama ne tiesiogiai, o naudojant naujai sukurtą standžiojo disko vedinį.</translation>
+        <translation type="unfinished">Su šiuo standžiuoju disku bus dirbama ne tiesiogiai, o naudojant naujai sukurtą standžiojo disko vedinį.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12255,7 +12784,7 @@ IPv6.</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Šis pagrindinis standusis diskas prijungtas ne tiesiogiai, o naudojant šį jo vedinį:</translation>
+        <translation type="unfinished">Šis pagrindinis standusis diskas prijungtas ne tiesiogiai, o naudojant šį jo vedinį:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13623,14 +14152,6 @@ IPv6.</translation>
         <translation type="unfinished">Aprašas</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13671,10 +14192,6 @@ IPv6.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Enabled</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation type="obsolete">Įgalinta</translation>
@@ -13862,25 +14379,27 @@ IPv6.</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14726,7 +15245,7 @@ konkrečių nuostatų, matysite paaiškinimus<i>.</translation>
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Rodyti daugiau informacijos apie pasirinktą momentinio būvio kopiją</translation>
+        <translation type="obsolete">Rodyti daugiau informacijos apie pasirinktą momentinio būvio kopiją</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -14742,11 +15261,11 @@ konkrečių nuostatų, matysite paaiškinimus<i>.</translation>
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Atkurti virtualios mašinos būseną iš pasirinkto momentinio būvio kopijos</translation>
+        <translation type="obsolete">Atkurti virtualios mašinos būseną iš pasirinkto momentinio būvio kopijos</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Ištrinti pasirinktą virtualios mašinos momentinio būvio kopiją</translation>
+        <translation type="obsolete">Ištrinti pasirinktą virtualios mašinos momentinio būvio kopiją</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -14798,7 +15317,23 @@ konkrečių nuostatų, matysite paaiškinimus<i>.</translation>
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Klonuoti pasirinktą virtualią mašiną</translation>
+        <translation type="obsolete">Klonuoti pasirinktą virtualią mašiną</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14834,6 +15369,10 @@ konkrečių nuostatų, matysite paaiškinimus<i>.</translation>
             <numerusform>Dėmesio: jūs mėginate sukurti momentinę būvio kopiją veikiančios mašinos, kuri turi %n priskirtų nekeičiamų atvaizdžių. Kol dirbdate su šiuo būviu, tol nekeičiami atvaizdžiai nebus perstatyti siekiant išvengti duomenų praradimo.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Momentinė kopija Nr. %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
index 536c212..869de4b 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts
@@ -212,7 +212,7 @@
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
         <translatorcomment>Guest Additions als naam laten staan</translatorcomment>
-        <translation>Pas de grootte van het gastscherm automatisch aan wanneer het venster van grootte veranderd (vereist Guest Additions)</translation>
+        <translation type="obsolete">Pas de grootte van het gastscherm automatisch aan wanneer het venster van grootte veranderd (vereist Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -280,7 +280,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Stuur ACPI-aan/uitknop-schakelen naar de virtuele machine</translation>
+        <translation type="obsolete">Stuur ACPI-aan/uitknop-schakelen naar de virtuele machine</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -316,7 +316,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Instellingen van netwerkadapters aanpassen</translation>
+        <translation type="obsolete">Instellingen van netwerkadapters aanpassen</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -324,7 +324,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Aanmaken/bewerken gedeelde mappen</translation>
+        <translation type="obsolete">Aanmaken/bewerken gedeelde mappen</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -412,7 +412,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Beheer de instellingen van de virtuele machine</translation>
+        <translation type="obsolete">Beheer de instellingen van de virtuele machine</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -420,7 +420,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Toon de logbestanden van de geselecteerde virtuele machine</translation>
+        <translation type="obsolete">Toon de logbestanden van de geselecteerde virtuele machine</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -444,7 +444,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Toon Manager Netwerkoperaties</translation>
+        <translation type="obsolete">Toon Manager Netwerkoperaties</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -456,7 +456,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Toon produktinformatie</translation>
+        <translation type="obsolete">Toon produktinformatie</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -468,7 +468,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Maak schermafdruk van de virtuele machine</translation>
+        <translation type="obsolete">Maak schermafdruk van de virtuele machine</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -511,11 +511,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Voorkeuren...</translation>
+        <translation type="obsolete">&Voorkeuren...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Toon dialoog Algemene Instellingen</translation>
+        <translation type="obsolete">Toon dialoog Algemene Instellingen</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -531,15 +531,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Maak een nieuwe virtuele machine aan</translation>
+        <translation type="obsolete">Maak een nieuwe virtuele machine aan</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Voeg een bestaande virtuele machine toe</translation>
+        <translation type="obsolete">Toevoegen bestaande virtuele machine</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Hernoem de geselecteerde virtuelemachinegroep</translation>
+        <translation type="obsolete">Hernoem de geselecteerde virtuelemachinegroep</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -559,15 +559,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Verversen...</translation>
+        <translation type="obsolete">&Verversen...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Actualiseer de toegankelijkheidsstatus van de geselecteerde virtuele machine</translation>
+        <translation type="obsolete">Actualiseer de toegankelijkheidsstatus van de geselecteerde virtuele machine</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Toon in zoekscherm</translation>
+        <translation type="obsolete">Toon in zoekscherm</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -575,7 +575,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Toon in Explorer</translation>
+        <translation type="obsolete">Toon in Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -583,11 +583,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Toon in bestandsmanager</translation>
+        <translation type="obsolete">Toon in bestandsmanager</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Toon het VirtualBox-machinedefinitiebestand in bestandsmanager</translation>
+        <translation type="obsolete">Toon het VirtualBox-machinedefinitiebestand in bestandsmanager</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -599,7 +599,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Voeg een nieuwe groep toe op basis van geselecteerde items</translation>
+        <translation type="obsolete">Toevoegen nieuwe groep op basis van geselecteerde items</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -607,7 +607,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Kloon de geselecteerde virtuele machine</translation>
+        <translation type="obsolete">Kloon de geselecteerde virtuele machine</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -623,7 +623,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Ver&werp opgeslagen staat...</translation>
+        <translation type="obsolete">Ver&werp opgeslagen staat...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -631,7 +631,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Maak alias op bureaublad</translation>
+        <translation type="obsolete">Maak alias op bureaublad</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -639,7 +639,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Maak een snelkoppeling op bureaublad</translation>
+        <translation type="obsolete">Maak een snelkoppeling op bureaublad</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -671,59 +671,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Sorteer de items van de geselecteerde virtuelemachinegroep alfabetisch</translation>
+        <translation type="obsolete">Sorteer de items van de geselecteerde virtuelemachinegroep alfabetisch</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Verwijder de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Verwijder de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Start de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Start de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Schakel over naar de vensters van de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Schakel over naar de vensters van de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Onderbreek tijdelijk de uitvoering van de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Onderbreek tijdelijk de uitvoering van de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reset de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Reset de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Verwerp de opgeslagen staat van de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Verwerp de opgeslagen staat van de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Toon het VirtualBox-machinedefinitiebestand in het zoekscherm</translation>
+        <translation type="obsolete">Toon het VirtualBox-machinedefinitiebestand in het zoekscherm</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Toon het VirtualBox-machinedefinitiebestand in Explorer</translation>
+        <translation type="obsolete">Toon het VirtualBox-machinedefinitiebestand in Explorer</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Maakt een aliasbestand naar het VirtualBox-machinedefinitiebestand op uw bureaublad</translation>
+        <translation type="obsolete">Maakt een aliasbestand naar het VirtualBox-machinedefinitiebestand op uw bureaublad</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Maakt een snelkoppeling naar het VirtualBox-machinedefinitiebestand op het bureaublad</translation>
+        <translation type="obsolete">Maakt een snelkoppeling naar het VirtualBox-machinedefinitiebestand op het bureaublad</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Staat opslaan</translation>
+        <translation type="obsolete">Staat opslaan</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Sla de machinestaat van de geselecteerde virtuele machines op</translation>
+        <translation type="obsolete">Sla de machinestaat van de geselecteerde virtuele machines op</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Stuur ACPI-aan/uitknop-schakelen naar de geselecteerde virtuele machines</translation>
+        <translation type="obsolete">Stuur ACPI-aan/uitknop-schakelen naar de geselecteerde virtuele machines</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -731,7 +731,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Zet de geselecteerde virtuele machines uit</translation>
+        <translation type="obsolete">Zet de geselecteerde virtuele machines uit</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -744,15 +744,15 @@
     <message>
         <source>&Ungroup...</source>
         <translatorcomment>ontgroepen kennen wij niet</translatorcomment>
-        <translation>Groep ophe&ffen...</translation>
+        <translation type="obsolete">Groep ophe&ffen...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Hef de geselecteerde virtuelemachinegroep op</translation>
+        <translation type="obsolete">Hef de geselecteerde virtuelemachinegroep op</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Sorteren</translation>
+        <translation type="obsolete">Sorteren</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -760,7 +760,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Sorteer de groep van de eerst geselecteerde machine alfabetisch</translation>
+        <translation type="obsolete">Sorteer de groep van de eerst geselecteerde machine alfabetisch</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -773,7 +773,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Sla de machinestaat van de geselecteerde virtuele machine op</translation>
+        <translation type="obsolete">Sla de machinestaat van de geselecteerde virtuele machine op</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -793,7 +793,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Aan/uit Beeldscherm-op-Afstand(remote desktop protocol, RDP)verbindingen naar deze machine</translation>
+        <translation type="obsolete">Aan/uit Beeldscherm-op-Afstand(remote desktop protocol, RDP)verbindingen naar deze machine</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -801,7 +801,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Videocapture aan/uit</translation>
+        <translation type="obsolete">Videocapture aan/uit</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -809,7 +809,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Videocapture instellen</translation>
+        <translation type="obsolete">Videocapture instellen</translation>
     </message>
     <message>
         <source>&Logging...</source>
@@ -822,216 +822,527 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Toon sessie-informatievenster</translation>
     </message>
     <message>
         <source>&Webcams</source>
-        <translation type="unfinished"></translation>
+        <translation>&Webcams</translation>
     </message>
     <message>
         <source>&Insert Guest Additions CD image...</source>
-        <translation type="unfinished"></translation>
+        <translation>&Invoegen Guest Additions CD-image...</translation>
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Doe het Guest Additions-schijfbestand in het virtuele station</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
-        <translation type="unfinished"></translation>
+        <translation>&VirtualBox</translation>
     </message>
     <message>
         <source>&Menu Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>&Menubalk</translation>
     </message>
     <message>
         <source>&Menu Bar Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen &menubalk...</translation>
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Opent een venster om de menubalk in te stellen</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon menu&balk</translation>
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Menubalk zichtbaar/niet zichtbaar op deze machine</translation>
     </message>
     <message>
         <source>&Status Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>&Statusbalk</translation>
     </message>
     <message>
         <source>&Status Bar Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen &statusbalk...</translation>
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Opent een venster om de statusbalk in te stellen</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon status&balk</translation>
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Statusbalk zichtbaar/niet zichtbaar op deze machine</translation>
     </message>
     <message>
         <source>&Input</source>
-        <translation type="unfinished"></translation>
+        <translation>&Invoer</translation>
     </message>
     <message>
         <source>&Keyboard</source>
-        <translation type="unfinished"></translation>
+        <translation>&Toetsenbord</translation>
     </message>
     <message>
         <source>&Keyboard Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen &toetsenbord...</translation>
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Toon venster algemene instellingen om sneltoetsen in te stellen</translation>
     </message>
     <message>
         <source>&Mouse</source>
-        <translation type="unfinished"></translation>
+        <translation>&Muis</translation>
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&Harde schijven</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Instellingen &harde schijven...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Instellingen van harde schijven aanpassen</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation type="unfinished">Netwerk</translation>
+        <translation type="obsolete">Netwerk</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen &USB...</translation>
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Instellingen van USB-apparaten aanpassen</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
-        <translation type="unfinished"></translation>
+        <translation>&Gedeelde mappen</translation>
     </message>
     <message>
         <source>Show &Log...</source>
         <comment>debug action</comment>
-        <translation type="unfinished"></translation>
+        <translation>Toon &log...</translation>
     </message>
     <message>
         <source>E&xtra Data Manager...</source>
-        <translation type="unfinished"></translation>
+        <translation>E&xtra Data Manager...</translation>
     </message>
     <message>
         <source>Display the Extra Data Manager window</source>
-        <translation type="unfinished"></translation>
+        <translation>Toon het venster Extra Data Manager</translation>
     </message>
     <message>
         <source>&File</source>
-        <translation type="unfinished">&Bestand</translation>
+        <translation>&Bestand</translation>
     </message>
     <message>
         <source>&Window</source>
-        <translation type="unfinished"></translation>
+        <translation>&Venster</translation>
     </message>
     <message>
         <source>&Minimize</source>
-        <translation type="unfinished"></translation>
+        <translation>&Minimaliseren</translation>
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Minimaliseren actieve machinevenster</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>&Sschermvullende modus</translation>
     </message>
     <message>
         <source>Switch between normal and full-screen mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Schakel tussen Normale en Schermvullende modus</translation>
     </message>
     <message>
         <source>Seam&less Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Naad&loze modus</translation>
     </message>
     <message>
         <source>S&caled Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Ges&chaalde modus</translation>
     </message>
     <message>
         <source>S&cale Factor</source>
-        <translation type="unfinished"></translation>
+        <translation>S&chaalfactor</translation>
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">&Invoeren %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
-        <translation type="unfinished"></translation>
+        <translation>Stuur de %1-combinatie naar de virtuele machine</translation>
     </message>
     <message>
         <source>&Mouse Integration</source>
-        <translation type="unfinished"></translation>
+        <translation>&Muis-integratie</translation>
     </message>
     <message>
         <source>Enable host mouse pointer integration</source>
-        <translation type="unfinished"></translation>
+        <translation>Inschakelen host-muisintegratie</translation>
     </message>
     <message>
         <source>&Optical Drives</source>
-        <translation type="unfinished"></translation>
+        <translation>&Optische stations</translation>
     </message>
     <message>
         <source>&Floppy Drives</source>
-        <translation type="unfinished"></translation>
+        <translation>&Diskettestations</translation>
     </message>
     <message>
         <source>&USB</source>
-        <translation type="unfinished"></translation>
+        <translation>&USB</translation>
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Drag-and-drop</translation>
     </message>
     <message>
         <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished"></translation>
+        <translation>&Loggen</translation>
     </message>
     <message>
         <source>&Normal Start</source>
-        <translation type="unfinished"></translation>
+        <translation>&Normale start</translation>
     </message>
     <message>
         <source>&Headless Start</source>
-        <translation type="unfinished"></translation>
+        <translatorcomment>VB term</translatorcomment>
+        <translation>&Headless start</translation>
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Start de geselecteerde virtuele machines op de achtergrond</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
-        <translation type="unfinished"></translation>
+        <translatorcomment>VB term</translatorcomment>
+        <translation>&Detachable Start</translation>
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <translation type="obsolete">Start de geselecteerde virtuele machines met de optie deze op de achtergrond te laten doorgaan</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Voorkeuren...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">&Invoeren %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Herschalen naar %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Preview Monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Er zijn geen USB-apparaten gekoppeld</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Er zijn geen ondersteunde apparaten aan de host-PC verbonden</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Er zijn geen webcams gekoppeld</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Er zijn geen ondersteunde webcams aan de host-PC verbonden</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">&Verversen</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1040,17 +1351,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Uitschakelen</translation>
+        <translation type="obsolete">Inschakelen</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Herschalen naar %1x%2</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1064,11 +1375,34 @@
     <name>UIAddDiskEncryptionPasswordDialog</name>
     <message>
         <source>%1 - Disk Encryption</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 - Schijfversleuteling</translation>
     </message>
     <message numerus="yes">
         <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
+        <translation>
+            <numerusform>Deze virtuele machine wordt door een wachtwoord beschermd. Voer %n encryptiewachtwoord hier beneden in.</numerusform>
+            <numerusform>Deze virtuele machine wordt door een wachtwoord beschermd. Voer %n encryptiewachtwoorden hier beneden in.</numerusform>
+        </translation>
+    </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Status</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Wachtwoord</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
             <numerusform></numerusform>
@@ -1127,15 +1461,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Harde schijf controller (IDE)</translation>
+        <translation type="obsolete">Harde schijf controller (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Harde schijf controller (SATA)</translation>
+        <translation type="obsolete">Harde schijf controller (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Harde schijf controller (SCSI)</translation>
+        <translation type="obsolete">Harde schijf controller (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1180,7 +1514,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Harde schijf controller (SAS)</translation>
+        <translation type="obsolete">Harde schijf controller (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1190,6 +1524,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>He&rinitialiseren MAC-adres van alle netwerkkaarten</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1847,7 +2197,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Data ophalen...</translation>
     </message>
 </context>
 <context>
@@ -1856,6 +2206,10 @@
         <source>Dropping data ...</source>
         <translation>Droppen data ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">Data ophalen...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -1916,24 +2270,24 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Status</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Wachtwoord</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
+        <translation type="obsolete">
+            <numerusform><nobr>Gebruikt door de volgende %n harde schijf:</nobr><br>%1</numerusform>
+            <numerusform><nobr>Gebruikt door de volgende %n harde schijven</nobr><br>%1</numerusform>
         </translation>
     </message>
 </context>
@@ -2516,27 +2870,27 @@
     <message>
         <source>Minimal Paravirtualization</source>
         <comment>details (system)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Minimale paravirtualisatie</translation>
     </message>
     <message>
         <source>Hyper-V Paravirtualization</source>
         <comment>details (system)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hyper-V paravirtualisatie</translation>
     </message>
     <message>
         <source>KVM Paravirtualization</source>
         <comment>details (system)</comment>
-        <translation type="unfinished"></translation>
+        <translation>KVM paravirtualisatie</translation>
     </message>
     <message>
         <source>[Optical Drive]</source>
         <comment>details (storage)</comment>
-        <translation type="unfinished"></translation>
+        <translation>[Optisch station]</translation>
     </message>
     <message>
         <source>USB Controller</source>
         <comment>details (usb)</comment>
-        <translation type="unfinished">USB-controller</translation>
+        <translation>USB-controller</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -2546,72 +2900,72 @@
     <message>
         <source>Mini-toolbar Position</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Positie miniwerkbalk</translation>
     </message>
     <message>
         <source>Top</source>
         <comment>details (user interface/mini-toolbar position)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Bovenaan</translation>
     </message>
     <message>
         <source>Bottom</source>
         <comment>details (user interface/mini-toolbar position)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Onderaan</translation>
     </message>
     <message>
         <source>Mini-toolbar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Miniwerkbalk</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/mini-toolbar)</comment>
-        <translation type="unfinished">Uitgeschakeld</translation>
+        <translation>Uitgeschakeld</translation>
     </message>
     <message>
         <source>Scale-factor</source>
         <comment>details (display)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Schaalfactor</translation>
     </message>
     <message>
         <source>Unscaled HiDPI Video Output</source>
         <comment>details (display)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Ongeschaalde HiDPI Video Output</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (display/Unscaled HiDPI Video Output)</comment>
-        <translation type="unfinished">Ingeschakeld</translation>
+        <translation>Ingeschakeld</translation>
     </message>
     <message>
         <source>Menu-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Menubalk</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">Ingeschakeld</translation>
+        <translation>Ingeschakeld</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/menu-bar)</comment>
-        <translation type="unfinished">Uitgeschakeld</translation>
+        <translation>Uitgeschakeld</translation>
     </message>
     <message>
         <source>Status-bar</source>
         <comment>details (user interface)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Statusbalk</translation>
     </message>
     <message>
         <source>Enabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">Ingeschakeld</translation>
+        <translation>Ingeschakeld</translation>
     </message>
     <message>
         <source>Disabled</source>
         <comment>details (user interface/status-bar)</comment>
-        <translation type="unfinished">Uitgeschakeld</translation>
+        <translation>Uitgeschakeld</translation>
     </message>
 </context>
 <context>
@@ -2843,7 +3197,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Geeft de maximum breedte die de gast mag gebruiken aan.</translation>
+        <translation type="obsolete">Geeft de maximum breedte die de gast mag gebruiken aan.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -2851,7 +3205,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Geeft de maximum hoogte die de gast mag gebruiken aan.</translation>
+        <translation type="obsolete">Geeft de maximum hoogte die de gast mag gebruiken aan.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -2879,19 +3233,31 @@
         <translation>Hint</translation>
     </message>
     <message>
-        <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
-        <translation>Stel aan de gast een maximale beeldschermgrootte voor. De gast kan dit voorstel alleen zien wanneer de Guest Additions zijn geïnstalleerd.</translation>
+        <source>Suggest a maximum screen size to the guest. The guest will only see this suggestion when guest additions are installed.</source>
+        <translation>Stel aan de gast een maximale beeldschermgrootte voor. De gast kan dit voorstel alleen zien wanneer de Guest Additions zijn geïnstalleerd.</translation>
+    </message>
+    <message>
+        <source>Machine Windows:</source>
+        <translation>Machine-vensters:</translation>
+    </message>
+    <message>
+        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="obsolete">Als dit is ingesteld zullen machine-vensters omhoog komen wanneer de muis er overheen gaat.</translation>
+    </message>
+    <message>
+        <source>&Raise Window Under Mouse</source>
+        <translation>Laat venste&r onder muis omhoog komen</translation>
     </message>
     <message>
-        <source>Machine Windows:</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>Holds the maximum height which we would like the guest to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2919,11 +3285,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Voeg pakket toe</translation>
+        <translation type="obsolete">Toevoegen pakket</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Verwijder pakket</translation>
+        <translation type="obsolete">Verwijder pakket</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -2941,6 +3307,22 @@
         <source>&Extension Packages</source>
         <translation>&Extensiepakketten</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -2994,7 +3376,7 @@
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>Screensaver &host:</translation>
+        <translation type="obsolete">Screensaver &host:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3002,7 +3384,15 @@
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Uitschakelen wanneer Virtuele Machines draaien</translation>
+        <translation type="obsolete">Uitschakelen wanneer Virtuele Machines draaien</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3049,11 +3439,19 @@
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Toon alle beschikbare shortcuts die kunnen worden ingesteld.</translation>
+        <translation type="obsolete">Toon alle beschikbare shortcuts die kunnen worden ingesteld.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Geef een combinatie om de shortcutlijst te filteren.</translation>
+        <translation type="obsolete">Geef een combinatie om de shortcutlijst te filteren.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3227,15 +3625,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Toe&voegen host-only netwerk</translation>
+        <translation type="obsolete">Toe&voegen host-only netwerk</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Verwijderen host-only netwerk</translation>
+        <translation type="obsolete">&Verwijderen host-only netwerk</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Wijzigen host-only netwerk</translation>
+        <translation type="obsolete">&Wijzigen host-only netwerk</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -3368,15 +3766,63 @@
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>N&AT-netwerk toevoegen</translation>
+        <translation type="obsolete">N&AT-netwerk toevoegen</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>NAT-netwe&rk verwijderen</translation>
+        <translation type="obsolete">NAT-netwe&rk verwijderen</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>NAT-n&etwerk bewerken</translation>
+        <translation type="obsolete">NAT-n&etwerk bewerken</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3490,7 +3936,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Gebruik handmatige configuratie voor deze host-only netwerkadapter.</translation>
+        <translation type="obsolete">Gebruik handmatige configuratie voor deze host-only netwerkadapter.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3534,7 +3980,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Geeft aan of de DHCP-server wordt ingeschakeld bij het opstarten van de machine of niet.</translation>
+        <translation type="obsolete">Geeft aan of de DHCP-server wordt ingeschakeld bij het opstarten van de machine of niet.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3568,6 +4014,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Toont het hoogste IP-adres dat kan worden aangeboden door de DHCP-server geassocieerd met het netwerk van deze host-only adapter.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3581,7 +4035,7 @@
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Schakel dit NAT-netwerk in.</translation>
+        <translation type="obsolete">Schakel dit NAT-netwerk in.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -3609,7 +4063,7 @@
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Bepaald of dit netwerk DHCP ondersteund.</translation>
+        <translation type="obsolete">Bepaald of dit netwerk DHCP ondersteund.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -3617,7 +4071,7 @@
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Bepaald of dit netwerk IPv6 ondersteund.</translation>
+        <translation type="obsolete">Bepaald of dit netwerk IPv6 ondersteund.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -3625,16 +4079,36 @@
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Bepaald of dit netwerk als de default IPv6-route bekend moet staan.</translation>
+        <translation type="obsolete">Bepaald of dit netwerk als de default IPv6-route bekend moet staan.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Opent een venster waarin doorverwijsregels van poorten kunnen worden beheerd.</translation>
+        <translation type="obsolete">Opent een venster waarin doorverwijsregels van poorten kunnen worden beheerd.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&Poortdoorverwijzing</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -3667,7 +4141,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Verandert de proxyhost.</translation>
+        <translation type="obsolete">Verandert de proxyhost.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3675,7 +4149,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Verandert de proxypoort.</translation>
+        <translation type="obsolete">Verandert de proxypoort.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3709,6 +4183,14 @@
         <source>No proxy port is currently specified.</source>
         <translation>Op dit moment is geen proxy-host opgegeven.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3726,7 +4208,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Geeft aan hoe vaak de controle op nieuwe versies moet plaatsvinden. Wilt u deze controle helemaal niet, verwijdert u eenvoudigweg het vinkje in het keuzevakje.</translation>
+        <translation type="obsolete">Geeft aan hoe vaak de controle op nieuwe versies moet plaatsvinden. Wilt u deze controle helemaal niet, verwijdert u eenvoudigweg het vinkje in het keuzevakje.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3761,6 +4243,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Alle nieuwe releases en &pre-releases</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4011,7 +4497,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Geeft activiteit van virtuele harde schijven weer:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Geeft activiteit van virtuele harde schijven weer:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4085,7 +4571,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Geeft aan of het toetsenbord van de host door het gastbesturingssysteem is afgevangen (<img src=:/hostkey_captured_16px.png/>) of niet (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Geeft aan of het toetsenbord van de host door het gastbesturingssysteem is afgevangen (<img src=:/hostkey_captured_16px.png/>) of niet (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4119,16 +4605,25 @@
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the display:</nobr>%1</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p style='white-space:pre'><nobr>Geeft activiteit van het scherm weer:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the optical drives:</nobr>%1</p></source>
         <comment>CD tooltip</comment>
-        <translation type="unfinished"></translation>
+        <translation><p style='white-space:pre'><nobr>Geeft activiteit van de optische stations weer:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the floppy drives:</nobr>%1</p></source>
         <comment>FD tooltip</comment>
+        <translation><p style='white-space:pre'><nobr>Geeft activiteit van diskette-apparaten weer:</nobr>%1</p></translation>
+    </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4147,11 +4642,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Preview Monitor %1</translation>
+        <translation type="obsolete">Preview Monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Snapshot %1</translation>
+        <translation type="obsolete">Snapshot %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -4171,11 +4666,11 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Er zijn geen USB-apparaten gekoppeld</translation>
+        <translation type="obsolete">Er zijn geen USB-apparaten gekoppeld</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Er zijn geen ondersteunde apparaten aan de host-PC verbonden</translation>
+        <translation type="obsolete">Er zijn geen ondersteunde apparaten aan de host-PC verbonden</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4183,19 +4678,19 @@
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Er zijn geen webcams gekoppeld</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Er zijn geen ondersteunde webcams aan de host-PC verbonden</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Netwerkadapter verbinden</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Netwerkadapter %1 verbinden</translation>
     </message>
 </context>
 <context>
@@ -4214,7 +4709,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Stelt het audiostuurprogramma voor uitvoer in. Het <b>Null-audiostuurprogramma</b> zorgt dat de gast de audiokaart wel ziet, maar daar geen toegang tot zal hebben.</translation>
+        <translation type="obsolete">Stelt het audiostuurprogramma voor uitvoer in. Het <b>Null-audiostuurprogramma</b> zorgt dat de gast de audiokaart wel ziet, maar daar geen toegang tot zal hebben.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4224,6 +4719,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selecteert het type virtuele geluidskaart. Afhankelijk van deze waarde zal VirtualBox andere audiohardware aan de virtuele machine leveren.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4233,7 +4732,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4285,7 +4784,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Definieert de VRDP-authenticatiemethode.</translation>
+        <translation type="obsolete">Definieert de VRDP-authenticatiemethode.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4293,7 +4792,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Geeft de tijdslimiet voor authenticatie van de gast aan, in milliseconden.</translation>
+        <translation type="obsolete">Geeft de tijdslimiet voor authenticatie van de gast aan, in milliseconden.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4309,7 +4808,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Het VRDP-serverpoortnummer. U mag <tt>0</tt> (nul) opgeven om poort 3389 te selecteren, de standaardpoort voor RDP.</translation>
+        <translation type="obsolete">Het VRDP-serverpoortnummer. U mag <tt>0</tt> (nul) opgeven om poort 3389 te selecteren, de standaardpoort voor RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4321,11 +4820,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Bepaalt of meerdere gelijktijdige verbindingen met de VM zijn toegestaan.</translation>
+        <translation type="obsolete">Bepaalt of meerdere gelijktijdige verbindingen met de VM zijn toegestaan.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4361,7 +4860,7 @@
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Geef hier de bestandsnaam op waaronder VirtalBox de opname moet opslaan.</translation>
+        <translation type="obsolete">Geef hier de bestandsnaam op waaronder VirtalBox de opname moet opslaan.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -4369,15 +4868,15 @@
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Deze instelling bepaalt de resolutie (beeldgrootte) van de opname.</translation>
+        <translation type="obsolete">Deze instelling bepaalt de resolutie (beeldgrootte) van de opname.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Deze instelling bepaalt de <b>horizontale</b> resolutie (beeldbreedte) van de opname.</translation>
+        <translation type="obsolete">Deze instelling bepaalt de <b>horizontale</b> resolutie (beeldbreedte) van de opname.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Deze instelling bepaalt de <b>verticale</b> resolutie (beeldhoogte) van de opname.</translation>
+        <translation type="obsolete">Deze instelling bepaalt de <b>verticale</b> resolutie (beeldhoogte) van de opname.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -4385,7 +4884,7 @@
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Deze instelling bepaalt het maximale aantal <b>beelden per seconde</b>. De rest wordt overgeslagen. Deze hoeveelheid verlagen zal het aantal overgeslagen beelden verhogen en daarmee de bestandsgrootte verkleinen.</translation>
+        <translation type="obsolete">Deze instelling bepaalt het maximale aantal <b>beelden per seconde</b>. De rest wordt overgeslagen. Deze hoeveelheid verlagen zal het aantal overgeslagen beelden verhogen en daarmee de bestandsgrootte verkleinen.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -4393,11 +4892,11 @@
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Deze instelling bepaalt de <b>kwaliteit</b>. Een hogere waarde geeft een betere videokwaliteit, maar ook een groter bestand.</translation>
+        <translation type="obsolete">Deze instelling bepaalt de <b>kwaliteit</b>. Een hogere waarde geeft een betere videokwaliteit, maar ook een groter bestand.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Deze instelling bepaalt de bitrate in <b>kilobits per seconde</b>. Een hogere waarde geeft een betere videokwaliteit, maar ook een groter bestand.</translation>
+        <translation type="obsolete">Deze instelling bepaalt de bitrate in <b>kilobits per seconde</b>. Een hogere waarde geeft een betere videokwaliteit, maar ook een groter bestand.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -4409,7 +4908,7 @@
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>U hebt minder dan <b>%1</b> aan videogeheugen toegewezen; genoemde hoeveelheid is het minimum dat nodig is om de virtuele machine over te kunnen laten schakelen op schermvullende of naadloze modus.</translation>
+        <translation type="obsolete">U hebt minder dan <b>%1</b> aan videogeheugen toegewezen; genoemde hoeveelheid is het minimum dat nodig is om de virtuele machine over te kunnen laten schakelen op schermvullende of naadloze modus.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -4468,7 +4967,7 @@
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Schakel video-opname in voor scherm %1.</translation>
+        <translation type="obsolete">Schakel video-opname in voor scherm %1.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -4492,54 +4991,118 @@
     </message>
     <message>
         <source><i>About %1MB per 5 minute video</i></source>
-        <translation type="unfinished"></translation>
+        <translation><i>Ongeveer %1MB per 5 minuten video</i></translation>
     </message>
     <message>
         <source>Remote Display is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site as otherwise your VM will be started with Remote Display disabled.</source>
-        <translation type="unfinished"></translation>
+        <translation>Beeldscherm op Afstand is voor deze machine momenteel ingeschakeld. Hiervoor moet echter <i>%1</i> geïnstalleerd zijn. Installeer het Extension Pack van de downloadsite van VirtualBox, anders zal deze VM opstarten met Beeldscherm op Afstand uitgeschakeld.</translation>
     </message>
     <message>
         <source>The virtual machine is set up to use hardware graphics acceleration and the operating system hint is set to Windows Vista or later. For best performance you should set the machine's video memory to at least <b>%1</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>De virtuele machine is ingesteld om hardwarematige grafische accelleratie te gebruiken en de besturingssysteemhint staat op Windows Vista of later. Voor de beste prestaties moet u het videogeheugen van de machine op ten minste <b>%1</b> zetten.</translation>
     </message>
     <message>
         <source>&Screen</source>
-        <translation type="unfinished"></translation>
+        <translation>&Scherm</translation>
     </message>
     <message>
         <source>Scale Factor:</source>
-        <translation type="unfinished"></translation>
+        <translation>Schaalfactor:</translation>
     </message>
     <message>
         <source>Controls the guest screen scale factor.</source>
-        <translation type="unfinished"></translation>
+        <translation>Regelt de gastschermschaalfactor.</translation>
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
-        <translation type="unfinished"></translation>
+        <translation>%</translation>
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
-        <translation type="unfinished"></translation>
+        <translation>Als dit is ingesteld zal gastscherminhoud niet worden opgeschaald om hoge hostschermresoluties te compenseren.</translation>
     </message>
     <message>
         <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebruik ongeschaalde HiDPI Video Outp&ut</translation>
     </message>
     <message>
         <source>Acceleration:</source>
+        <translation>Acceleratie:</translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4547,7 +5110,7 @@
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Geeft het pad weer waar snapshots van deze virtuele machine worden opgeslagen. Wees ervan bewust dat snapshots erg veel ruimte op de harde schijf kunnen innemen.</translation>
+        <translation type="obsolete">Geeft het pad weer waar snapshots van deze virtuele machine worden opgeslagen. Wees ervan bewust dat snapshots erg veel ruimte op de harde schijf kunnen innemen.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4639,59 +5202,67 @@
     </message>
     <message>
         <source>Enc&ryption</source>
-        <translation type="unfinished"></translation>
+        <translation>Ve&rsleuteling</translation>
     </message>
     <message>
         <source>When checked, enables encryption for this virtual machine.</source>
-        <translation type="unfinished"></translation>
+        <translation>Als dit is ingesteld wordt versleuteling van deze machine ingeschakeld.</translation>
     </message>
     <message>
         <source>En&able Encryption</source>
-        <translation type="unfinished"></translation>
+        <translation>Insch&akelen versleuteling</translation>
     </message>
     <message>
         <source>Encryption C&ipher:</source>
-        <translation type="unfinished"></translation>
+        <translation>Versleutelingscoder&ing:</translation>
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Bevat de codering -cipher- die bij de versleuteling van de virtuele machineschijven is gebruikt.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Geef &nieuw wachtwoord:</translation>
     </message>
     <message>
         <source>Holds the password to be assigned to the virtual machine.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bevat het wachtwoord dat aan de virtuele machine moet worden toegewezen.</translation>
     </message>
     <message>
         <source>C&onfirm New Password:</source>
-        <translation type="unfinished"></translation>
+        <translation>Bevestig nieuw wachtw&oord:</translation>
     </message>
     <message>
         <source>Confirms the password to be assigned to the virtual machine.</source>
-        <translation type="unfinished"></translation>
+        <translation>Bevestigd het wachtwoord dat aan de virtuele machine moet worden toegewezen.</translation>
     </message>
     <message>
         <source>You are trying to encrypt this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site.</source>
-        <translation type="unfinished"></translation>
+        <translation>U probeert deze virtuele machine te versleutelen. Hiervoor moet <i>%1</i> zijn ge:installeerd. Installeer het Extention Pack van de downloadsite van VirtalBox.</translation>
     </message>
     <message>
         <source>Encryption cipher type not specified.</source>
-        <translation type="unfinished"></translation>
+        <translation>Versleutelingscoderingstype is niet gespecificeerd.</translation>
     </message>
     <message>
         <source>Encryption password empty.</source>
-        <translation type="unfinished"></translation>
+        <translation>Versleutelingswachtwoord is leeg.</translation>
     </message>
     <message>
         <source>Encryption passwords do not match.</source>
-        <translation type="unfinished"></translation>
+        <translation>Versleutelingswachtwoorden komen niet overeen.</translation>
     </message>
     <message>
         <source>Leave Unchanged</source>
         <comment>cipher type</comment>
+        <translation>Laat onveranderd</translation>
+    </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4699,7 +5270,7 @@
     <name>UIMachineSettingsInterface</name>
     <message>
         <source>Allows to modify VM menu-bar contents.</source>
-        <translation type="unfinished"></translation>
+        <translation>Biedt de mogelijkheid om de inhoud van de VM-menubalk aan te passen.</translation>
     </message>
     <message>
         <source>100%</source>
@@ -4711,26 +5282,38 @@
     </message>
     <message>
         <source>Mini ToolBar:</source>
-        <translation type="unfinished">Miniwerkbalk:</translation>
+        <translation>Miniwerkbalk:</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Als dit is ingesteld wordt de miniwerkbalk getoont in schermvullende en naadloze modi.</translation>
+        <translation type="obsolete">Als dit is ingesteld wordt de miniwerkbalk getoont in schermvullende en naadloze modi.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Toon in &Schermvullend/Naadloos</translation>
+        <translation type="obsolete">Toon in &Schermvullend/Naadloos</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Als dit is ingesteld wordt de miniwerkbalk boven in het scherm weergegeven in plaats van de standaardpositie onder aan het scherm.</translation>
+        <translation type="obsolete">Als dit is ingesteld wordt de miniwerkbalk boven in het scherm weergegeven in plaats van de standaardpositie onder aan het scherm.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
-        <translation type="unfinished">Geef &boven in het scherm weer</translation>
+        <translation>Geef &boven in het scherm weer</translation>
     </message>
     <message>
         <source>Allows to modify VM status-bar contents.</source>
+        <translation>Biedt de mogelijkheid om de inhoud van de VM-statusbalk aan te passen.</translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4771,7 +5354,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Stelt in hoe deze virtuele adapter is gekoppeld aan het werkelijke netwerk van het host-OS.</translation>
+        <translation type="obsolete">Stelt in hoe deze virtuele adapter is gekoppeld aan het werkelijke netwerk van het host-OS.</translation>
     </message>
     <message>
         <source>&Name:</source>
@@ -4787,7 +5370,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Toont of verbergt extra opties voor de netwerkadapter.</translation>
+        <translation type="obsolete">Toont of verbergt extra opties voor de netwerkadapter.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -4803,7 +5386,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Regelt of de kabel van het virtuele netwerk tijdens het opstarten van de machine is aangesloten of niet.</translation>
+        <translation type="obsolete">Regelt of de kabel van het virtuele netwerk tijdens het opstarten van de machine is aangesloten of niet.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -4811,7 +5394,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Opent een venster waarin doorverwijsregels van poorten kunnen worden beheerd.</translation>
+        <translation type="obsolete">Opent een venster waarin doorverwijsregels van poorten kunnen worden beheerd.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -4831,7 +5414,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Vul hier configuratie-instellingen in voor de netwerkkoppelingsdriver die u zal gebruiken. De instellingen moeten in de vorm zijn <b>naam=waarde</b> en zijn driver afhankelijk. Gebruik <b>shift-enter</b> voor een nieuwe toevoeging.</translation>
+        <translation type="obsolete">Vul hier configuratie-instellingen in voor de netwerkkoppelingsdriver die u zal gebruiken. De instellingen moeten in de vorm zijn <b>naam=waarde</b> en zijn driver afhankelijk. Gebruik <b>shift-enter</b> voor een nieuwe toevoeging.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -4897,6 +5480,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Toont de naam van het NAT-netwerk waaraan deze netwerkkaart zal worden verbonden. U kunt netwerken aanmaken of verwijderen bij de Algemene Netwerkinstellingen in het virtuele machine managervenster.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -4945,6 +5548,26 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Toont het basis I/O-poortadres van deze parallelle poort. Geldige waarden zijn gehele getallen in de reeks van <tt>0</tt> tot <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen IRQ opgegeven.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen I/O-poort opgegeven.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Twee of meer pooren hebben dezelfde instellingen.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen poortpad opgegeven.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Op dit moment zijn gelijke poortpaden opgegeven.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -4962,23 +5585,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Op dit moment is geen IRQ opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen IRQ opgegeven.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Op dit moment is geen I/O-poort opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen I/O-poort opgegeven.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Twee of meer pooren hebben dezelfde instellingen.</translation>
+        <translation type="obsolete">Twee of meer pooren hebben dezelfde instellingen.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Op dit moment is geen poortpad opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen poortpad opgegeven.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Op dit moment zijn gelijke poortpaden opgegeven.</translation>
+        <translation type="obsolete">Op dit moment zijn gelijke poortpaden opgegeven.</translation>
     </message>
 </context>
 <context>
@@ -4989,42 +5612,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Deze tabel bevat een lijst met doorverwijsregels voor een poort.</translation>
+        <translation type="obsolete">Deze tabel bevat een lijst met doorverwijsregels voor een poort.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Voeg een nieuwe regel toe</translation>
+        <translation type="obsolete">Toevoegen nieuwe regel</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Kopieer de geselecteerde regel</translation>
+        <translation type="obsolete">Kopieer de geselecteerde regel</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Verwijder de geselecteerde regel</translation>
+        <translation type="obsolete">Verwijder de geselecteerde regel</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Deze knop voegt een nieuwe doorverwijsregel toe.</translation>
+        <translation type="obsolete">Deze knop voegt een nieuwe doorverwijsregel toe.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Deze knop verwijdert de geselecteerde doorverwijsregel.</translation>
+        <translation type="obsolete">Deze knop verwijdert de geselecteerde doorverwijsregel.</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Voegt een nieuwe definitie van een gedeelde map toe.</translation>
+        <translation type="obsolete">Voegt een nieuwe definitie van een gedeelde map toe.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Wijzigt de definitie van een gedeelde map.</translation>
+        <translation type="obsolete">Wijzigt de definitie van een gedeelde map.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Verwijdert de definitie van een gedeelde map.</translation>
+        <translation type="obsolete">Verwijdert de definitie van een gedeelde map.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5060,15 +5683,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Toe&voegen gedeelde map</translation>
+        <translation type="obsolete">Toe&voegen gedeelde map</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Wijzigen gedeelde map</translation>
+        <translation type="obsolete">&Wijzigen gedeelde map</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Verwijderen gedeelde map</translation>
+        <translation type="obsolete">&Verwijderen gedeelde map</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5082,12 +5705,36 @@
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
     <message>
         <source>Add Share</source>
-        <translation>Gedeelde map toevoegen</translation>
+        <translation>Toevoegen gedeelde map</translation>
     </message>
     <message>
         <source>Edit Share</source>
@@ -5130,8 +5777,12 @@
         <translation>&Automatisch koppelen</translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
-        <translation>Als dit is ingesteld zal deze gedeelde map permanent worden.</translation>
+        <source>If checked, this shared folder will be permanent.</source>
+        <translation type="obsolete">Als dit is ingesteld zal deze gedeelde map permanent worden.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5172,7 +5823,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Stelt de status van deze seriële poort in. Selecteert u <b>Niet verbonden</b> dan zal het gastbesturingssysteem de seriële poort wel detecteren maar zal niet in staat zijn ermee te werken.</translation>
+        <translation type="obsolete">Stelt de status van deze seriële poort in. Selecteert u <b>Niet verbonden</b> dan zal het gastbesturingssysteem de seriële poort wel detecteren maar zal niet in staat zijn ermee te werken.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5200,20 +5851,48 @@
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Als dit is ingesteld zal de virtuele machine aannemen dat de pipe of socket gespecificeerd in het <b>Pad/Adres</b>-veld bestaat en proberenhet te gebruiken. Niet aangevinkt zal de pipe of socket door de virtuele machine tijdends het opstarten worden aangemaakt.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
-        <translation type="unfinished"></translation>
+        <translation>Verbinden met bestaande pipe/so&cket</translation>
     </message>
     <message>
         <source>&Path/Address:</source>
-        <translation type="unfinished"></translation>
+        <translation>&Pad/Adres:</translation>
     </message>
     <message>
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
+        <translation><p>In <b>Host Pipe</b>-modus: Verwijspad naar de pipe van de seriële poort op de host. Voorbeelden: "\\.\pipe\myvbox" of "/tmp/myvbox", respectievelijk voor Windows en UNIX-achtige systemen.</p><p>In <b>Host Device</b>-modus: Bevat de naam van het seriële hostapparaat. Voorbeelden: "COM1" of "/dev/ttyS0".</p><p>In <b>Raw File</b>-modus: Verwijspad op het hostsyst [...]
+    </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen IRQ opgegeven.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen I/O-poort opgegeven.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Twee of meer pooren hebben dezelfde instellingen.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Op dit moment is geen poortpad opgegeven.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Op dit moment zijn gelijke poortpaden opgegeven.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -5231,23 +5910,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Op dit moment is geen IRQ opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen IRQ opgegeven.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Op dit moment is geen I/O-poort opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen I/O-poort opgegeven.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Twee of meer pooren hebben dezelfde instellingen.</translation>
+        <translation type="obsolete">Twee of meer pooren hebben dezelfde instellingen.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Op dit moment is geen poortpad opgegeven.</translation>
+        <translation type="obsolete">Op dit moment is geen poortpad opgegeven.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Op dit moment zijn gelijke poortpaden opgegeven.</translation>
+        <translation type="obsolete">Op dit moment zijn gelijke poortpaden opgegeven.</translation>
     </message>
 </context>
 <context>
@@ -5258,11 +5937,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Item&nbsp;Uitklappen/Inklappen</nobr></translation>
+        <translation type="obsolete"><nobr>Item&nbsp;Uitklappen/Inklappen</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Voeg&nbsp;Harde&nbsp;schrijf&nbsp;toe</nobr></translation>
+        <translation type="obsolete"><nobr>Toevoegen&nbsp;harde&nbsp;schijf</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5278,35 +5957,35 @@
     </message>
     <message>
         <source>Add Controller</source>
-        <translation>Voeg controller toe</translation>
+        <translation>Toevoegen controller</translation>
     </message>
     <message>
         <source>Add IDE Controller</source>
-        <translation>Voeg IDE-controller toe</translation>
+        <translation>Toevoegen IDE-controller</translation>
     </message>
     <message>
         <source>Add SATA Controller</source>
-        <translation>Voeg SATA-controller toe</translation>
+        <translation>Toevoegen SATA-controller</translation>
     </message>
     <message>
         <source>Add SCSI Controller</source>
-        <translation>Voeg SCSI-controller toe</translation>
+        <translation>Toevoegen SCSI-controller</translation>
     </message>
     <message>
         <source>Add Floppy Controller</source>
-        <translation>Voeg diskettecontroller toe</translation>
+        <translation>Toevoegen diskettecontroller</translation>
     </message>
     <message>
         <source>Remove Controller</source>
-        <translation>Verwijder controller</translation>
+        <translation>Verwijderen controller</translation>
     </message>
     <message>
         <source>Add Attachment</source>
-        <translation>Voeg aansluiting toe</translation>
+        <translation>Toevoegen aansluiting</translation>
     </message>
     <message>
         <source>Add Hard Disk</source>
-        <translation>Voeg harde schijf toe</translation>
+        <translation>Toevoegen harde schijf</translation>
     </message>
     <message>
         <source>Add CD/DVD Device</source>
@@ -5318,23 +5997,23 @@
     </message>
     <message>
         <source>Remove Attachment</source>
-        <translation>Verwijder aansluiting</translation>
+        <translation>Verwijderen aansluiting</translation>
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Voegt een nieuwe controller toe aan einde van Opslagstructuur.</translation>
+        <translation type="obsolete">Voegt een nieuwe controller toe aan einde van Opslagstructuur.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Verwijdert de controller die geselecteerd is in Opslagstructuur.</translation>
+        <translation type="obsolete">Verwijdert de controller die geselecteerd is in Opslagstructuur.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Voegt een nieuwe aansluiting toe aan Opslagstructuur en gebruikt de geselecteerde controller als ouder (parent).</translation>
+        <translation type="obsolete">Voegt een nieuwe aansluiting toe aan Opslagstructuur en gebruikt de geselecteerde controller als ouder (parent).</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Verwijdert de aansluiting die geselecteerd is in Opslagstructuur.</translation>
+        <translation type="obsolete">Verwijdert de aansluiting die geselecteerd is in Opslagstructuur.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5363,7 +6042,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Bevat alle opslagcontrollers voor deze machine, de virtuele images en de hoststations die aangesloten zijn.</translation>
+        <translation type="obsolete">Bevat alle opslagcontrollers voor deze machine, de virtuele images en de hoststations die aangesloten zijn.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5383,7 +6062,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Wijzigt de naam van de opslagcontroller die momenteel geselecteerd is in Opslagstructuur.</translation>
+        <translation type="obsolete">Wijzigt de naam van de opslagcontroller die momenteel geselecteerd is in Opslagstructuur.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5433,7 +6112,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Staat toe host I/O-cachingsmogelijkheden te gebruiken.</translation>
+        <translation type="obsolete">Staat toe host I/O-cachingsmogelijkheden te gebruiken.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5441,7 +6120,7 @@
     </message>
     <message>
         <source>Add SAS Controller</source>
-        <translation>Voeg SAS-controller toe</translation>
+        <translation>Toevoegen SAS-controller</translation>
     </message>
     <message>
         <source>SAS Controller</source>
@@ -5457,7 +6136,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Image</translation>
+        <translation type="obsolete">Image</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5465,7 +6144,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Zet een virtuele harde schijf op</translation>
+        <translation type="obsolete">Zet een virtuele harde schijf op</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5485,19 +6164,19 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
-        <translation>Kies een virtuele diskette of een fysiek station om te gebruiken met het virtuele station. De virtuele machine zal een schijf ingebracht in het station, met de gegevens in het bestand of op de schijf in het fysieke station, beschouwen als haar inhoud.</translation>
+        <translation>Kies een virtuele diskette of een fysiek station om te gebruiken met het virtuele station. De virtuele machine zal een in het station ingebrachte diskette, met de gegevens in dat bestand of op de echte diskette in het fysieke station, als haar eigen inhoud beschouwen.</translation>
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Zet een virtuele diskette-station op</translation>
+        <translation type="obsolete">Zet een virtuele diskette-station op</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Maak een nieuwe harde schijf aan...</translation>
+        <translation type="obsolete">Maak een nieuwe harde schijf aan...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Kies een virtuele harde schijf bestand...</translation>
+        <translation type="obsolete">Kies een virtuele harde schijf bestand...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5509,11 +6188,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Kies een virtuele diskette bestand...</translation>
+        <translation type="obsolete">Kies een virtuele diskette bestand...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Als dit is ingesteld zal de virtuele disk niet worden verwijderd wanneer het gastsysteem het uitwerpt.</translation>
+        <translation type="obsolete">Als dit is ingesteld zal de virtuele disk niet worden verwijderd wanneer het gastsysteem het uitwerpt.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5521,7 +6200,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Als dit is ingesteld zal het gastsysteem de virtuele disk beschouwen als een solid-stateapparaat.</translation>
+        <translation type="obsolete">Als dit is ingesteld zal het gastsysteem de virtuele disk beschouwen als een solid-stateapparaat.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -5592,50 +6271,135 @@
     </message>
     <message>
         <source>Add USB Controller</source>
-        <translation type="unfinished"></translation>
+        <translation>Toevoegen USB-controller</translation>
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Als dit is ingesteld zal het gastsysteem de virtuele disk beschouwen als een 'hot-pluggable'-apparaat.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
-        <translation type="unfinished"></translation>
+        <translation>&Hot-pluggable</translation>
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Kies een virtuele optische schijf bestand...</translation>
+        <translation type="obsolete">Kies een virtuele optische schijfbestand...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><nobr>Toevoegen&nbsp;optisch&nbsp;station</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><nobr>Toevoegen&nbsp;diskettestation</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
-        <translation type="unfinished"></translation>
+        <translation>Toevoegen optisch station</translation>
     </message>
     <message>
         <source>Add Floppy Drive</source>
-        <translation type="unfinished"></translation>
+        <translation>Toevoegen diskettestation</translation>
     </message>
     <message>
         <source>Optical &Drive:</source>
-        <translation type="unfinished"></translation>
+        <translation>&Optisch station:</translation>
     </message>
     <message>
         <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kies een virtuele optische schijf of een fysiek station dat met het virtuele station zal worden gebruikt. De virtuele machine zal een in het station ingebrachte schijf, met de gegevens in dat bestand of op de echte schijf in het fysieke station, als haar eigen inhoud beschouwen.</translation>
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Zet een virtuele optisch-station op</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
+        <translation>Versleuteld met sleutel:</translation>
+    </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Image</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5667,12 +6431,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -5700,7 +6464,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Naar beneden (Ctrl+Down)</translation>
+        <translation type="obsolete">Naar beneden (Ctrl+Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5708,7 +6472,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Naar boven (Ctrl+Up)</translation>
+        <translation type="obsolete">Naar boven (Ctrl+Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5769,7 +6533,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU's</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU's</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -5781,7 +6545,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Als dit is ingesteld zal het RTC-apparaat de tijd in UTC-formaat rapporteren; anders in locale (host) tijd. Unix verwacht normaal gesproken dat de klok op UTC staat.</translation>
+        <translation type="obsolete">Als dit is ingesteld zal het RTC-apparaat de tijd in UTC-formaat rapporteren; anders in locale (host) tijd. Unix verwacht normaal gesproken dat de klok op UTC staat.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -5828,12 +6592,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -5889,78 +6653,104 @@
     </message>
     <message>
         <source>&Paravirtualization Interface:</source>
-        <translation type="unfinished"></translation>
+        <translation>&Paravirtualisatie-interface:</translation>
     </message>
     <message>
         <source>Selects the paravirtualization guest interface provider to be used by this virtual machine.</source>
-        <translation type="unfinished"></translation>
+        <translation>Kiest de paravirtualisatie-gastinterfaceprovider die door deze virtuele machine zal worden gebruikt.</translation>
     </message>
     <message>
         <source>The I/O APIC feature is not currently enabled in the Motherboard section of the System page. This is needed in order to support a chip set of type ICH9 you have enabled for this VM. It will be done automatically if you confirm your changes.</source>
-        <translation type="unfinished"></translation>
+        <translation>De I/O-APIC-eigenschap is momenteel niet ingeschakeld bij de sectie Moederbord op de pagina Systeem. Dit is echter nodig om een chipset van het type ICH9 te kunnen ondersteunen.Inschakelen zal automatisch plaatsvinden op het moment dat u uw keuze bevestigt.</translation>
     </message>
     <message>
         <source>USB controller emulation is not currently enabled on the USB page. This is needed to support an emulated USB input device you have enabled for this VM. It will be done automatically if you confirm your changes.</source>
-        <translation type="unfinished"></translation>
+        <translation>USB-controlleremulatie is momenteel op de USB-pagina niet ingeschakeld. Dit is echter nodig om een geëmuleerd USB-inputapparaat te kunnen ondersteunen. Inschakelen zal automatisch plaatsvinden op het moment dat u uw keuze voor een USB-inputapparaat bevestigt.</translation>
     </message>
     <message>
         <source>The I/O APIC feature is not currently enabled in the Motherboard section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
-        <translation type="unfinished"></translation>
+        <translation>De I/O-APIC-eigenschap is momenteel niet ingeschakeld bij de sectie Moederbord op de pagina Systeem. Dit is echter nodig om meer dan één virtuele processor te kunnen ondersteunen.  Inschakelen zal automatisch plaatsvinden op het moment dat u uw keuze voor meer dan één virtuele processor bevestigt.</translation>
     </message>
     <message>
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
+        <translation>Hardwarevirtualisatie is momenteel niet ingeschakeld bij de sectie Acceleratie op de pagina Systeem. Dit is echter nodig om meer dan één virtuele processor te kunnen ondersteunen. Inschakelen zal automatisch plaatsvinden op het moment dat u uw keuze voor meer dan één virtuele processor bevestigt.</translation>
+    </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Voeg een leeg filter toe</translation>
+        <translation type="obsolete">Toe&voegen leeg filter</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Filter vanuit een appartaat &toevoegen</translation>
+        <translation type="obsolete">&Toevoegen filter vanuit een appartaat </translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Wijzigen filter</translation>
+        <translation type="obsolete">&Wijzigen filter</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Verwijderen filter</translation>
+        <translation type="obsolete">&Verwijderen filter</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Verplaats filter o&mhoog</translation>
+        <translation type="obsolete">Verplaats filter o&mhoog</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Verplaats filter &naar beneden</translation>
+        <translation type="obsolete">Verplaats filter &naar beneden</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Voegt een nieuw USB-filter toe waarbij alle velden in het begin leeg zijn. Let op: een dergelijke filter zal met elk aangesloten USB-apparaat overeenkomen.</translation>
+        <translation type="obsolete">Voegt een nieuw USB-filter toe waarbij alle velden in het begin leeg zijn. Let op: een dergelijke filter zal met elk aangesloten USB-apparaat overeenkomen.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Voegt een nieuw USB-filter toe waarbij de velden de waarden van het geselecteerde USB-apparaat aangesloten op de fysieke PC overnemen.</translation>
+        <translation type="obsolete">Voegt een nieuw USB-filter toe waarbij de velden de waarden van het geselecteerde USB-apparaat aangesloten op de fysieke PC overnemen.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Wijzigt geselecteerd USB-filter.</translation>
+        <translation type="obsolete">Wijzigt geselecteerd USB-filter.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Verwijdert geselecteerd USB filter.</translation>
+        <translation type="obsolete">Verwijdert geselecteerd USB filter.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Verplaatst geselecteerd USB filter omhoog.</translation>
+        <translation type="obsolete">Verplaatst geselecteerd USB filter omhoog.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Verplaatst geselecteerd USB filter naar beneden.</translation>
+        <translation type="obsolete">Verplaatst geselecteerd USB filter naar beneden.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -5977,7 +6767,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Als dit is ingesteld zal de virtuele USB-EHCI-controller van deze machine worden ingeschakeld. De USB-EHCI-controller levert ondersteuning voor USB 2.0.</translation>
+        <translation type="obsolete">Als dit is ingesteld zal de virtuele USB-EHCI-controller van deze machine worden ingeschakeld. De USB-EHCI-controller levert ondersteuning voor USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6046,26 +6836,86 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Als dit is ingesteld zal de virtuele USB-OHCI-controller van deze machine worden ingeschakeld. De USB-OHCI-controller levert ondersteuning voor USB 1.0.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
-        <translation type="unfinished"></translation>
+        <translation>USB &1.1 (OHCI) Controller</translation>
     </message>
     <message>
         <source>USB &2.0 (EHCI) Controller</source>
-        <translation type="unfinished"></translation>
+        <translation>USB &2.0 (EHCI) Controller</translation>
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Als dit is ingesteld zal de virtuele USB-xHCI-controller van deze machine worden ingeschakeld. De USB-xHCI-controller levert ondersteuning voor USB 3.0.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
-        <translation type="unfinished"></translation>
+        <translation>USB &3.0 (xHCI) Controller</translation>
     </message>
     <message>
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation>USB 2.0/3.0 is voor deze machine momenteel ingeschakeld. Hiervoor moet echter <i>%1</i> geïnstalleerd zijn. Installeer het Extension Pack van de downloadsite van VirtualBox, anders zal deze VM opstarten met USB 2.0/3.0 uitgeschakeld.</translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6101,7 +6951,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor het ID van de leverancier. Het <i>precieze</i> formaat is<tt>XXXX</tt> waarbij <tt>X</tt> een hexadecimaal getal is. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor het ID van de leverancier. Het <i>precieze</i> formaat is<tt>XXXX</tt> waarbij <tt>X</tt> een hexadecimaal getal is. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6109,7 +6959,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor het ID van het product. Het <i>precieze</i> formaat is<tt>XXXX</tt> waarbij <tt>X</tt> een hexadecimaal getal is. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor het ID van het product. Het <i>precieze</i> formaat is<tt>XXXX</tt> waarbij <tt>X</tt> een hexadecimaal getal is. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6117,7 +6967,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor het revisienummer. Het <i>precieze</i> formaat is<tt>IIFF</</tt> waarbij <tt>I</tt> een geheel getal is en <tt>F</tt> een getal achter de komma. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor het revisienummer. Het <i>precieze</i> formaat is<tt>IIFF</</tt> waarbij <tt>I</tt> een geheel getal is en <tt>F</tt> een getal achter de komma. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6125,7 +6975,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor de fabrikant als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor de fabrikant als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6133,7 +6983,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor de productnaam als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor de productnaam als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6141,7 +6991,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor het serienummer als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor het serienummer als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6149,7 +6999,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Bepaalt het filter voor de fysieke USB-poort als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
+        <translation type="obsolete">Bepaalt het filter voor de fysieke USB-poort als een <i>exacte overeenkomst</i>. Een leeg veld zal met elke waarde overeenkomen.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6157,7 +7007,7 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Bepaalt of dit filter werkt voor USB-apparaten die lokaal gekoppeld zijn aan: de fysieke computer. (<i>Nee</i>), een VRDP computer (<i>Ja</i>) of beide (<i>Beide</i>).</translation>
+        <translation type="obsolete">Bepaalt of dit filter werkt voor USB-apparaten die lokaal gekoppeld zijn aan: de fysieke computer. (<i>Nee</i>), een VRDP computer (<i>Ja</i>) of beide (<i>Beide</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6171,6 +7021,38 @@
         <source>USB Filter Details</source>
         <translation>Details USB-filter</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6190,7 +7072,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Harde schijven</translation>
+        <translation type="obsolete">&Harde schijven</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -6210,6 +7092,10 @@
     </message>
     <message>
         <source>Removing medium...</source>
+        <translation>Verwijderen medium...</translation>
+    </message>
+    <message>
+        <source>&Hard disks</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6233,23 +7119,23 @@
     <name>UIMenuBarEditorWidget</name>
     <message>
         <source>Virtual Screen Resize</source>
-        <translation type="unfinished"></translation>
+        <translation>Herschalen virtueel scherm</translation>
     </message>
     <message>
         <source>Virtual Screen Mapping</source>
-        <translation type="unfinished"></translation>
+        <translation>Mappen virtueel scherm</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="unfinished">Sluiten</translation>
+        <translation>Sluiten</translation>
     </message>
     <message>
         <source>Switch</source>
-        <translation type="unfinished"></translation>
+        <translation>Wisselen</translation>
     </message>
     <message>
         <source>Enable Menu Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Inschakelen menubalk</translation>
     </message>
 </context>
 <context>
@@ -6614,7 +7500,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Kan het gastscherm niet laten overschakelen op schermvullend omdat de gast te weinig videogeheugen heeft.</p><p>U moet bij de configuratie de virtuele machine minimaal <b>%1</b> videogeheugen meegeven.</p><p>Klik op <b>Negeren</b> om toch op volledig beeld over te schakelen of klik op<b>Annuleren</b> om niets te doen.</p></translation>
+        <translation type="obsolete"><p>Kan het gastscherm niet laten overschakelen op schermvullend omdat de gast te weinig videogeheugen heeft.</p><p>U moet bij de configuratie de virtuele machine minimaal <b>%1</b> videogeheugen meegeven.</p><p>Klik op <b>Negeren</b> om toch op volledig beeld over te schakelen of klik op<b>Annuleren</b> om niets te doen.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -6717,7 +7603,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Wilt u de opslageenheid van harde schijf <nobr><b>%1</b></nobr> verwijderen?</p><p>Selecteert u <b>Verwijderen</b> dan wordt de opslageenheid permanent verwijderd.Deze actie <b>kan niet</b> teruggedraaid worden.<p><p>Selecteert u <b>Behouden</b> dan wordt de harde schijf alleen uit de lijst met bekende harde schijven gehaald maar de opslageendheid blijft onaangetast, waardoor [...]
+        <translation type="obsolete"><p>Wilt u de opslageenheid van harde schijf <nobr><b>%1</b></nobr> verwijderen?</p><p>Selecteert u <b>Verwijderen</b> dan wordt de opslageenheid permanent verwijderd.Deze actie <b>kan niet</b> teruggedraaid worden.<p><p>Selecteert u <b>Behouden</b> dan wordt de harde schijf alleen uit de lijst met bekende harde schijven gehaald maar de opslageendheid blijft onaan [...]
     </message>
     <message>
         <source>Delete</source>
@@ -6851,7 +7737,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Door het verwijderen van een snapshot wordt ook de informatie over de staat -opgeslagen in het snapshot- weggegooid. De schijfgegevens die VirtualBox heeft aangemaakt -en verspreid zijn over verschillende bestanden- worden met het snapshot samengevoegd in één bestand. Dit kan een langdurig proces zijn. De informatie in het snapshot kan niet worden hersteld.</p></p>Bent u er zeker van dat u het geselecteerde snapshot <b>%1</b> wilt ver [...]
+        <translation type="obsolete"><p>Door het verwijderen van een snapshot wordt ook de informatie over de staat -opgeslagen in het snapshot- weggegooid. De schijfgegevens die VirtualBox heeft aangemaakt -en verspreid zijn over verschillende bestanden- worden met het snapshot samengevoegd in één bestand. Dit kan een langdurig proces zijn. De informatie in het snapshot kan niet worden hersteld.</p></p>Bent u er zeker van dat u het geselecteerde snapshot <b>%1&lt [...]
     </message>
     <message>
         <source>Delete</source>
@@ -6943,7 +7829,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Het verwijderen van snapshot %1 kost tijdelijk meer schijfruimte. In het ergste geval zal de omvang van image %2 groeien met %3, er is echter maar %4 vrij.</p><p>Geen schijfruimte meer hebben tijdens de samenvoegoperatie kan als gevolg hebben, dat de image en de VM-configuratie corrupt raken. Dit betekent onherstelbaar verlies van de VM en haar gegevens.</p><p>U mag natuurlijk op eigen risico doorgaan met het verwijderen van het snaps [...]
+        <translation type="obsolete"><p>Het verwijderen van snapshot %1 kost tijdelijk meer schijfruimte. In het ergste geval zal de omvang van image %2 groeien met %3, er is echter maar %4 vrij.</p><p>Geen schijfruimte meer hebben tijdens de samenvoegoperatie kan als gevolg hebben, dat de image en de VM-configuratie corrupt raken. Dit betekent onherstelbaar verlies van deze VM en haar gegevens.</p><p>U mag natuurlijk op eigen risico doorgaan met het verwijd [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7116,7 +8002,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>De virtuele machine schakelt nu over op de <b>schermvullende</b> modus. U kunt ieder moment terugkeren door op <b>%1</b> te drukken. Let op: de <i>Hosttoets</i> is op dit moment <b>%2</b>.</p><p>Besef dat het hoofdmenu verborgen is bij volledig scherm. U kunt dit menu benaderen door op de <b>Hosttoets+Home</b> te drukken.</p></translation>
+        <translation type="obsolete"><p>De virtuele machine schakelt nu over op de <b>schermvullende</b> modus. U kunt ieder moment terugkeren door op <b>%1</b> te drukken. Let op: de <i>Hosttoets</i> is op dit moment <b>%2</b>.</p><p>Besef dat het hoofdmenu verborgen is bij volledig scherm. U kunt dit menu benaderen door op de <b>Hosttoets+Home</b> te drukken.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -7348,7 +8234,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>U staat op het punt een nieuwe virtuele machine zonder harde schijf aan te maken. U zult niet in staat zijn een besturingssysteem te instaleren voordat u een schijf hebt toegevoegd. Tot die tijd kunt u alleen de machine starten met gebruikmaking van een virtuele optische schijf of vanaf het netwerk.</translation>
+        <translation type="obsolete">U staat op het punt een nieuwe virtuele machine zonder harde schijf aan te maken. U zult niet in staat zijn een besturingssysteem te instaleren voordat u een schijf hebt toegevoegd. Tot die tijd kunt u alleen de machine starten met gebruikmaking van een virtuele optische schijf of vanaf het netwerk.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -7470,15 +8356,15 @@
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Weet u zeker dat u de virtuele harde schijf <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Weet u zeker dat u de virtuele harde schijf <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Weet u zeker dat u de virtuele optische schijf <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Weet u zeker dat u de virtuele optische schijf <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Weet u zeker dat u de virtuele floppydisk <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Weet u zeker dat u de virtuele floppydisk <nobr><b>%1</b></nobr> wilt losmaken?</p><p>Hierdoor wordt deze ontkoppeld van de volgende virtuele machine(s): <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -7523,28 +8409,28 @@
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Het is niet gelukt harde schijf bestand <nobr><b>%1</b></nobr> te openen.</translation>
+        <translation type="obsolete">Het is niet gelukt harde schijf bestand <nobr><b>%1</b></nobr> te openen.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
         <translatorcomment>"optische" -> de schijf is optisch, niet het bestand (dus niet: "optisch schijf bestand")</translatorcomment>
-        <translation>Het is niet gelukt optische schijf bestand <nobr><b>%1</b></nobr> te openen.</translation>
+        <translation type="obsolete">Het is niet gelukt optische schijf bestand <nobr><b>%1</b></nobr> te openen.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Het is niet gelukt floppydiskbestand <nobr><b>%1</b></nobr> te openen.</translation>
+        <translation type="obsolete">Het is niet gelukt floppydiskbestand <nobr><b>%1</b></nobr> te openen.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Het is niet gelukt harde schijf bestand <nobr><b>%2</b></nobr> te sluiten.</translation>
+        <translation type="obsolete">Het is niet gelukt harde schijf bestand <nobr><b>%2</b></nobr> te sluiten.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Het is niet gelukt optische schijf bestand <nobr><b>%2</b></nobr> te sluiten.</translation>
+        <translation type="obsolete">Het is niet gelukt optische schijf bestand <nobr><b>%2</b></nobr> te sluiten.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Het is niet gelukt floppydiskbestand <nobr><b>%2</b></nobr> te sluiten.</translation>
+        <translation type="obsolete">Het is niet gelukt floppydiskbestand <nobr><b>%2</b></nobr> te sluiten.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -7632,119 +8518,159 @@
     </message>
     <message>
         <source>Failed to attach the webcam <b>%1</b> to the virtual machine <b>%2</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt webcam <b>%1</b> te koppelen aan virtuele machine <b>%2</b>.</translation>
     </message>
     <message>
         <source>Failed to detach the webcam <b>%1</b> from the virtual machine <b>%2</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt webcam <b>%1</b> te ontkoppelen van virtuele machine <b>%2</b>.</translation>
     </message>
     <message>
         <source><p>The VirtualBox Guest Additions do not appear to be available on this virtual machine, and shared folders cannot be used without them. To use shared folders inside the virtual machine, please install the Guest Additions if they are not installed, or re-install them if they are not working correctly, by selecting <b>Insert Guest Additions CD image</b> from the <b>Devices</b> menu. If they are installed but the machine is not yet fully starte [...]
-        <translation type="unfinished"></translation>
+        <translation><p>De VirtualBox Guest Additions lijken niet beschikbaar op deze virtuele machine. Gedeelde mappen kunnen dan niet worden gebruikt. Om gedeelde mappen te kunnen gebruiken binnen de virtuele machine installeert u de Guest Additions indien deze nog niet zijn geïnstalleerd. Indien wel, moet u deze herinstalleren. Selecteer <b>Invoegen Guest Additions CD-image</b> uit het menu <b>Apparaten</b>. Zijn de Guest Additions wel goed geïnstalleerd  [...]
     </message>
     <message>
         <source>Insert</source>
         <comment>additions</comment>
-        <translation type="unfinished"></translation>
+        <translation>Invoegen</translation>
     </message>
     <message>
         <source><p>The virtual screen is currently set to a <b>%1&nbsp;bit</b> color mode. For better performance please change this to <b>%2&nbsp;bit</b>. This can usually be done from the <b>Display</b> section of the guest operating system's Control Panel or System Settings.</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Het virtuele scherm is momenteel gezet op <b>%1&nbsp;bit</b> kleurmods. <b>%2&nbsp;bit</b> geeft betere prestaties. Normaal gesproken kan dat in de <b>Scherm</b>-sectie van Controlepaneel of Systeeminstellingen van het gastbesturingssysteem.</p></translation>
     </message>
     <message>
         <source>The current port forwarding rules are not valid. Rule names should be unique.</source>
-        <translation type="unfinished"></translation>
+        <translation>De huidige regels voor het doorverwijzen van poorten zijn niet geldig. Regelnamen moeten uniek zijn.</translation>
     </message>
     <message>
         <source>The current port forwarding rules are not valid. Few rules have same host ports and conflicting IP addresses.</source>
-        <translation type="unfinished"></translation>
+        <translation>De huidige regels voor het doorverwijzen van poorten zijn niet geldig. Sommige regels hebben dezelfde hostpoorten en conflicterende IP-adressen.</translation>
     </message>
     <message>
         <source><p>Failed to create the VirtualBoxClient COM object.</p><p>The application will now terminate.</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Het is niet gelukt het VirtualBoxClient COM-object aan te maken.</p><p>Het programma wordt nu afgesloten.</p></translation>
     </message>
     <message>
         <source>Failed to set the global VirtualBox extra data for key <i>%1</i> to value <i>{%2}</i>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt de algemene VirtualBox extra data in te stellen om voor sleutel <b>%1</b> <i>{%2}</i> te valideren.</translation>
     </message>
     <message>
         <source>Failed to set the extra data for key <i>%1</i> of machine <i>%2</i> to value <i>{%3}</i>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt de extra data in te stellen om voor sleutel <b>%1</b> van machine <i>%2</i> <i>{%3}</i> te valideren.</translation>
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><p>Eén of meer virtuele harde schijven, optische bestanden of schijfimagebestanden zijn nu niet te benaderen. U kunt niet met de virtuele machines die deze media gebruiken werken, totdat dit medium of deze media weer benaderbaar zijn.</p><p>Druk op de knop <b>Controleren</b> om de Virtuele Media Manager te openen om na te gaan welk medium niet te benaderen is, of druk op de knop <b>Negeren</b> om dit bericht t [...]
     </message>
     <message>
         <source>Failed to save the settings.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt de instellingen op te slaan.</translation>
     </message>
     <message>
         <source><p>You are about to add a new optical drive to controller <b>%1</b>.</p><p>Would you like to choose a virtual optical disk to put in the drive or to leave it empty for now?</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>U staat op het punt een nieuw optisch station aan controller <b>%1</b> toe te voegen.</p><p>Wilt u een virtuele optische schijf in het station plaatsen of voorlopig leeg laten?</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to delete the optical drive?</p><p>You will not be able to insert any optical disks or ISO images or install the Guest Additions without it!</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Weet u heel zeker dat u het optische apparaat wilt verwijderen?</p><p>Het is daarna niet meer mogelijk om optische schijven of ISO-images te koppelen of de Guest Additions te installeren.</p></translation>
     </message>
     <message>
         <source>Failed to attach the optical drive (<nobr><b>%1</b></nobr>) to the slot <i>%2</i> of the machine <b>%3</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt het optisch station (<nobr><b>%1</b></nobr>) te koppelen aan het slot <i>%2</i> van machine <b>%3</b>.</translation>
     </message>
     <message>
         <source>Failed to attach the floppy drive (<nobr><b>%1</b></nobr>) to the slot <i>%2</i> of the machine <b>%3</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt het diskettestation (<nobr><b>%1</b></nobr>) te koppelen aan het slot <i>%2</i> van machine <b>%3</b>.</translation>
     </message>
     <message>
         <source>Failed to detach the optical drive (<nobr><b>%1</b></nobr>) from the slot <i>%2</i> of the machine <b>%3</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt het optisch station (<nobr><b>%1</b></nobr>) te ontkoppelen van het slot <i>%2</i> van machine <b>%3</b>.</translation>
     </message>
     <message>
         <source>Failed to detach the floppy drive (<nobr><b>%1</b></nobr>) from the slot <i>%2</i> of the machine <b>%3</b>.</source>
-        <translation type="unfinished"></translation>
+        <translation>Het is niet gelukt het diskettestation (<nobr><b>%1</b></nobr>) te ontkoppelen van het slot <i>%2</i> van machine <b>%3</b>.</translation>
     </message>
     <message>
         <source><p>Could not insert the <b>VirtualBox Guest Additions</b> disk image file into the virtual machine <b>%1</b>, as the machine has no optical drives. Please add a drive using the storage page of the virtual machine settings window.</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Kon het <b>VirtualBox Guest Additions</b>-schijfimagebestand niet in de virtuele machine <b>%1</b> doen, omdat de machine geen opotisch station heeft. Voeg een station toe via de pagina Opslag bij Instellingen van de virtuele machine.</p></translation>
     </message>
     <message>
         <source><p>The <b>VirtualBox Guest Additions</b> disk image file has been successfully downloaded from <nobr><a href="%1">%1</a></nobr> and saved locally as <nobr><b>%2</b>.</nobr></p><p>Do you wish to register this disk image file and insert it into the virtual optical drive?</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Het <b>VirtualBox Guest Additions</b>-schijfimagebestand is met succes gedownload van<nobr><a href="%1">%1</a></nobr> en lokaal opgeslagen als <nobr><b>%2</b>.</nobr></p><p>Wilt u het schijfimagebestand registreren en in het virtuele optische station doen?</p></translation>
     </message>
     <message>
         <source>Bad password or authentication failure.</source>
-        <translation type="unfinished"></translation>
+        <translation>Slecht wachtwoord of mislukte authenticatie.</translation>
     </message>
     <message>
         <source><p>A critical error has occurred while running the virtual machine and the machine execution has been stopped.</p><p>For help, please see the Community section on <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> or your support contract. Please provide the contents of the log file <tt>VBox.log</tt> and the image file <tt>VBox.png</tt>, which you can find in the <nobr><b>%1</b></nob [...]
-        <translation type="unfinished"></translation>
+        <translation><p>Een fatale fout is opgetreden terwijl de virtuele machine draaide. De machine is gestopt.</p><p>Kijk voor ondersteuning op de community sectie van <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> of raadpleeg uw eigen ondersteuningscontact. Stel alstublieft de inhoud van het logbestand <tt>VBox.log</tt> en het imagebestand <tt>VBox.png</tt> ter beschikking. Deze kunt u terugvinden in de <nob [...]
     </message>
     <message>
         <source><p>A critical error has occurred while running the virtual machine and the machine execution should be stopped.</p><p>For help, please see the Community section on <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> or your support contract. Please provide the contents of the log file <tt>VBox.log</tt>, which you can find in the virtual machine log directory, as well as a description of what you were doing when this  [...]
-        <translation type="unfinished"></translation>
+        <translation><p>Een fatale fout is opgetreden terwijl de virtuele machine draaide. De machine is gestopt.</p><p>Kijk voor ondersteuning op de community sectie van <a href=https://www.virtualbox.org>https://www.virtualbox.org</a> of raadpleeg uw eigen ondersteuningscontact. Stel alstublieft de inhoud van het logbestand <tt>VBox.log</tt> en het imagebestand <tt>VBox.png</tt> ter beschikking. Deze kunt u terugvinden in de virtuel [...]
     </message>
     <message>
         <source><p>A new version of VirtualBox has been released! Version <b>%1</b> is available at <a href="https://www.virtualbox.org/">virtualbox.org</a>.</p><p>You can download this version using the link:</p><p><a href=%2>%3</a></p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Er is een nieuwe release van VirtualBox! Versie <b>%1</b> is nu beschikbaar bij <a href="https://www.virtualbox.org/">virtualbox.org</a>.</p><p>U kunt deze versie direct downloaden via deze link:</p><p><a href=%2>%3</a></p></translation>
     </message>
     <message>
         <source>Drag and drop operation from host to guest failed.</source>
+        <translation>'Drag-and-drop'-uitvoeren van host naar gast is mislukt.</translation>
+    </message>
+    <message>
+        <source>Unable to cancel host to guest drag and drop operation.</source>
+        <translation>Kan host naar gast 'drag-and-drop'-uitvoering niet annuleren.</translation>
+    </message>
+    <message>
+        <source>Drag and drop operation from guest to host failed.</source>
+        <translation>'Drag-and-drop'-uitvoeren van gast naar host is mislukt.</translation>
+    </message>
+    <message>
+        <source>Failed to connect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <translation>Het is niet gelukt de netwerkadapterkabel voor virtuele machine <b>%1</b> in te schakelen.</translation>
+    </message>
+    <message>
+        <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <translation>Het is niet gelukt de netwerkadapterkabel voor virtuele machine <b>%1</b> uit te schakelen.</translation>
+    </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Unable to cancel host to guest drag and drop operation.</source>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and drop operation from guest to host failed.</source>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to connect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -8281,27 +9207,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Naam</translation>
+        <translation type="obsolete">Naam</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Host IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Host poort</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Gast IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Gast poort</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Naam</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocol</translation>
+        <translation type="unfinished">Protocol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Host IP</translation>
+        <translation type="unfinished">Host IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Host poort</translation>
+        <translation type="unfinished">Host poort</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Gast IP</translation>
+        <translation type="unfinished">Gast IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Gast poort</translation>
+        <translation type="unfinished">Gast poort</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -8362,7 +9343,7 @@
     </message>
     <message>
         <source><h3>Welcome to VirtualBox!</h3><p>The left part of this window is  a list of all virtual machines on your computer. The list is empty now because you haven't created any virtual machines yet.<img src=:/welcome.png align=right/></p><p>In order to create a new virtual machine, press the <b>New</b> button in the main tool bar located at the top of the window.</p><p>You can press the <b>%1</b> key to [...]
-        <translation type="unfinished"></translation>
+        <translation><h3>Welkom bij VirtualBox!</h3><p>Het linker deel van dit venster zal straks alle virtuele machines tonen die op uw computer staan. De lijst is nu leeg omdat u nog geen virtuele machines hebt aangemaakt.<img src=:/welcome.png align=right/></p><p>Om een nieuwe virtuele machine aan te maken klikt u op de knop <b>Nieuw</b> in de werkbalk linksboven in het venster.</p><p>De toets <b>%1</b> opent een  [...]
     </message>
 </context>
 <context>
@@ -8451,7 +9432,7 @@
     </message>
     <message>
         <source>Preferences</source>
-        <translation type="unfinished"></translation>
+        <translation>Voorkeuren</translation>
     </message>
 </context>
 <context>
@@ -8506,40 +9487,44 @@
     </message>
     <message>
         <source>User Interface</source>
-        <translation type="unfinished"></translation>
+        <translation>Gebruikersinterface</translation>
     </message>
     <message>
         <source>Settings</source>
-        <translation type="unfinished">Instellingen</translation>
+        <translation>Instellingen</translation>
     </message>
 </context>
 <context>
     <name>UISettingsSerializerProgress</name>
     <message>
         <source>Loading Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen laden...</translation>
     </message>
     <message>
         <source>Saving Settings...</source>
-        <translation type="unfinished"></translation>
+        <translation>Instellingen opslaan...</translation>
     </message>
 </context>
 <context>
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><nobr><b>Klik</b> om indicator te toggelen.</nobr><br><nobr><b>Drag&Drop</b> om positie van indicator te veranderen.</nobr></translation>
     </message>
 </context>
 <context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
-        <translation type="unfinished">Sluiten</translation>
+        <translation>Sluiten</translation>
     </message>
     <message>
         <source>Enable Status Bar</source>
-        <translation type="unfinished"></translation>
+        <translation>Inschakelen statusbalk</translation>
+    </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>Klik</b> om indicator te toggelen.</nobr><br><nobr><b>Drag&Drop</b> om positie van indicator te veranderen.</nobr></translation>
     </message>
 </context>
 <context>
@@ -8670,11 +9655,11 @@
     </message>
     <message>
         <source>&Continue running in the background</source>
-        <translation type="unfinished"></translation>
+        <translation>&Doorgaan op de achtergrond</translation>
     </message>
     <message>
         <source><p>Close the virtual machine windows but keep the virtual machine running.</p><p>You can use the VirtualBox Manager to return to running the virtual machine in a window.</p></source>
-        <translation type="unfinished"></translation>
+        <translation><p>Sluit de virtuele machine-vensters maar houd de virtuele machine draaiende.</p><p>U kunt de VirtualBox Manager gebruiken om de virtuele machine weer in een venster te laten draaien.</p></translation>
     </message>
 </context>
 <context>
@@ -8797,11 +9782,11 @@
     </message>
     <message>
         <source>VM Uptime</source>
-        <translation type="unfinished"></translation>
+        <translation>VM uptime</translation>
     </message>
     <message>
         <source>Drag and Drop Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Drag-and-drop modus</translation>
     </message>
 </context>
 <context>
@@ -8931,26 +9916,26 @@
     </message>
     <message>
         <source>&Expert Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>&Expertmodus</translation>
     </message>
     <message>
         <source>Switch to <nobr><b>Expert Mode</b></nobr>, a one-page dialog for experienced users.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schakel over op <nobr><b>Expertmodus</b></nobr>, een 1-pagina dialoog voor ervaren gebruikers.</translation>
     </message>
     <message>
         <source>&Guided Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Be&geleide modus</translation>
     </message>
     <message>
         <source>Switch to <nobr><b>Guided Mode</b></nobr>, a step-by-step dialog with detailed explanations.</source>
-        <translation type="unfinished"></translation>
+        <translation>Schakel over op <nobr><b>Begeleide modus</b></nobr>, een stap-voor-stap dialoog met gedetailleerde uitleg.</translation>
     </message>
 </context>
 <context>
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Kopieer Virtuele Schijf</translation>
+        <translation type="obsolete">Kopieer Virtuele Schijf</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -8958,43 +9943,43 @@
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Te kopiëren harde schijf</translation>
+        <translation type="obsolete">Te kopiëren harde schijf</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Kies een virtuele schijf om te kopiëren als u deze nog niet geselecteerd hebt. U kunt een schijf kiezen uit de lijst of door op de mappenicoon naast de lijst te klikken en daar een schijfbestand te kiezen.<p></translation>
+        <translation type="obsolete"><p>Kies een virtuele schijf om te kopiëren als u deze nog niet geselecteerd hebt. U kunt een schijf kiezen uit de lijst of door op de mappenicoon naast de lijst te klikken en daar een schijfbestand te kiezen.<p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Kies een te kopiëren virtuele harde schijf bestand...</translation>
+        <translation type="obsolete">Kies een te kopiëren virtuele harde schijf bestand...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Bestandstype harde schijf</translation>
+        <translation type="obsolete">Bestandstype harde schijf</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Kies het bestandstype dat u voor deze nieuwe virtuele schijf wilt gebruiken. Indien u niet van plan bent deze virtuele schijf met andersoortige virtualisatiesoftware te gebruiken kunt u deze instelling onveranderd laten.</translation>
+        <translation type="obsolete">Kies het bestandstype dat u voor deze nieuwe virtuele schijf wilt gebruiken. Indien u niet van plan bent deze virtuele schijf met andersoortige virtualisatiesoftware te gebruiken kunt u deze instelling onveranderd laten.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Opslag op fysieke harde schijf</translation>
+        <translation type="obsolete">Opslag op fysieke harde schijf</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Kies of het nieuwe virtuele schijf bestand naar de maximale grootte moet groeien door gebruik (dynamisch gealloceerd) of dat het op de maximale grootte moet worden aangemaakt (gefixeerde grootte).</translation>
+        <translation type="obsolete">Kies of het nieuwe virtuele schijf bestand naar de maximale grootte moet groeien door gebruik (dynamisch gealloceerd) of dat het op de maximale grootte moet worden aangemaakt (gefixeerde grootte).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Een <b>dynamisch gealloceerd</b> virtuele schijf bestand zal tijdens gebruik tot de aangegeven maximale grootte groeien en zo in het begin minder ruimte op uw fysieke harde schijf innemen.Het schijfbestand zal echter niet automatisch krimpen wanneer ruimte wordt vrijgemaakt.</p></translation>
+        <translation type="obsolete"><p>Een <b>dynamisch gealloceerd</b> virtuele schijf bestand zal tijdens gebruik tot de aangegeven maximale grootte groeien en zo in het begin minder ruimte op uw fysieke harde schijf innemen.Het schijfbestand zal echter niet automatisch krimpen wanneer ruimte wordt vrijgemaakt.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Aanmaken van een virtuele schijf bestand van <b>gefixeerde grootte</b> kan op sommige systemen langer duren, maar is vaak sneller in het gebruik.</p></translation>
+        <translation type="obsolete"><p>Aanmaken van een virtuele schijf bestand van <b>gefixeerde grootte</b> kan op sommige systemen langer duren, maar is vaak sneller in het gebruik.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>U kunt er ook voor kiezen het virtuele schijf bestand <b>te splitsen</b> in meerdere bestanden van maximaal twee gigabytes elk. Dit is hoofdzakelijk handig indien u de virtuele machine op verwijderbare USB-apparaten of op oudere systemen wilt opslaan, waarvan sommige niet kunnen omgaan met erg grote bestanden.</translation>
+        <translation type="obsolete"><p>U kunt er ook voor kiezen het virtuele schijf bestand <b>te splitsen</b> in meerdere bestanden van maximaal twee gigabytes elk. Dit is hoofdzakelijk handig indien u de virtuele machine op verwijderbare USB-apparaten of op oudere systemen wilt opslaan, waarvan sommige niet kunnen omgaan met erg grote bestanden.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -9010,19 +9995,19 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Kies een lokatie voor het nieuwe virtuele harde schijf bestand</translation>
+        <translation type="obsolete">Kies een lokatie voor het nieuwe virtuele harde schijf bestand</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Nieuw aan te maken harde schijf</translation>
+        <translation type="obsolete">Nieuw aan te maken harde schijf</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Typ de naam van de nieuwe virtuele schijf in de ruimte beneden of klik op het mapicoontje, kies een andere map en maak daar het bestand in aan.</translation>
+        <translation type="obsolete">Typ de naam van de nieuwe virtuele schijf in de ruimte beneden of klik op het mapicoontje, kies een andere map en maak daar het bestand in aan.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Kies een lokatie voor het nieuwe virtuele harde schijf bestand...</translation>
+        <translation type="obsolete">Kies een lokatie voor het nieuwe virtuele harde schijf bestand...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -9031,15 +10016,87 @@
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Te kopieren harde s&chijf</translation>
+        <translation type="obsolete">Te kopieren harde s&chijf</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Nieuw aan te maken harde schijf</translation>
+        <translation type="obsolete">&Nieuw aan te maken harde schijf</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Bestands&type harde schijf</translation>
+        <translation type="obsolete">Bestands&type harde schijf</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9082,7 +10139,7 @@
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Kies het type kloon dat u wilt aanmaken.</p><p>Indien u kiest voor <b>Volle kloon</b>, wordt er een exacte kopie (inclusief alle virtuele harde schijf bestanden) van de originele virtuele machine aangemaakt.</p><p>Indien u kiest voor <b>Gekoppelde kloon</b>, wordt er een nieuwe machine aangemaakt, maar de virtuele harde schijf bestanden zullen gebonden zijn aan de virtuele harde schijf bestanden van de originel [...]
+        <translation type="obsolete"><p>Kies het type kloon dat u wilt aanmaken.</p><p>Indien u kiest voor <b>Volle kloon</b>, wordt er een exacte kopie (inclusief alle virtuele harde schijf bestanden) van de originele virtuele machine aangemaakt.</p><p>Indien u kiest voor <b>Gekoppelde kloon</b>, wordt er een nieuwe machine aangemaakt, maar de virtuele harde schijf bestanden zullen gebonden zijn aan de virtuele harde schijf bestanden [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -9142,6 +10199,10 @@
         <source>&Linked Clone</source>
         <translation>Gekoppe&lde Kloon</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -9419,7 +10480,7 @@
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Maak een nieuwe virtuele harde schijf aan</translation>
+        <translation type="obsolete">Maak een nieuwe virtuele harde schijf aan</translation>
     </message>
     <message>
         <source>Create</source>
@@ -9427,32 +10488,32 @@
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Bestandstype harde schijf</translation>
+        <translation type="obsolete">Bestandstype harde schijf</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Kies het bestandstype dat u wilt gebruiken voor deze nieuwe virtuele schijf. Indien u niet van plan bent deze virtuele schijf met andersoortige virtualisatiesoftware te gebruiken, kunt u deze instelling onveranderd laten.</translation>
+        <translation type="obsolete">Kies het bestandstype dat u wilt gebruiken voor deze nieuwe virtuele schijf. Indien u niet van plan bent deze virtuele schijf met andersoortige virtualisatiesoftware te gebruiken, kunt u deze instelling onveranderd laten.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Opslag op fysieke harde schijf</translation>
+        <translation type="obsolete">Opslag op fysieke harde schijf</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Kies of het nieuwe virtuele schijf bestand naar de maximale grootte moet groeien door gebruik (dynamisch gealloceerd), of dat het op de maximale grootte moet worden aangemaakt (gefixeerde grootte).</translation>
+        <translation type="obsolete">Kies of het nieuwe virtuele schijf bestand naar de maximale grootte moet groeien door gebruik (dynamisch gealloceerd), of dat het op de maximale grootte moet worden aangemaakt (gefixeerde grootte).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translatorcomment>in 1 zin vertalen geeft een te lange Nederlandse zin</translatorcomment>
-        <translation><p>Een <b>dynamisch gealloceerd</b> virtuele schijf bestand zal tijdens gebruik groeien tot de aangegeven maximale grootte en zo in het begin minder ruimte op uw fysieke harde schijf innemen. Het schijfbestand zal niet automatisch krimpen wanneer er ruimte wordt vrijgemaakt.</p></translation>
+        <translation type="obsolete"><p>Een <b>dynamisch gealloceerd</b> virtuele schijf bestand zal tijdens gebruik groeien tot de aangegeven maximale grootte en zo in het begin minder ruimte op uw fysieke harde schijf innemen. Het schijfbestand zal niet automatisch krimpen wanneer er ruimte wordt vrijgemaakt.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Aanmaken van een virtuele schijf bestand van <b>gefixeerde grootte</b> kan op sommige systemen langer duren, maar is vaak sneller in het gebruik.</p></translation>
+        <translation type="obsolete"><p>Aanmaken van een virtuele schijf bestand van <b>gefixeerde grootte</b> kan op sommige systemen langer duren, maar is vaak sneller in het gebruik.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>U kunt er ook voor kiezen het virtuele schijf bestand <b>te splitsen</b> in meerdere bestanden van maximaal twee gigabytes elk. Dit is voornamelijk handig indien u de virtuele machine wilt opslaan op verwijderbare USB-apparaten of op oudere systemen, waarvan sommige niet kunnen omgaan met erg grote bestanden.</translation>
+        <translation type="obsolete"><p>U kunt er ook voor kiezen het virtuele schijf bestand <b>te splitsen</b> in meerdere bestanden van maximaal twee gigabytes elk. Dit is voornamelijk handig indien u de virtuele machine wilt opslaan op verwijderbare USB-apparaten of op oudere systemen, waarvan sommige niet kunnen omgaan met erg grote bestanden.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -9476,15 +10537,15 @@
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Typ de naam van de nieuwe virtuele schijf in de ruimte beneden; of klik op het mapicoontje, kies een andere map en maak daar het bestand in aan.</translation>
+        <translation type="obsolete">Typ de naam van de nieuwe virtuele schijf in de ruimte beneden; of klik op het mapicoontje, kies een andere map en maak daar het bestand in aan.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Kies een lokatie voor het nieuwe virtuele harde schijf bestand...</translation>
+        <translation type="obsolete">Kies een lokatie voor het nieuwe virtuele harde schijf bestand...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Kies de grootte van de virtuele harde schijf in megabytes. Deze grootte bepaalt de hoeveelheid bestandsdata die een virtuele machine uiteindelijk op deze schijf kan opslaan.</translation>
+        <translation type="obsolete">Kies de grootte van de virtuele harde schijf in megabytes. Deze grootte bepaalt de hoeveelheid bestandsdata die een virtuele machine uiteindelijk op deze schijf kan opslaan.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -9496,7 +10557,55 @@
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Bestands&type harde schijf</translation>
+        <translation type="obsolete">Bestands&type harde schijf</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9547,11 +10656,11 @@
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Harde schijf</translation>
+        <translation type="obsolete">Harde schijf</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Indien u dat wilt, kunt u een virtuele harde schijf aan de nieuwe machine toevoegen. U kunt een geheel nieuw harde schijf bestand aanmaken, of een uit de lijst selecteren, of een bestand op een andere lokatie selecteren met gehulp van de mapicoon.</p><p>Indien u een wat meer complexe opslaginstelling nodig hebt, kunt u deze stap ook overslaan en deze instellingen aanbrengen wanneer de machine eenmaal is aangemaakt.</p><p>De aanbevolen [...]
+        <translation type="obsolete"><p>Indien u dat wilt, kunt u een virtuele harde schijf aan de nieuwe machine toevoegen. U kunt een geheel nieuw harde schijf bestand aanmaken, of een uit de lijst selecteren, of een bestand op een andere lokatie selecteren met gehulp van de mapicoon.</p><p>Indien u een wat meer complexe opslaginstelling nodig hebt, kunt u deze stap ook overslaan en deze instellingen aanbrengen wanneer de machine eenmaal is aangemaakt.</p><p& [...]
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -9567,7 +10676,7 @@
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Kies een virtuele harde schijf bestand...</translation>
+        <translation type="obsolete">Kies een virtuele harde schijf bestand...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -9575,15 +10684,39 @@
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Voeg virtuele harde schijf &niet toe</translation>
+        <translation type="obsolete">Voeg virtuele harde schijf &niet toe</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>Maak nieuwe &virtuele harde schijf nu aan</translation>
+        <translation type="obsolete">Maak nieuwe &virtuele harde schijf nu aan</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Gebr&uik een bestaand virtuele harde schijf bestand</translation>
+        <translation type="obsolete">Gebr&uik een bestaand virtuele harde schijf bestand</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9640,7 +10773,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Opent een dialoog om een andere map te selecteren.</translation>
+        <translation type="obsolete">Opent een venster om een andere map te selecteren.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -9648,7 +10781,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Opent een dialoog om een ander bestand te selecteren.</translation>
+        <translation type="obsolete">Opent een venster om een ander bestand te selecteren.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -9660,14 +10793,30 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Geef hier het gewenste pad naar de map op.</translation>
+        <translation type="obsolete">Geef hier het gewenste pad naar de map op.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Geef hier het gewenste pad naar het bestand op.</translation>
+        <translation type="obsolete">Geef hier het gewenste pad naar het bestand op.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
+        <translation>Het daadwerkelijke standaardpad zal worden getoond na acceptatie van de veranderingen en het heropenen van dit venster.</translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10549,7 +11698,7 @@
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translatorcomment>RL - Definitie: "A differencing disk is a virtual hard disk you use to isolate changes to a virtual hard disk or the guest operating system by storing them in a separate file." Een techterm dus. Niet vertalen.</translatorcomment>
-        <translation type="obsolete">Aankoppelen van deze harde schijf wordt indirect uitgevoerd met gebruik van een nieuw aangemaakte differencing harde schijf.</translation>
+        <translation type="unfinished">Aankoppelen van deze harde schijf wordt indirect uitgevoerd met gebruik van een nieuw aangemaakte differencing harde schijf.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -10559,7 +11708,7 @@
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Deze basis harde schijf wordt indirect gekoppeld met gebruik van de volgende differencing harde schijf:</translation>
+        <translation type="unfinished">Deze basis harde schijf wordt indirect gekoppeld met gebruik van de volgende differencing harde schijf:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -11102,11 +12251,11 @@
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Kies een virtuele harde schijf bestand</translation>
+        <translation type="obsolete">Kies een virtuele harde schijf bestand</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Alle virtuele harde schijf bestanden (%1)</translation>
+        <translation type="obsolete">Alle virtuele harde schijf bestanden (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -11150,7 +12299,7 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Kies een lokatie voor het nieuwe virtuele harde schijf bestand</translation>
+        <translation type="obsolete">Kies een lokatie voor het nieuwe virtuele harde schijf bestand</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -11223,150 +12372,168 @@
     <message>
         <source>USB</source>
         <comment>StorageControllerType</comment>
-        <translation type="unfinished">USB</translation>
+        <translation>USB</translation>
     </message>
     <message>
         <source>USB Port %1</source>
         <comment>StorageSlot</comment>
-        <translation type="unfinished"></translation>
+        <translation>USB-poort %1</translation>
     </message>
     <message>
         <source>off</source>
         <comment>guest monitor status</comment>
-        <translation type="unfinished"></translation>
+        <translation>uit</translation>
     </message>
     <message>
         <source>Paravirtualization Interface</source>
         <comment>details report</comment>
-        <translation type="unfinished"></translation>
+        <translation>Paravirtualisatie-interface</translation>
     </message>
     <message>
         <source>None</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished">Geen</translation>
+        <translation>Geen</translation>
     </message>
     <message>
         <source>Default</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished">Standaard</translation>
+        <translation>Standaard</translation>
     </message>
     <message>
         <source>Legacy</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished"></translation>
+        <translatorcomment>Als term en begrip behouden? RL 11-05-2015</translatorcomment>
+        <translation>Legacy</translation>
     </message>
     <message>
         <source>Minimal</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished"></translation>
+        <translation>Minimaal</translation>
     </message>
     <message>
         <source>Hyper-V</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished"></translation>
+        <translation>Hyper-V</translation>
     </message>
     <message>
         <source>New dynamically allocated storage</source>
         <comment>MediumVariant</comment>
-        <translation type="unfinished"></translation>
+        <translation>Nieuwe dynamisch gealloceerde opslag</translation>
     </message>
     <message>
         <source>Active</source>
         <comment>details report (VT-x/AMD-V)</comment>
-        <translation type="unfinished">Actief</translation>
+        <translation>Actief</translation>
     </message>
     <message>
         <source>Inactive</source>
         <comment>details report (VT-x/AMD-V)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Inactief</translation>
     </message>
     <message>
         <source>Active</source>
         <comment>details report (Nested Paging)</comment>
-        <translation type="unfinished">Actief</translation>
+        <translation>Actief</translation>
     </message>
     <message>
         <source>Inactive</source>
         <comment>details report (Nested Paging)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Inactief</translation>
     </message>
     <message>
         <source>Active</source>
         <comment>details report (Unrestricted Execution)</comment>
-        <translation type="unfinished">Actief</translation>
+        <translation>Actief</translation>
     </message>
     <message>
         <source>Inactive</source>
         <comment>details report (Unrestricted Execution)</comment>
-        <translation type="unfinished"></translation>
+        <translation>Inactief</translation>
     </message>
     <message>
         <source>Taking Snapshot</source>
         <comment>MachineState</comment>
-        <translation type="unfinished"></translation>
+        <translation>Maken snapshot</translation>
     </message>
     <message>
         <source>Taking Online Snapshot</source>
         <comment>MachineState</comment>
-        <translation type="unfinished"></translation>
+        <translation>Maken online-snapshot</translation>
     </message>
     <message>
         <source>KVM</source>
         <comment>ParavirtProvider</comment>
-        <translation type="unfinished"></translation>
+        <translation>KVM</translation>
     </message>
     <message>
         <source>Optical</source>
         <comment>DeviceType</comment>
-        <translation type="unfinished"></translation>
+        <translation>Optisch</translation>
     </message>
     <message>
         <source>TCP</source>
         <comment>PortMode</comment>
-        <translation type="unfinished">TCP</translation>
+        <translation>TCP</translation>
     </message>
     <message>
         <source>OHCI</source>
         <comment>USBControllerType</comment>
-        <translation type="unfinished"></translation>
+        <translation>OHCI</translation>
     </message>
     <message>
         <source>EHCI</source>
         <comment>USBControllerType</comment>
-        <translation type="unfinished"></translation>
+        <translation>EHCI</translation>
     </message>
     <message>
         <source>xHCI</source>
         <comment>USBControllerType</comment>
-        <translation type="unfinished"></translation>
+        <translation>xHCI</translation>
     </message>
     <message>
         <source>User interface</source>
         <comment>DetailsElementType</comment>
-        <translation type="unfinished"></translation>
+        <translation>Gebruikersinterface</translation>
     </message>
     <message>
         <source>(Optical Drive)</source>
-        <translation type="unfinished"></translation>
+        <translation>(Optisch station)</translation>
     </message>
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Aankoppelen van deze harde schijf wordt indirect uitgevoerd met gebruik van een nieuw aangemaakte differencing harde schijf.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Enkele bestanden in deze keten van harde schijven zijn niet te benaderen. Gebruik de Virtuele Media Manager om deze bestanden te inspecteren.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Deze basis harde schijf is indirect gekoppeld met gebruik van deze differencing harde schijf:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
+        <translation>Versleuteld</translation>
+    </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11621,15 +12788,15 @@
     </message>
     <message>
         <source>UUID:</source>
-        <translation type="unfinished"></translation>
+        <translation>UUID:</translation>
     </message>
     <message>
         <source><i>Not&nbsp;Encrypted</i></source>
-        <translation type="unfinished"></translation>
+        <translation><i>Niet&nbsp;Versleuteld</i></translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
-        <translation type="unfinished"></translation>
+        <translation>Versleuteld met sleutel:</translation>
     </message>
 </context>
 <context>
@@ -12011,7 +13178,7 @@
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Toon details van geselecteerde snapshot</translation>
+        <translation type="obsolete">Toon details van geselecteerde snapshot</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -12027,11 +13194,11 @@
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Zet het geselecteerde snapshot van de virtuele machine terug</translation>
+        <translation type="obsolete">Zet het geselecteerde snapshot van de virtuele machine terug</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Verwijder het geselecteerde snapshot van de virtuele machine</translation>
+        <translation type="obsolete">Verwijder het geselecteerde snapshot van de virtuele machine</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -12043,7 +13210,23 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Kloon geselecteerde virtuele machine</translation>
+        <translation type="obsolete">Kloon geselecteerde virtuele machine</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12078,6 +13261,10 @@
             <numerusform>Waarschuwing: U maakt een snapshot van een draaiende machine, die %n niet te wijzigen images gekoppeld heeft. Zolang u werkt vanaf dit snapshot, zullen -om gegevensverlies te voorkomen- de niet te wijzigen images niet worden gereset.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Snapshot %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
index 2419f2c..1105f02 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pl.ts
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Skalowanie ekranu gościa przy zmianie rozmiaru okna (wymaga Dodatków Guest Additions)</translation>
+        <translation type="obsolete">Skalowanie ekranu gościa przy zmianie rozmiaru okna (wymaga Dodatków Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Wysyła sygnał wciśnięcia przycisku zasilania (ACPI) do maszyny wirtualnej</translation>
+        <translation type="obsolete">Wysyła sygnał wciśnięcia przycisku zasilania (ACPI) do maszyny wirtualnej</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -436,7 +436,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Pozwala zmieniać ustawienia kart sieciowych</translation>
+        <translation type="obsolete">Pozwala zmieniać ustawienia kart sieciowych</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -444,7 +444,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Otwiera okno ustawień współdzielonych katalogów</translation>
+        <translation type="obsolete">Otwiera okno ustawień współdzielonych katalogów</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -568,16 +568,12 @@
         <translation type="unfinished">U&stawienia...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Wyświetla pliki z logami wybranej maszyny wirtualnej</translation>
+        <translation type="obsolete">Wyświetla pliki z logami wybranej maszyny wirtualnej</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -600,10 +596,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Sprawdza czy dostępna jest nowa wersja VirtualBox</translation>
     </message>
@@ -612,10 +604,6 @@
         <translation type="unfinished">&O programie VirtualBox...</translation>
     </message>
     <message>
-        <source>Show a window with product information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Take Sn&apshot...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -624,10 +612,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Plik</translation>
@@ -664,11 +648,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Globalne ustawienia...</translation>
+        <translation type="obsolete">&Globalne ustawienia...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Wyświetla okno ustawień globalnych</translation>
+        <translation type="obsolete">Wyświetla okno ustawień globalnych</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -684,15 +668,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Tworzy nową maszynę wirtualną</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Tworzy nową maszynę wirtualną</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -711,445 +687,558 @@
         <translation type="obsolete">Przełącza do okna wybranej maszyny wirtualnej</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Odświeża stan dostępności wybranej maszyny wirtualnej</translation>
+    </message>
+    <message>
+        <source>&New...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Odświeża stan dostępności wybranej maszyny wirtualnej</translation>
+        <source>&Add...</source>
+        <translation type="unfinished">&Dodaj...</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>Discard</source>
+        <translation type="unfinished">Odrzuć</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Odrzuca zapisany stan wybranej maszyny wirtualnej</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">Z&amknij</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">Pokaż &log...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">Strona domowa &VirtualBox...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">Z&resetuj wszystkie ostrzeżenia</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Spr&awdź dostępność aktualizacji...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">&Dodaj...</translation>
+        <source>&Add Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Odrzuć</translation>
+        <source>&Shared Folders Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Odrzuca zapisany stan wybranej maszyny wirtualnej</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">Z&amknij</translation>
+        <source>&Video Capture Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">Pokaż &log...</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">Strona domowa &VirtualBox...</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">Z&resetuj wszystkie ostrzeżenia</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Spr&awdź dostępność aktualizacji...</translation>
+        <source>&VirtualBox</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Klawiatura</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>Network</source>
+        <translation type="obsolete">Sieć</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Pokaż &log...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">&Plik</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Globalne ustawienia...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Dyski twarde</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Klawiatura</translation>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Włącz</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Pogląd monitora %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Sieć</translation>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Brak podłączonych urządzeń USB do tej maszyny wirtualnej</translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>No supported devices connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Pokaż &log...</translation>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Plik</translation>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Re&fresh</source>
+        <translation type="unfinished">&Odśwież</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1158,17 +1247,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Włącz</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Włącz</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1186,6 +1270,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1239,15 +1347,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Kontroler dysków IDE</translation>
+        <translation type="obsolete">Kontroler dysków IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Kontroler dysków SATA</translation>
+        <translation type="obsolete">Kontroler dysków SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Kontroler dysków SCSI</translation>
+        <translation type="obsolete">Kontroler dysków SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1305,7 +1413,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Kontroler dysków SAS</translation>
+        <translation type="obsolete">Kontroler dysków SAS</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1315,6 +1423,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1701,16 +1825,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1823,33 +1944,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3019,18 +3113,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -3062,11 +3148,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3089,27 +3183,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Wersja</translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3164,15 +3266,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">&Automatycznie pokazuj Dock oraz pasek menu w trybie pełnoekranowym</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3215,11 +3317,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3399,15 +3501,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Dodaj sieć izolowaną</translation>
+        <translation type="obsolete">&Dodaj sieć izolowaną</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Usuń sieć izolowaną</translation>
+        <translation type="obsolete">&Usuń sieć izolowaną</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Edytuj sieć izolowaną</translation>
+        <translation type="obsolete">&Edytuj sieć izolowaną</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3479,80 +3581,116 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New Network Name</source>
+        <source>New Network Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Network CIDR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Supports DHCP</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>yes</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Supports IPv6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network CIDR</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports DHCP</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>yes</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>no</source>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports IPv6</source>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Active</source>
+        <comment>NAT network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3667,7 +3805,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Ręczna konfiguracja karty sieciowej dla sieci izolowanej.</translation>
+        <translation type="obsolete">Ręczna konfiguracja karty sieciowej dla sieci izolowanej.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3711,7 +3849,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Decyduje o tym, czy serwer DHCP będzie włączany przy starcie maszyny wirtualnej czy nie.</translation>
+        <translation type="obsolete">Decyduje o tym, czy serwer DHCP będzie włączany przy starcie maszyny wirtualnej czy nie.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3745,6 +3883,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Określa górną granicę zakresu adresów oferowanych przez sewer DHCP obsługujący sieć powiązaną z tą kartą sieci izolowanej.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3757,10 +3903,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3785,31 +3927,35 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3843,23 +3989,23 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3879,7 +4025,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Określa jak często będzie wykonywanie sprawdzanie dostępności nowych wersji. Uwaga: w celu całkowitego wyłączenia sprawdzania wystarczy wyczyścić opcję powyżej.</translation>
+        <translation type="obsolete">Określa jak często będzie wykonywanie sprawdzanie dostępności nowych wersji. Uwaga: w celu całkowitego wyłączenia sprawdzania wystarczy wyczyścić opcję powyżej.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3913,6 +4059,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Wszystkie nowe wydania oraz wydania &przedwstępne</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4327,7 +4477,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Wskaźnik aktywności wirtualnych dysków twardych:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Wskaźnik aktywności wirtualnych dysków twardych:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4413,7 +4563,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Wskazuje, czy klawiatura jest przechwycona przez goszczony system operacyjny (<img src=:/hostkey_captured_16px.png/>) czy nie (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Wskazuje, czy klawiatura jest przechwycona przez goszczony system operacyjny (<img src=:/hostkey_captured_16px.png/>) czy nie (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -4446,6 +4596,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4466,11 +4625,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Pogląd monitora %1</translation>
+        <translation type="obsolete">Pogląd monitora %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Migawka %1</translation>
+        <translation type="obsolete">Migawka %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4506,32 +4665,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Brak podłączonych urządzeń USB do tej maszyny wirtualnej</translation>
-    </message>
-    <message>
-        <source>No supported devices connected to the host PC</source>
-        <translation></translation>
+        <translation type="obsolete">Brak podłączonych urządzeń USB do tej maszyny wirtualnej</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4549,7 +4688,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Ustawia sterownik wyjścia dźwięku. Wybranie <b>Sterownika dźwięku NULL</b> sprawi, że goszczony system będzie widział kartę dźwiękową, jednakże każdy dostęp do niej zostanie zignorowany.</translation>
+        <translation type="obsolete">Ustawia sterownik wyjścia dźwięku. Wybranie <b>Sterownika dźwięku NULL</b> sprawi, że goszczony system będzie widział kartę dźwiękową, jednakże każdy dostęp do niej zostanie zignorowany.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4559,6 +4698,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Określa typ wirtualnej karty dźwiękowej. W zależności od ustawienia, VirtualBox podłączy do maszyny wirtualnej inny typ karty dźwiękowej.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4568,7 +4711,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4624,7 +4767,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Definiuje metodę uwierzytelniania VRDP.</translation>
+        <translation type="obsolete">Definiuje metodę uwierzytelniania VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4632,7 +4775,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Określa maksymalny limit czasu odpowiedzi na żądanie uwierzytelnienia gościa (w milisekundach).</translation>
+        <translation type="obsolete">Określa maksymalny limit czasu odpowiedzi na żądanie uwierzytelnienia gościa (w milisekundach).</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4648,7 +4791,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Numer portu serwera VRDP. Moża wpisać <tt>0</tt> (zero), aby użyć portu 3389 -  standardowego portu RDP.</translation>
+        <translation type="obsolete">Numer portu serwera VRDP. Moża wpisać <tt>0</tt> (zero), aby użyć portu 3389 -  standardowego portu RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4660,11 +4803,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4691,46 +4830,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4739,10 +4850,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4794,10 +4901,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Miniaturowy pasek narzędzi:</translation>
     </message>
@@ -4843,21 +4946,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4869,6 +4968,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4878,7 +5041,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Zawiera ścieżkę do katalogu, w którym będą zapisywane migawki maszyny wirtualnej. Uwaga: migawki mogą zająć sporo miejsca na dysku.</translation>
+        <translation type="obsolete">Zawiera ścieżkę do katalogu, w którym będą zapisywane migawki maszyny wirtualnej. Uwaga: migawki mogą zająć sporo miejsca na dysku.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5137,10 +5300,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5177,6 +5336,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5198,15 +5365,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Pokazywanie miniaturowego paska narzędzi w trybach pełnoekranowym i zintegrowanym.</translation>
+        <translation type="obsolete">Pokazywanie miniaturowego paska narzędzi w trybach pełnoekranowym i zintegrowanym.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Pokaż w trybie p&ełnoekranowym/zintegrowanym</translation>
+        <translation type="obsolete">Pokaż w trybie p&ełnoekranowym/zintegrowanym</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Pokazywanie miniaturowego paska narzędzi u góry ekranu, zamiast domyślnej pozycji u dołu ekranu.</translation>
+        <translation type="obsolete">Pokazywanie miniaturowego paska narzędzi u góry ekranu, zamiast domyślnej pozycji u dołu ekranu.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5216,6 +5383,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5245,7 +5424,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Decyduje o sposobie w jaki wirtualna karta sieciowa zostanie podłączona do rzeczywistej sieci w systmie operacyjnym gospodarza.</translation>
+        <translation type="obsolete">Decyduje o sposobie w jaki wirtualna karta sieciowa zostanie podłączona do rzeczywistej sieci w systmie operacyjnym gospodarza.</translation>
     </message>
     <message>
         <source>Holds the name of the internal network selected for this adapter.</source>
@@ -5265,7 +5444,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Decyduje o tym, czy kabel sieciowy dla sieci wirtualnej będzie podłączony przy starcie maszyny czy też nie.</translation>
+        <translation type="obsolete">Decyduje o tym, czy kabel sieciowy dla sieci wirtualnej będzie podłączony przy starcie maszyny czy też nie.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5377,7 +5556,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Wyświetla dodatkowe opcje karty sieciowej.</translation>
+        <translation type="obsolete">Wyświetla dodatkowe opcje karty sieciowej.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5388,10 +5567,6 @@ p, li { white-space: pre-wrap; }
         <translation>Ka&bel podłączony</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5408,10 +5583,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5463,6 +5634,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5613,70 +5804,46 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Zawiera bazowy adres I/O danego portu równoległego. Poprawne wartości to liczby szesnastkowe od <tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Wybrano powtarzający się numer portu </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Ścieżka portu nie została podana </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Wybrano powtarzającą się ścieżkę portu </translation>
-    </message>
-    <message>
-        <source>No IRQ is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No I/O port is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Two or more ports have the same settings.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No port path is currently specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>There are currently duplicate port paths specified.</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>Port Forwarding Rules</source>
+        <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This table contains a list of port forwarding rules.</source>
+        <source>No I/O port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert new rule</source>
+        <source>Two or more ports have the same settings.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy selected rule</source>
+        <source>No port path is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
+        <source>There are currently duplicate port paths specified.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Wybrano powtarzający się numer portu </translation>
+    </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Ścieżka portu nie została podana </translation>
     </message>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Wybrano powtarzającą się ścieżkę portu </translation>
+    </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
+    <message>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5696,15 +5863,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Dodaje nową definicję współdzielonego katalogu.</translation>
+        <translation type="obsolete">Dodaje nową definicję współdzielonego katalogu.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edycja wybranej definicji współdzielonego katalogu.</translation>
+        <translation type="obsolete">Edycja wybranej definicji współdzielonego katalogu.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Usuwa wybraną definicję współdzielonego katalogu.</translation>
+        <translation type="obsolete">Usuwa wybraną definicję współdzielonego katalogu.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5744,15 +5911,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Dodaj współdzielony katalog</translation>
+        <translation type="obsolete">&Dodaj współdzielony katalog</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Edytuj współdzielony katalog</translation>
+        <translation type="obsolete">&Edytuj współdzielony katalog</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Usuń współdzielony katalog</translation>
+        <translation type="obsolete">&Usuń współdzielony katalog</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5766,6 +5933,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation type="unfinished">Tak</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5814,7 +6005,7 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5863,7 +6054,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Definiuje tryb pracy danego portu szeregowego. Wybranie opcji <b>Odłączony</b> powoduje, że goszczony system operacyjny wykryje port szeregowy, ale nie będzie mógł z niego korzystać.</translation>
+        <translation type="obsolete">Definiuje tryb pracy danego portu szeregowego. Wybranie opcji <b>Odłączony</b> powoduje, że goszczony system operacyjny wykryje port szeregowy, ale nie będzie mógł z niego korzystać.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5894,10 +6085,6 @@ p, li { white-space: pre-wrap; }
         <translation>Zawiera bazowy adres I/O danego portu szeregowego. Poprawne wartości to liczby szesnastkowe od <tt>0</tt> do <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5909,20 +6096,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Wybrano powtarzający się numer portu </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Ścieżka portu nie została podana </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Wybrano powtarzającą się ścieżkę portu </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5946,6 +6126,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Wybrano powtarzający się numer portu </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Ścieżka portu nie została podana </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Wybrano powtarzającą się ścieżkę portu </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6017,11 +6212,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Rozwiń/zwiń&nbsp;element</nobr></translation>
+        <translation type="obsolete"><nobr>Rozwiń/zwiń&nbsp;element</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Dodaj&nbsp;dysk&nbsp;twardy</nobr></translation>
+        <translation type="obsolete"><nobr>Dodaj&nbsp;dysk&nbsp;twardy</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6085,19 +6280,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Dodaje nowy kontroler na końcu drzewa nośników.</translation>
+        <translation type="obsolete">Dodaje nowy kontroler na końcu drzewa nośników.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Usuwa kontroler zaznaczony w drzewie nośników.</translation>
+        <translation type="obsolete">Usuwa kontroler zaznaczony w drzewie nośników.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Dołącza urządzenie do kontrolera zaznaczonego w drzewie nośników.</translation>
+        <translation type="obsolete">Dołącza urządzenie do kontrolera zaznaczonego w drzewie nośników.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Odłącza urządzenie zaznaczone w drzewie nośników.</translation>
+        <translation type="obsolete">Odłącza urządzenie zaznaczone w drzewie nośników.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6133,7 +6328,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Zawiera kontrolery maszyny wirtualnej, oraz dołączone do nich obrazy wirtualne i napędy gospodarza.</translation>
+        <translation type="obsolete">Zawiera kontrolery maszyny wirtualnej, oraz dołączone do nich obrazy wirtualne i napędy gospodarza.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6153,7 +6348,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Pozwala zmienić nazwę kontrolera zaznaczonego w drzewie nośników.</translation>
+        <translation type="obsolete">Pozwala zmienić nazwę kontrolera zaznaczonego w drzewie nośników.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6221,7 +6416,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Pozwala używać właściwości buforowania I/O systemu gospodarza.</translation>
+        <translation type="obsolete">Pozwala używać właściwości buforowania I/O systemu gospodarza.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6252,149 +6447,182 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Napęd gospodarza</translation>
     </message>
     <message>
-        <source>Image</source>
+        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6426,12 +6654,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -6459,7 +6687,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Przenieś w dół (Ctrl-Dół)</translation>
+        <translation type="obsolete">Przenieś w dół (Ctrl-Dół)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6467,7 +6695,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Przenieś w górę (Ctrl-Góra)</translation>
+        <translation type="obsolete">Przenieś w górę (Ctrl-Góra)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6536,7 +6764,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6548,7 +6776,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Decyduje o tym, czy zegar czasu rzeczywistego (RTC) będzie ustawiony na UTC, czy będzie używał czasu lokalnego (jak u gospodarza). Typowo w systemach UNIX oczekuje się zegara sprzętowego ustawionego na UTC.</translation>
+        <translation type="obsolete">Decyduje o tym, czy zegar czasu rzeczywistego (RTC) będzie ustawiony na UTC, czy będzie używał czasu lokalnego (jak u gospodarza). Typowo w systemach UNIX oczekuje się zegara sprzętowego ustawionego na UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6587,16 +6815,6 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">włączony jest USB HID (Human Interface Device). Nie będzie to działać, chyba że włączona będzie również emulacja USB. Zostanie to wykonane automatycznie po zatwierdzeniu ustawień maszyny wirtualnej przyciskiem OK.</translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6648,56 +6866,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Dodaj &pusty filtr</translation>
+        <translation type="obsolete">Dodaj &pusty filtr</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Dodaj &filtr na podstawie urządzenia</translation>
+        <translation type="obsolete">Dodaj &filtr na podstawie urządzenia</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Edytuj filtr</translation>
+        <translation type="obsolete">&Edytuj filtr</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Usuń filtr</translation>
+        <translation type="obsolete">&Usuń filtr</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Przenieś filtr w &górę</translation>
+        <translation type="obsolete">Przenieś filtr w &górę</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Przenieś filtr w &dół</translation>
+        <translation type="obsolete">Przenieś filtr w &dół</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Dodaje nowy filtr USB ze wszystkimi polami wstępnie ustawionymi na puste. Uwaga: taki filtr zadziała dla każdego podłączonego urządzenia USB.</translation>
+        <translation type="obsolete">Dodaje nowy filtr USB ze wszystkimi polami wstępnie ustawionymi na puste. Uwaga: taki filtr zadziała dla każdego podłączonego urządzenia USB.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Dodaje nowy filtr USB ze wszystkimi polami wypełnionymi wartościami odpowiadającymi wybranemu urządzeniu podłączonemu do tego komputera.</translation>
+        <translation type="obsolete">Dodaje nowy filtr USB ze wszystkimi polami wypełnionymi wartościami odpowiadającymi wybranemu urządzeniu podłączonemu do tego komputera.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edycja wybranego filtra USB.</translation>
+        <translation type="obsolete">Edycja wybranego filtra USB.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Usuwa wybrany filtr USB.</translation>
+        <translation type="obsolete">Usuwa wybrany filtr USB.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Przenosi wybrany filtr USB w górę.</translation>
+        <translation type="obsolete">Przenosi wybrany filtr USB w górę.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Przenosi wybrany filtr USB w dół.</translation>
+        <translation type="obsolete">Przenosi wybrany filtr USB w dół.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6714,7 +6958,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Włącza wirtualny kontroler USB EHCI dla tej maszyny. Kontroler USB EHCI zapewnia obsługę standardu USB 2.0.</translation>
+        <translation type="obsolete">Włącza wirtualny kontroler USB EHCI dla tej maszyny. Kontroler USB EHCI zapewnia obsługę standardu USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6729,71 +6973,123 @@ p, li { white-space: pre-wrap; }
         <translation>Zawiera listę wszystkich filtrów USB zdefiniowanych dla tej maszyny. Przełącznik po lewej stronie każdego z filtrów włącza lub wyłącza filtr. W celu dodania lub usunięcia filtru należy użyć menu kontekstowego lub przycisków po prawej.</translation>
     </message>
     <message>
-        <source>[filter]</source>
-        <translation>[filtr]</translation>
+        <source>[filter]</source>
+        <translation>[filtr]</translation>
+    </message>
+    <message>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ID dostawcy (Vendor ID): %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ID produktu (Product ID): %2</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Wersja (Revision): %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Produkt: %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Wytwórca: %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Nr seryjny: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Stan: %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ID dostawcy (Vendor ID): %1</nobr></translation>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ID produktu (Product ID): %2</nobr></translation>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Wersja (Revision): %3</nobr></translation>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Dodaj pusty filtr</translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Produkt: %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Dodaj filtr na podstawie urządzenia</translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Wytwórca: %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Nr seryjny: %1</nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Usuń filtr</translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Przenieś filtr w górę</translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Stan: %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Przenieś filtr w dół</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6828,7 +7124,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem ID dostawcy (Vendor ID). Łańcuch <i>dokładnego dopasowania</i> powinien mieć format <tt>XXXX</tt>, gdzie <tt>X</tt> jest cyfrą szesnastkową. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem ID dostawcy (Vendor ID). Łańcuch <i>dokładnego dopasowania</i> powinien mieć format <tt>XXXX</tt>, gdzie <tt>X</tt> jest cyfrą szesnastkową. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6836,7 +7132,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem ID produktu (Product ID) (wpisany łańcuch musi <i>dokładnie odpowiadać</i> ID produktu). Filtr powinien mieć format <tt>XXXX</tt>, gdzie <tt>X</tt> jest cyfrą szesnastkową. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem ID produktu (Product ID) (wpisany łańcuch musi <i>dokładnie odpowiadać</i> ID produktu). Filtr powinien mieć format <tt>XXXX</tt>, gdzie <tt>X</tt> jest cyfrą szesnastkową. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6844,7 +7140,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem numeru wersji (Revision) (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi wersji). Filtr powinien mieć format <tt>CCDD</tt>, gdzie <tt>C</tt> jest cyfrą dziesiętną całkowitej części numeru wersji, a <tt>D</tt> jest cyfrą dziesiętną części ułamkowej. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem numeru wersji (Revision) (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi wersji). Filtr powinien mieć format <tt>CCDD</tt>, gdzie <tt>C</tt> jest cyfrą dziesiętną całkowitej części numeru wersji, a <tt>D</tt> jest cyfrą dziesiętną części ułamkowej. Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6852,7 +7148,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem nazwy producenta sprzętu (wpisany łańcuch musi <i>dokładnie odpowiadać</i> nazwie producenta). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem nazwy producenta sprzętu (wpisany łańcuch musi <i>dokładnie odpowiadać</i> nazwie producenta). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6860,7 +7156,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem nazwy produktu (wpisany łańcuch musi <i>dokładnie odpowiadać</i> nazwie produktu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem nazwy produktu (wpisany łańcuch musi <i>dokładnie odpowiadać</i> nazwie produktu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6868,7 +7164,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem numeru seryjnego urządzenia (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi seryjnemu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem numeru seryjnego urządzenia (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi seryjnemu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6876,7 +7172,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definicja filtra z użyciem numeru portu USB gospodarza (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi portu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
+        <translation type="obsolete">Definicja filtra z użyciem numeru portu USB gospodarza (wpisany łańcuch musi <i>dokładnie odpowiadać</i> numerowi portu). Puste pole sprawi, że filtr zadziała dla jakiejkolwiek wartości.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6884,7 +7180,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Decyduje o tym, czy filtr ten dotyczy urządzeń USB podłączonych: lokalnie do komputera (<i>Nie</i>), zdalnie do komputera na którym działa klient VRDP (<i>Tak</i>) lub któregokolwiek z nich (<i>Bez znaczenia</i>).</translation>
+        <translation type="obsolete">Decyduje o tym, czy filtr ten dotyczy urządzeń USB podłączonych: lokalnie do komputera (<i>Nie</i>), zdalnie do komputera na którym działa klient VRDP (<i>Tak</i>) lub któregokolwiek z nich (<i>Bez znaczenia</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6898,6 +7194,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Szczegóły filtra USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6916,10 +7244,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6935,6 +7259,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7552,7 +7880,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Nie udało się włączyć trybu pełnokranowego z powodu niewystarczającej ilości pamięci wideo.</p><p>Należy skonfigurować maszynę wirtualną tak, aby miała przynajmniej <b>%1</b> pamięci wideo.</p><p>Proszę wcisnąć <b>Ignoruj</b>, aby mimo to przełączyć do trybu pełnoekranowego lub <b>Anuluj</b>, aby anulować tę operację.</p></translation>
+        <translation type="obsolete"><p>Nie udało się włączyć trybu pełnokranowego z powodu niewystarczającej ilości pamięci wideo.</p><p>Należy skonfigurować maszynę wirtualną tak, aby miała przynajmniej <b>%1</b> pamięci wideo.</p><p>Proszę wcisnąć <b>Ignoruj</b>, aby mimo to przełączyć do trybu pełnoekranowego lub <b>Anuluj</b>, aby anulować tę operację.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7666,7 +7994,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Usunąć plik obrazu dysku twardego <nobr><b>%1</b>?</nobr></p><p>Po wybraniu <b>Wyrejestruj</b> wirtualny dysk twardy zostanie wyrejestrowany i usunięty z listy dysków, ale plik obrazu tego dysku pozostanie nienaruszony na dysku twardym tego komputera.</p><p>Po wybraniu <b>Usuń</b> plik ten zostanie usunięty z dysku twardego. <b>Uwaga:</b> usunięcie obrazu z dysku jest operacj [...]
+        <translation type="obsolete"><p>Usunąć plik obrazu dysku twardego <nobr><b>%1</b>?</nobr></p><p>Po wybraniu <b>Wyrejestruj</b> wirtualny dysk twardy zostanie wyrejestrowany i usunięty z listy dysków, ale plik obrazu tego dysku pozostanie nienaruszony na dysku twardym tego komputera.</p><p>Po wybraniu <b>Usuń</b> plik ten zostanie usunięty z dysku twardego. <b>Uwaga:</b> usunięcie obrazu z dy [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7923,7 +8251,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Usunięcie migawki spowoduje utratę zapisanych w niej informacji, zaś dane z dysków zawarte w plikach obrazów utworzonych przez VirtualBox wraz z migawką zostaną scalone do jednego pliku. Proces ten może zająć wiele czasu, a informacji zawartych w migawce nie będzie już można odzyskać.</p><p>Usunąć wybraną migawkę systemu <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Usunięcie migawki spowoduje utratę zapisanych w niej informacji, zaś dane z dysków zawarte w plikach obrazów utworzonych przez VirtualBox wraz z migawką zostaną scalone do jednego pliku. Proces ten może zająć wiele czasu, a informacji zawartych w migawce nie będzie już można odzyskać.</p><p>Usunąć wybraną migawkę systemu <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8059,7 +8387,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Usunięcie migawki %1 będzie tymczasowo wymagać więcej wolnego miejsca na dysku. W najgorszym przypadku rozmiar obrazu %2 zostanie powiększony o %3, jednakże w systemie plików dostępne jest tylko %4.</p><p>Brak miejsca na dysku w trakcie operacji scalania może zakończyć się uszkodzeniem obrazu i ustawień maszyny, czyli utratą maszyny wirtualnej oraz zawartych w niej danych.</p><p>Można kontynuować usuwanie migawki na własne ryzyko.< [...]
+        <translation type="obsolete"><p>Usunięcie migawki %1 będzie tymczasowo wymagać więcej wolnego miejsca na dysku. W najgorszym przypadku rozmiar obrazu %2 zostanie powiększony o %3, jednakże w systemie plików dostępne jest tylko %4.</p><p>Brak miejsca na dysku w trakcie operacji scalania może zakończyć się uszkodzeniem obrazu i ustawień maszyny, czyli utratą maszyny wirtualnej oraz zawartych w niej danych.</p><p>Można kontynuować usuwanie migawki na wł [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8162,10 +8490,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8359,10 +8683,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8471,18 +8791,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8522,30 +8830,6 @@ p, li { white-space: pre-wrap; }
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8665,10 +8949,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8740,6 +9020,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9653,6 +9973,13 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Nazwa</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Nazwa</translation>
     </message>
     <message>
@@ -9675,6 +10002,34 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -9905,13 +10260,6 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9921,6 +10269,10 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10466,96 +10818,96 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10598,10 +10950,6 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10657,6 +11005,10 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10920,83 +11272,83 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11047,31 +11399,31 @@ Będzie ona używana przez wszystkie moduły VirtualBox, aby móc rozróżnić t
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -12285,7 +12637,7 @@ Wersja %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Otwiera okno umożliwiające wybór innego katalogu.</translation>
+        <translation type="obsolete">Otwiera okno umożliwiające wybór innego katalogu.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12293,7 +12645,7 @@ Wersja %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Otwiera okno umożliwiające wybór innego pliku.</translation>
+        <translation type="obsolete">Otwiera okno umożliwiające wybór innego pliku.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12305,16 +12657,32 @@ Wersja %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Proszę podać żądaną ścieżkę do katalogu.</translation>
+        <translation type="obsolete">Proszę podać żądaną ścieżkę do katalogu.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Proszę podać żądaną ścieżkę do pliku.</translation>
+        <translation type="obsolete">Proszę podać żądaną ścieżkę do pliku.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13552,7 +13920,7 @@ Wersja %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Podłączenie tego dysku twardego zostanie wykonane pośrednio, z użyciem nowo utworzonego różnicowego dysku twardego.</translation>
+        <translation type="unfinished">Podłączenie tego dysku twardego zostanie wykonane pośrednio, z użyciem nowo utworzonego różnicowego dysku twardego.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -13562,7 +13930,7 @@ Wersja %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Ten bazowy dysk twardy jest podłączony pośrednio, z użyciem następujących różnicowych dysków twardych:</translation>
+        <translation type="unfinished">Ten bazowy dysk twardy jest podłączony pośrednio, z użyciem następujących różnicowych dysków twardych:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -14039,14 +14407,6 @@ Wersja %1</translation>
         <translation type="unfinished">Opis</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14087,10 +14447,6 @@ Wersja %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -14268,25 +14624,27 @@ Wersja %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15938,7 +16296,7 @@ Uwaga: funkcja ta wymaga zainstalowania Dodatków (Guest Additions).</qt><
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Pokazuje szczegóły wybranej migawki</translation>
+        <translation type="obsolete">Pokazuje szczegóły wybranej migawki</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -15958,11 +16316,11 @@ Uwaga: funkcja ta wymaga zainstalowania Dodatków (Guest Additions).</qt><
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Przywraca maszynę wirtualną do stanu z wybranej migawki</translation>
+        <translation type="obsolete">Przywraca maszynę wirtualną do stanu z wybranej migawki</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Usuwa wybraną migawkę maszyny wirtualnej</translation>
+        <translation type="obsolete">Usuwa wybraną migawkę maszyny wirtualnej</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15973,7 +16331,19 @@ Uwaga: funkcja ta wymaga zainstalowania Dodatków (Guest Additions).</qt><
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -16022,6 +16392,10 @@ Uwaga: funkcja ta wymaga zainstalowania Dodatków (Guest Additions).</qt><
             <numerusform>Ostrzeżenie: robiona jest migawka działającej maszyny wirtualnej, która ma dołączonych %n niezmiennych obrazów. Podczas pracy z tą migawką te niezmienne obrazy nie zostaną zresetowane aby zapobiec utracie danych.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Migawka %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
index 8471599..31b9c0e 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt.ts
@@ -304,7 +304,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensiona automaticamente o ecrã convidado quando a janela é redimensionada (requer as Adições de Convidado)</translation>
+        <translation type="obsolete">Redimensiona automaticamente o ecrã convidado quando a janela é redimensionada (requer as Adições de Convidado)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -396,7 +396,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envia o evento de premir o botão de energia ACPI para a máquina virtual</translation>
+        <translation type="obsolete">Envia o evento de premir o botão de energia ACPI para a máquina virtual</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -432,7 +432,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Muda as definições dos adaptadores de rede</translation>
+        <translation type="obsolete">Muda as definições dos adaptadores de rede</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -440,7 +440,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Cria ou modificas as pastas partilhadas</translation>
+        <translation type="obsolete">Cria ou modificas as pastas partilhadas</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -530,16 +530,12 @@
         <translation type="unfinished">Definiçõe&s...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Mostra os ficheiros de registo da máquina virtual seleccionada</translation>
+        <translation type="obsolete">Mostra os ficheiros de registo da máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -562,10 +558,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Procura por uma versão do VirtualBox mais recente</translation>
     </message>
@@ -575,7 +567,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Mostra um diálogo com informações do produto</translation>
+        <translation type="obsolete">Mostra um diálogo com informações do produto</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -586,10 +578,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Ficheiro</translation>
@@ -626,11 +614,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Preferências...</translation>
+        <translation type="obsolete">&Preferências...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Mostrar o diálogo de configurações globais</translation>
+        <translation type="obsolete">Mostrar o diálogo de configurações globais</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -646,15 +634,11 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Criar uma nova máquina virtual</translation>
+        <translation type="obsolete">Criar uma nova máquina virtual</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation type="unfinished">Adiciona uma máquina virtual existente</translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Adiciona uma máquina virtual existente</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -673,16 +657,12 @@
         <translation type="obsolete">Alterna para a janela da máquina virtual seleccionada</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Actualiza o estado de acessibilidade da máquina virtual seleccionada</translation>
+        <translation type="obsolete">Actualiza o estado de acessibilidade da máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation type="unfinished">Mostrar no Pesquisador</translation>
+        <translation type="obsolete">Mostrar no Pesquisador</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -690,7 +670,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation type="unfinished">Mostrar no Explorador</translation>
+        <translation type="obsolete">Mostrar no Explorador</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -698,11 +678,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation type="unfinished">Mostrar no Gestor de Ficheiros</translation>
+        <translation type="obsolete">Mostrar no Gestor de Ficheiros</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation type="unfinished">Mostra o ficheiro da Definição de Máquina Virtual no Gestor de Ficheiros</translation>
+        <translation type="obsolete">Mostra o ficheiro da Definição de Máquina Virtual no Gestor de Ficheiros</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -713,18 +693,10 @@
         <translation type="unfinished">&Adicionar...</translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -737,16 +709,12 @@
         <translation type="unfinished">Descartar</translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Discard the saved state of the selected virtual machine</source>
         <translation type="obsolete">Descartar o estado gravado máquina virtual seleccionada</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation type="unfinished">Criar Alias no Ecrã</translation>
+        <translation type="obsolete">Criar Alias no Ecrã</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -754,7 +722,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation type="unfinished">Criar Atalho no Ecrã</translation>
+        <translation type="obsolete">Criar Atalho no Ecrã</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -785,353 +753,506 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Teclado</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Rede</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Mostrar &Registo...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&File</source>
+        <translation type="unfinished">&Ficheiro</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferências...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Teclado</translation>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Rede</translation>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Mostrar &Registo...</translation>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Ficheiro</translation>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">Discos &Rígidos</translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Activar</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1140,17 +1261,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Activar</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Activar</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1167,6 +1283,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1220,15 +1359,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlador do Disco Rígido (IDE)</translation>
+        <translation type="obsolete">Controlador do Disco Rígido (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlador do Disco Rígido (SATA)</translation>
+        <translation type="obsolete">Controlador do Disco Rígido (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlador do Disco Rígido (SCSI)</translation>
+        <translation type="obsolete">Controlador do Disco Rígido (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1286,7 +1425,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Controlador do Disco Rígido (SAS)</translation>
+        <translation type="obsolete">Controlador do Disco Rígido (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1296,6 +1435,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1762,16 +1917,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1884,32 +2036,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Appliance Export Wizard</source>
@@ -2914,18 +3040,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2957,11 +3075,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2989,11 +3115,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Adicionar pacote</translation>
+        <translation type="obsolete">Adicionar pacote</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Remover pacote</translation>
+        <translation type="obsolete">Remover pacote</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3004,11 +3130,27 @@
         <translation>Ficheiros de pacote de extensão (%1)</translation>
     </message>
     <message>
-        <source>Extensions</source>
-        <translation>Extensões</translation>
+        <source>Extensions</source>
+        <translation>Extensões</translation>
+    </message>
+    <message>
+        <source>&Extension Packages</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3063,15 +3205,15 @@
         <translation type="obsolete">Desactivar &Protector de Ecrã do Hospedeiro</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3118,11 +3260,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3297,15 +3439,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Adicionar rede de apenas para o hospedeiro</translation>
+        <translation type="obsolete">&Adicionar rede de apenas para o hospedeiro</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Remover rede apenas para o hospedeiro</translation>
+        <translation type="obsolete">&Remover rede apenas para o hospedeiro</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Editar rede apenas para o hospedeiro</translation>
+        <translation type="obsolete">&Editar rede apenas para o hospedeiro</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -3437,15 +3579,51 @@
         <translation type="unfinished">Activo</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3560,7 +3738,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Use a configuração manual para o adaptador de rede apenas deste hospedeiro.</translation>
+        <translation type="obsolete">Use a configuração manual para o adaptador de rede apenas deste hospedeiro.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3604,7 +3782,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indica se o servidor DHCP está activado no arranque da máquina.</translation>
+        <translation type="obsolete">Indica se o servidor DHCP está activado no arranque da máquina.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3638,6 +3816,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Mostra o limite superior do endereço oferecido pelo servidor DHCP que serve a rede associada com este adaptador apenas do hospedeiro.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3650,10 +3836,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3678,32 +3860,40 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Abre o dialogo para gerir as regras de encaminhamento de portas (port forwarding).</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">&Encaminhamento de &Porta</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Abre o dialogo para gerir as regras de encaminhamento de portas (port forwarding).</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">&Encaminhamento de &Porta</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3736,23 +3926,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3772,7 +3962,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Específica a periodicidade com que se deve procurar por uma nova versão. Se quiser desactivar esta verificação, deixe a caixa acima vazia.</translation>
+        <translation type="obsolete">Específica a periodicidade com que se deve procurar por uma nova versão. Se quiser desactivar esta verificação, deixe a caixa acima vazia.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3806,6 +3996,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Todos os novos lançamentos e &pré-lançamentos</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4179,11 +4373,6 @@
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation></translation>
@@ -4252,7 +4441,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica se o teclado está capturado pelo sistema operativo convidado (<img src=:/hostkey_captured_16px.png/>) ou não (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica se o teclado está capturado pelo sistema operativo convidado (<img src=:/hostkey_captured_16px.png/>) ou não (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4293,6 +4482,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4308,41 +4506,17 @@
         <translation type="obsolete">VirtualBox OSE</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Captura %1</translation>
-    </message>
-    <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
+        <translation type="obsolete">Captura %1</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
+        <translation type="obsolete">Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4360,7 +4534,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controla o controlador da saída áudio. O <b>Controlador Áudio Nulo</b> permite que o convidado identifique uma placa de som, no entanto qualquer acesso será ignorado.</translation>
+        <translation type="obsolete">Controla o controlador da saída áudio. O <b>Controlador Áudio Nulo</b> permite que o convidado identifique uma placa de som, no entanto qualquer acesso será ignorado.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4370,6 +4544,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selecciona o tipo da placa de som virtual. Dependendo deste valor, o VirtualBox fornecerá um tipo de áudio diferente para a máquina virtual.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4379,7 +4557,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4431,7 +4609,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Define o método de autenticação VRDP.</translation>
+        <translation type="obsolete">Define o método de autenticação VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4439,7 +4617,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica o intervalo de tempo para a autenticação do convidado, em milisegundos.</translation>
+        <translation type="obsolete">Especifica o intervalo de tempo para a autenticação do convidado, em milisegundos.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4455,7 +4633,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>O número da porta do Servidor VRDP. Pode especificar <tt>0</tt> (zero), para seleccionar a porta 3389, a porta padrão para o RDP.</translation>
+        <translation type="obsolete">O número da porta do Servidor VRDP. Pode especificar <tt>0</tt> (zero), para seleccionar a porta 3389, a porta padrão para o RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4467,11 +4645,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Especifica se são permitidas várias conexões simultâneas para a VM.</translation>
+        <translation type="obsolete">Especifica se são permitidas várias conexões simultâneas para a VM.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4502,46 +4680,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4550,10 +4700,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4605,10 +4751,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Mini Barra de Ferramentas:</translation>
     </message>
@@ -4654,21 +4796,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4680,6 +4818,70 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4689,7 +4891,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Mostra a localização onde as capturas desta máquina virtual serão armazenadas. Note que estas capturas podem ocupar bastante espaço em disco.</translation>
+        <translation type="obsolete">Mostra a localização onde as capturas desta máquina virtual serão armazenadas. Note que estas capturas podem ocupar bastante espaço em disco.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4932,10 +5134,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4972,6 +5170,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4993,15 +5199,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Se seleccionado, mostra a Mini Barra de Ferramentas em modo Ecrã Completo ou Integrado.</translation>
+        <translation type="obsolete">Se seleccionado, mostra a Mini Barra de Ferramentas em modo Ecrã Completo ou Integrado.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Mostrar em &Ecrã Completo/Integrado</translation>
+        <translation type="obsolete">Mostrar em &Ecrã Completo/Integrado</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Se seleccionado, mostra a Mini Barra de Ferramentas no topo do ecrã, em vez da sua posição predefinida no fundo do ecrã.</translation>
+        <translation type="obsolete">Se seleccionado, mostra a Mini Barra de Ferramentas no topo do ecrã, em vez da sua posição predefinida no fundo do ecrã.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5011,6 +5217,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5044,7 +5262,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla a maneira como este adaptador virtual é ligado à rede real no sistema Hospedeiro.</translation>
+        <translation type="obsolete">Controla a maneira como este adaptador virtual é ligado à rede real no sistema Hospedeiro.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5072,7 +5290,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica se o cabo de rede virtual está ligado no arranque da máquina virtual ou não.</translation>
+        <translation type="obsolete">Indica se o cabo de rede virtual está ligado no arranque da máquina virtual ou não.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5159,7 +5377,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Mostra ou esconde as opções dos adaptadores de rede adicionais.</translation>
+        <translation type="obsolete">Mostra ou esconde as opções dos adaptadores de rede adicionais.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5171,7 +5389,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Abre o dialogo para gerir as regras de encaminhamento de portas (port forwarding).</translation>
+        <translation type="obsolete">Abre o dialogo para gerir as regras de encaminhamento de portas (port forwarding).</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5190,10 +5408,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5241,6 +5455,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5315,32 +5549,17 @@
         <source>Port &Path:</source>
         <translation>Localização da &Porta:</translation>
     </message>
-    <message>
-        <source>Holds the host parallel device name.</source>
-        <translation>Mostra o nome do dispositivo paralelo do hospedeiro.</translation>
-    </message>
-    <message>
-        <source>Holds the IRQ number of this parallel port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
-        <translation>Mostra o número IRQ desta porta paralela. Isto deve ser um número inteiro <tt>0</tt> e <tt>255</tt>. Os valores maiores que <tt>15</tt> podem apenas ser usados se a opção <b>I/O APIC</b> estiver activada para esta máquina virtual.</translation>
-    </message>
-    <message>
-        <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
-        <translation>Mostra o endereço de porta de E/S base desta porta paralela. Os valores válidos são são números inteiros no intervalo de <tt>0</tt> até <tt>0xFFFF</tt>.</translation>
-    </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Está seleccionado um número de porta duplicado</translation>
+    <message>
+        <source>Holds the host parallel device name.</source>
+        <translation>Mostra o nome do dispositivo paralelo do hospedeiro.</translation>
     </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">A localização da porta não está especificada</translation>
+        <source>Holds the IRQ number of this parallel port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
+        <translation>Mostra o número IRQ desta porta paralela. Isto deve ser um número inteiro <tt>0</tt> e <tt>255</tt>. Os valores maiores que <tt>15</tt> podem apenas ser usados se a opção <b>I/O APIC</b> estiver activada para esta máquina virtual.</translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete"> Foi introduzida uma localização de porta duplicada</translation>
+        <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
+        <translation>Mostra o endereço de porta de E/S base desta porta paralela. Os valores válidos são são números inteiros no intervalo de <tt>0</tt> até <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5364,6 +5583,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Está seleccionado um número de porta duplicado</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">A localização da porta não está especificada</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete"> Foi introduzida uma localização de porta duplicada</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5371,27 +5605,27 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Esta tabela contém uma lista de regras de encaminhamento de portas.</translation>
+        <translation type="obsolete">Esta tabela contém uma lista de regras de encaminhamento de portas.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Inserir nova regra</translation>
+        <translation type="obsolete">Inserir nova regra</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copiar regra seleccionada</translation>
+        <translation type="obsolete">Copiar regra seleccionada</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Apagar regra seleccionada</translation>
+        <translation type="obsolete">Apagar regra seleccionada</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Este botão adiciona uma nova regra de encaminhamento de portas.</translation>
+        <translation type="obsolete">Este botão adiciona uma nova regra de encaminhamento de portas.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Este botão apaga a regra de encaminhamento de portas seleccionada.</translation>
+        <translation type="obsolete">Este botão apaga a regra de encaminhamento de portas seleccionada.</translation>
     </message>
 </context>
 <context>
@@ -5410,15 +5644,15 @@
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Adiciona uma nova definição de pasta partilhada.</translation>
+        <translation type="obsolete">Adiciona uma nova definição de pasta partilhada.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita a definição da pasta partilhada seleccionada.</translation>
+        <translation type="obsolete">Edita a definição da pasta partilhada seleccionada.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Remove a definição da pasta partilhada seleccionada.</translation>
+        <translation type="obsolete">Remove a definição da pasta partilhada seleccionada.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5454,15 +5688,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Adicionar Pasta PArtilhada</translation>
+        <translation type="obsolete">&Adicionar Pasta PArtilhada</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Editar Pasta Partilhada</translation>
+        <translation type="obsolete">&Editar Pasta Partilhada</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Remover Pasta Partilhada</translation>
+        <translation type="obsolete">&Remover Pasta Partilhada</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5476,6 +5710,30 @@
         <source>Yes</source>
         <translation>Sim</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5525,7 +5783,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Se seleccionado, esta pasta partilhada será permanente.</translation>
+        <translation type="obsolete">Se seleccionado, esta pasta partilhada será permanente.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5573,7 +5835,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla o modo de funcionamento desta porta série. Se seleccionar <b>Desconectado</b>, o sistema operativo Convidado irá detectar a porta série mas não a conseguirá usar.</translation>
+        <translation type="obsolete">Controla o modo de funcionamento desta porta série. Se seleccionar <b>Desconectado</b>, o sistema operativo Convidado irá detectar a porta série mas não a conseguirá usar.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5604,10 +5866,6 @@
         <translation>Mostra o endereço da porta de E/S base desta porta em série. Os valores válidos são n+umeros inteiros no intervalo de <tt>0</tt> até <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5619,20 +5877,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Está seleccionado um número de porta duplicado</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">A localização da porta não está especificada</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete"> Foi introduzida uma localização de porta duplicada</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5656,6 +5907,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Está seleccionado um número de porta duplicado</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">A localização da porta não está especificada</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete"> Foi introduzida uma localização de porta duplicada</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5711,11 +5977,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Expandir/Colapsar&nbsp;Item</nobr></translation>
+        <translation type="obsolete"><nobr>Expandir/Colapsar&nbsp;Item</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Adicionar&nbsp;Disco&nbsp;Rígido</nobr></translation>
+        <translation type="obsolete"><nobr>Adicionar&nbsp;Disco&nbsp;Rígido</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5771,19 +6037,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Adiciona um novo controlador ao fim da Árvoe de Armazenamento.</translation>
+        <translation type="obsolete">Adiciona um novo controlador ao fim da Árvoe de Armazenamento.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Remove o controlador destacado na Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Remove o controlador destacado na Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Adiciona uma nova ligação à Árvore de Armazenamento usando o controlador seleccionado actual como principal.</translation>
+        <translation type="obsolete">Adiciona uma nova ligação à Árvore de Armazenamento usando o controlador seleccionado actual como principal.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Remove a ligação destacada na Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Remove a ligação destacada na Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5811,7 +6077,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Contém todos os controladores de armazenamento para esta máquina e as imagens virtuais e dispositivos de hospedeito ligados a estes.</translation>
+        <translation type="obsolete">Contém todos os controladores de armazenamento para esta máquina e as imagens virtuais e dispositivos de hospedeito ligados a estes.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5831,7 +6097,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Muda o nome do controladores de armazenamento actualmente seleccionado na Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Muda o nome do controladores de armazenamento actualmente seleccionado na Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5879,7 +6145,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permite usar as capacidades de caixa de E/S do hospedeiro.</translation>
+        <translation type="obsolete">Permite usar as capacidades de caixa de E/S do hospedeiro.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5903,7 +6169,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Imagem</translation>
+        <translation type="obsolete">Imagem</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5911,7 +6177,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Definir o disco rígido virtual</translation>
+        <translation type="obsolete">Definir o disco rígido virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5935,15 +6201,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Definir o dispositivo de disquete virtual</translation>
+        <translation type="obsolete">Definir o dispositivo de disquete virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Criar um novo disco rígido...</translation>
+        <translation type="obsolete">Criar um novo disco rígido...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Escolher um ficheiro de disco rígido virtual...</translation>
+        <translation type="obsolete">Escolher um ficheiro de disco rígido virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5955,21 +6221,13 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Escolher um ficheiro de disquete virtual...</translation>
-    </message>
-    <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Escolher um ficheiro de disquete virtual...</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6024,47 +6282,112 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imagem</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6072,12 +6395,12 @@
     <name>UIMachineSettingsSystem</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -6105,7 +6428,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mover para Baixo (Ctrl-Seta para Baixo)</translation>
+        <translation type="obsolete">Mover para Baixo (Ctrl-Seta para Baixo)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6113,7 +6436,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mover para Cima (Ctrl-Seta para Cima)</translation>
+        <translation type="obsolete">Mover para Cima (Ctrl-Seta para Cima)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6176,11 +6499,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPUs</qt></source>
-        <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6189,10 +6507,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6221,16 +6535,6 @@
         <translation type="obsolete">activou um HID (Human Interface Device) USB. Isto não funcionará a não ser que a emulação USB esteja também activada. Isto será feito automaticamente quando aceitar as definições MV ao premir o butão OK.</translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6282,56 +6586,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Adicionar Filtro Vazio</translation>
+        <translation type="obsolete">&Adicionar Filtro Vazio</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>A&dicionar Filtro a Partir de um Dispositivo</translation>
+        <translation type="obsolete">A&dicionar Filtro a Partir de um Dispositivo</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Editar Filtro</translation>
+        <translation type="obsolete">&Editar Filtro</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Remover Filtro</translation>
+        <translation type="obsolete">&Remover Filtro</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mover Filtro Para Cima</translation>
+        <translation type="obsolete">&Mover Filtro Para Cima</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&over Filtro Para Baixo</translation>
+        <translation type="obsolete">M&over Filtro Para Baixo</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Adiciona um filtro USB com todos os campos inicialmente definidos para vazios. Note que tal filtro corresponderá a qualquer dispositivo USB ligado.</translation>
+        <translation type="obsolete">Adiciona um filtro USB com todos os campos inicialmente definidos para vazios. Note que tal filtro corresponderá a qualquer dispositivo USB ligado.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Adiciona um filtro USB com todos os campos definidos para os valores do dispositivo USB seleccionado ligado ao PC hospedeiro.</translation>
+        <translation type="obsolete">Adiciona um filtro USB com todos os campos definidos para os valores do dispositivo USB seleccionado ligado ao PC hospedeiro.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Editar o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Editar o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Remover o filtro USB seleccionado.</translation>
+        <translation type="obsolete">Remover o filtro USB seleccionado.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Mover o filtro USB seleccionado para cima.</translation>
+        <translation type="obsolete">Mover o filtro USB seleccionado para cima.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Move o filtro USB seleccionado para baixo.</translation>
+        <translation type="obsolete">Move o filtro USB seleccionado para baixo.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6348,7 +6678,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Quando seleccionado, activar o controlador USB EHCI virtual desta máquina. O controlador USB EHCI fornece o suporte USB 2.0.</translation>
+        <translation type="obsolete">Quando seleccionado, activar o controlador USB EHCI virtual desta máquina. O controlador USB EHCI fornece o suporte USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6411,27 +6741,79 @@
         <translation type="obsolete">O USB 2.0 está actualmente activado para esta máquina virtual. No entanto isto requer que o <b>%1</b> seja instalado. Por favor instale o Pacote de Extensão do sítio de transferências do VirtualBox. Depois poderá re-activar o USB 2.0. Será desactivado entretanto a não ser que cancele as alterações das definições actuais.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Adicionar Filtro Vazio</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Adicionar Filtro Do Dispositivo</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Mover Filtro Para Cima</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Mover Filtro Para Baixo</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6465,72 +6847,72 @@
         <translation>&ID do Fabricante:</translation>
     </message>
     <message>
-        <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Product ID:</source>
         <translation>ID do &Produto:</translation>
     </message>
     <message>
-        <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation type="unfinished"></translation>
+        <source>&Revision:</source>
+        <translation>&Revisão:</translation>
+    </message>
+    <message>
+        <source>&Manufacturer:</source>
+        <translation>&Fabricante:</translation>
+    </message>
+    <message>
+        <source>Pro&duct:</source>
+        <translation>Pro&duto:</translation>
     </message>
     <message>
-        <source>&Revision:</source>
-        <translation>&Revisão:</translation>
+        <source>&Serial No.:</source>
+        <translation>Número de &Série:</translation>
     </message>
     <message>
-        <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation type="unfinished"></translation>
+        <source>Por&t:</source>
+        <translation>Por&ta:</translation>
     </message>
     <message>
-        <source>&Manufacturer:</source>
-        <translation>&Fabricante:</translation>
+        <source>R&emote:</source>
+        <translation>R&emoto:</translation>
     </message>
     <message>
-        <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation type="unfinished"></translation>
+        <source>&Action:</source>
+        <translation type="obsolete">&Acção:</translation>
     </message>
     <message>
-        <source>Pro&duct:</source>
-        <translation>Pro&duto:</translation>
+        <source>USB Filter Details</source>
+        <translation>Detalhes do filtro USB</translation>
     </message>
     <message>
-        <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Serial No.:</source>
-        <translation>Número de &Série:</translation>
-    </message>
-    <message>
-        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
-        <translation>Por&ta:</translation>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>R&emoto:</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">&Acção:</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Detalhes do filtro USB</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6550,10 +6932,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6569,6 +6947,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7185,10 +7567,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>You are already running the most recent version of VirtualBox.</source>
         <translation>Já está a correr a versão mais recente do VirtualBox.</translation>
     </message>
@@ -7299,10 +7677,6 @@
         <translation><p>A unidade de armazenamento do disco rígido localizada em <b>%1</b> já existe. Não é possível criar um novo disco rígido virtrual nessa localização porque já lá existe um.</p><p>Por favor especifique uma localização diferente.</p></translation>
     </message>
     <message>
-        <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation>Apagar</translation>
@@ -7455,10 +7829,6 @@
         <translation>Restarar</translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation>Apagar</translation>
     </message>
@@ -7533,10 +7903,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7629,10 +7995,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7830,10 +8192,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7942,18 +8300,6 @@
         <translation type="unfinished">Es&colher disco</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7993,30 +8339,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8135,10 +8457,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8210,6 +8528,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9039,27 +9397,82 @@ diálogo de Configurações da MV.</p></translation>
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nome</translation>
+        <translation type="obsolete">Nome</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocolo</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP do Hospedeiro</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Porta do Hospedeiro</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP do Convidado</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Porta do Convidado</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nome</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocolo</translation>
+        <translation type="unfinished">Protocolo</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP do Hospedeiro</translation>
+        <translation type="unfinished">IP do Hospedeiro</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Porta do Hospedeiro</translation>
+        <translation type="unfinished">Porta do Hospedeiro</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP do Convidado</translation>
+        <translation type="unfinished">IP do Convidado</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Porta do Convidado</translation>
+        <translation type="unfinished">Porta do Convidado</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9307,13 +9720,6 @@ diálogo de Configurações da MV.</p></translation>
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9323,6 +9729,10 @@ diálogo de Configurações da MV.</p></translation>
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9881,96 +10291,96 @@ diálogo de Configurações da MV.</p></translation>
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10013,10 +10423,6 @@ diálogo de Configurações da MV.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10072,6 +10478,10 @@ diálogo de Configurações da MV.</p></translation>
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10335,83 +10745,83 @@ diálogo de Configurações da MV.</p></translation>
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10462,31 +10872,31 @@ diálogo de Configurações da MV.</p></translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11545,7 +11955,7 @@ Versão %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Abre um diálogo para seleccionar uma pasta diferente.</translation>
+        <translation type="obsolete">Abre um diálogo para seleccionar uma pasta diferente.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11553,7 +11963,7 @@ Versão %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Abre um diálogo para seleccionar um ficheiro diferente.</translation>
+        <translation type="obsolete">Abre um diálogo para seleccionar um ficheiro diferente.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11565,16 +11975,32 @@ Versão %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Por favor introduza a localização da pasta aqui.</translation>
+        <translation type="obsolete">Por favor introduza a localização da pasta aqui.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Por favor introduza a localização do ficheiro aqui.</translation>
+        <translation type="obsolete">Por favor introduza a localização do ficheiro aqui.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12767,7 +13193,7 @@ Versão %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">A ligação deste disco será executada indirectamente usando um disco rígido de diferenciação recém criado.</translation>
+        <translation type="unfinished">A ligação deste disco será executada indirectamente usando um disco rígido de diferenciação recém criado.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12777,7 +13203,7 @@ Versão %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Este disco rígido base está ligado indirectamente usando o seguinte disco rígido de diferenciação:</translation>
+        <translation type="unfinished">Este disco rígido base está ligado indirectamente usando o seguinte disco rígido de diferenciação:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13295,14 +13721,6 @@ Versão %1</translation>
         <translation type="unfinished">Descrição</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13343,10 +13761,6 @@ Versão %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Enabled</source>
         <comment>details report (Unrestricted Execution)</comment>
         <translation type="obsolete">Activado</translation>
@@ -13544,25 +13958,27 @@ Versão %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15382,7 +15798,7 @@ para a aceder de um SO Linux. Este recurso requer a instalação das Adições d
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostra os detalhes da captura seleccionada</translation>
+        <translation type="obsolete">Mostra os detalhes da captura seleccionada</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -15402,11 +15818,11 @@ para a aceder de um SO Linux. Este recurso requer a instalação das Adições d
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaura a captura seleccionada da máquina virtual</translation>
+        <translation type="obsolete">Restaura a captura seleccionada da máquina virtual</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Apaga a captura seleccionada da máquina virtual</translation>
+        <translation type="obsolete">Apaga a captura seleccionada da máquina virtual</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15417,7 +15833,19 @@ para a aceder de um SO Linux. Este recurso requer a instalação das Adições d
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -15473,6 +15901,10 @@ para a aceder de um SO Linux. Este recurso requer a instalação das Adições d
             <numerusform>Aviso: Está prestes a criar uma captura de uma máquina a correr que tem %n imagens imutáveis anexadas ligadas a ela. Desde que continue a trabalhar a partir desta captura as imagens imutáveis não serão restauradas para evitar a perda de dados.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Captura %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
index 58c381e..52eb87f 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts
@@ -308,7 +308,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Automaticamente redimensionar a tela do sistema convidado quando a janela for redimensionada (requer instalação dos Adicionais Para Convidado)</translation>
+        <translation type="obsolete">Automaticamente redimensionar a tela do sistema convidado quando a janela for redimensionada (requer instalação dos Adicionais Para Convidado)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Envia o evento de pressionamento de botão de energia ACPI para a máquina virtual</translation>
+        <translation type="obsolete">Envia o evento de pressionamento de botão de energia ACPI para a máquina virtual</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -436,7 +436,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Alterar as configurações dos adaptadores de rede</translation>
+        <translation type="obsolete">Alterar as configurações dos adaptadores de rede</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -444,7 +444,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Abre o diálogo de pastas compartilhadas</translation>
+        <translation type="obsolete">Abre o diálogo de pastas compartilhadas</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -593,7 +593,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Gerencia as configurações de máquina virtual</translation>
+        <translation type="obsolete">Gerencia as configurações de máquina virtual</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -636,11 +636,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Preferências...</translation>
+        <translation type="obsolete">&Preferências...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Exibe o diálogo de configurações globais</translation>
+        <translation type="obsolete">Exibe o diálogo de configurações globais</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -656,7 +656,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Criar uma nova máquina virtual</translation>
+        <translation type="obsolete">Criar uma nova máquina virtual</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -664,7 +664,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Acrescentar uma máquina virtual existente</translation>
+        <translation type="obsolete">Acrescentar uma máquina virtual existente</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -672,7 +672,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona a máquina virtual selecionada</translation>
+        <translation type="obsolete">Clona a máquina virtual selecionada</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -712,11 +712,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">Atualizar (&F)</translation>
+        <translation type="unfinished">Atualizar (&F)</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Atualizar o estado de acessibilidade da máquina virtual selecionada</translation>
+        <translation type="obsolete">Atualizar o estado de acessibilidade da máquina virtual selecionada</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -724,11 +724,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Exibe os arquivos de log para a máquina virtual selecionada</translation>
+        <translation type="obsolete">Exibe os arquivos de log para a máquina virtual selecionada</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Exibir no Finder</translation>
+        <translation type="obsolete">Exibir no Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -736,7 +736,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Exibir no Explorer</translation>
+        <translation type="obsolete">Exibir no Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -744,15 +744,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Exibir no Gerenciador de Arquivos</translation>
+        <translation type="obsolete">Exibir no Gerenciador de Arquivos</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Exibe o arquivo de definição da máquina do VirtualBox no Gerenciador de Arquivos</translation>
+        <translation type="obsolete">Exibe o arquivo de definição da máquina do VirtualBox no Gerenciador de Arquivos</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Criar Alias no Desktop</translation>
+        <translation type="obsolete">Criar Alias no Desktop</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -760,7 +760,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Criar Atalho na Área de Trabalho</translation>
+        <translation type="obsolete">Criar Atalho na Área de Trabalho</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -776,7 +776,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Captura uma imagem da tela exibida na máquina virtual</translation>
+        <translation type="obsolete">Captura uma imagem da tela exibida na máquina virtual</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -836,7 +836,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Exibir o Gerenciador de Operações de Rede</translation>
+        <translation type="obsolete">Exibir o Gerenciador de Operações de Rede</translation>
     </message>
     <message>
         <source>C&heck for updates...</source>
@@ -852,7 +852,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Exibe um diálogo com informações do produto</translation>
+        <translation type="obsolete">Exibe um diálogo com informações do produto</translation>
     </message>
     <message>
         <source>&Group</source>
@@ -872,7 +872,7 @@
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Renomeia o grupo de máquinas virtuais selecionado</translation>
+        <translation type="obsolete">Renomeia o grupo de máquinas virtuais selecionado</translation>
     </message>
     <message>
         <source>&Break group...</source>
@@ -884,7 +884,7 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Atualizar (&F)...</translation>
+        <translation type="obsolete">Atualizar (&F)...</translation>
     </message>
     <message>
         <source>Create alias on desktop</source>
@@ -916,7 +916,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Acrescenta um novo grupo baseado nos itens selecionados</translation>
+        <translation type="obsolete">Acrescenta um novo grupo baseado nos itens selecionados</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -924,7 +924,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Descartar o Estado Salvo (&I)...</translation>
+        <translation type="obsolete">Descartar o Estado Salvo (&I)...</translation>
     </message>
     <message>
         <source>Sort parent group</source>
@@ -952,63 +952,63 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Organiza alfabeticamente os itens do grupo de máquinas virtuais selecionado</translation>
+        <translation type="obsolete">Organiza alfabeticamente os itens do grupo de máquinas virtuais selecionado</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Apaga as máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Apaga as máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Iniciar as máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Iniciar as máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Alterna para as janelas das máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Alterna para as janelas das máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Suspende a execução das máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Suspende a execução das máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Reinicia as máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Reinicia as máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Descarta o estado salvo das máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Descarta o estado salvo das máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Exibe o arquivo de definição da máquina do VirtualBox no Finder</translation>
+        <translation type="obsolete">Exibe o arquivo de definição da máquina do VirtualBox no Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Exibe o arquivo de definição da máquina do VirtualBox no Explorer</translation>
+        <translation type="obsolete">Exibe o arquivo de definição da máquina do VirtualBox no Explorer</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Cria um alias apontando para o arquivo de definição de máquina virtual do VirtualBox em sua área de trabalho</translation>
+        <translation type="obsolete">Cria um alias apontando para o arquivo de definição de máquina virtual do VirtualBox em sua área de trabalho</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Cria um atalho apontando para o arquivo de definição de máquina virtual do VirtualBox em sua área de trabalho</translation>
+        <translation type="obsolete">Cria um atalho apontando para o arquivo de definição de máquina virtual do VirtualBox em sua área de trabalho</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Salvar o Estado</translation>
+        <translation type="obsolete">Salvar o Estado</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Salva o estado das máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Salva o estado das máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Envia o evento de pressionamento de botão de desligamento ACPI para as máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Envia o evento de pressionamento de botão de desligamento ACPI para as máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Desliga as máquinas virtuais selecionadas</translation>
+        <translation type="obsolete">Desliga as máquinas virtuais selecionadas</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -1020,15 +1020,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Desagr&upar...</translation>
+        <translation type="obsolete">Desagr&upar...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Desagrupa os itens do grupo de máquinas virtuais selecionado</translation>
+        <translation type="obsolete">Desagrupa os itens do grupo de máquinas virtuais selecionado</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Organizar</translation>
+        <translation type="obsolete">Organizar</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -1036,7 +1036,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Organiza alfabeticamente o grupo da primeira máquina selecionado</translation>
+        <translation type="obsolete">Organiza alfabeticamente o grupo da primeira máquina selecionado</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -1048,7 +1048,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Salvar o estado das máquina virtual</translation>
+        <translation type="obsolete">Salvar o estado das máquina virtual</translation>
     </message>
     <message>
         <source>&Network Settings...</source>
@@ -1064,7 +1064,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Habilitar conexões de desktop remoto (RDP) para esta máquina</translation>
+        <translation type="obsolete">Habilitar conexões de desktop remoto (RDP) para esta máquina</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -1072,7 +1072,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Habilita captura de vídeo</translation>
+        <translation type="obsolete">Habilita captura de vídeo</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -1080,7 +1080,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Altera configurações de captura de vídeo</translation>
+        <translation type="obsolete">Altera configurações de captura de vídeo</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -1088,7 +1088,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Exibe Janela de Informações Sobre a Sessão</translation>
+        <translation type="obsolete">Exibe Janela de Informações Sobre a Sessão</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -1100,7 +1100,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Insere o arquivo de imagem dos Adicionais de Convidado no drive virtual</translation>
+        <translation type="obsolete">Insere o arquivo de imagem dos Adicionais de Convidado no drive virtual</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -1116,7 +1116,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>Abre um diálogo para configurar a barra de menus</translation>
+        <translation type="obsolete">Abre um diálogo para configurar a barra de menus</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -1124,7 +1124,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>Define a visibilidade da barra de menus para esta máquina</translation>
+        <translation type="obsolete">Define a visibilidade da barra de menus para esta máquina</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -1136,7 +1136,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>Abre um diálogo para configurar a barra de status</translation>
+        <translation type="obsolete">Abre um diálogo para configurar a barra de status</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -1144,7 +1144,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>Define a visibilidade da barra de status para esta máquina</translation>
+        <translation type="obsolete">Define a visibilidade da barra de status para esta máquina</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -1160,7 +1160,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>Exibe o diálogo de configurações globais para configurar atalhos</translation>
+        <translation type="obsolete">Exibe o diálogo de configurações globais para configurar atalhos</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -1168,19 +1168,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>Discos Rígidos (&H)</translation>
+        <translation type="obsolete">Discos Rígidos (&H)</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>Configurações de Disco Rígido (&H)...</translation>
+        <translation type="obsolete">Configurações de Disco Rígido (&H)...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>Alterar as configurações de discos rígidos</translation>
+        <translation type="obsolete">Alterar as configurações de discos rígidos</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>Rede</translation>
+        <translation type="obsolete">Rede</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -1188,7 +1188,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>Alterar as configurações de dispositivos USB</translation>
+        <translation type="obsolete">Alterar as configurações de dispositivos USB</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1221,7 +1221,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>Minimizar a Janela da máquina ativa</translation>
+        <translation type="obsolete">Minimizar a Janela da máquina ativa</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1241,7 +1241,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>&Inserir %1</translation>
+        <translation type="obsolete">&Inserir %1</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1269,7 +1269,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>Arrastar e Soltar</translation>
+        <translation type="obsolete">Arrastar e Soltar</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1285,15 +1285,312 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferências...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">&Inserir %1</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">Discos Rígidos (&H)</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Habilitar</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Redimensionar para %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Preview do Monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Nenhum Dispositivo USB Conectado</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Nenhuma Webcam Conectada</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">nenhuma webcam suportada conectada ao PC hospedeiro</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1302,17 +1599,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>Habilitar</translation>
+        <translation type="obsolete">Habilitar</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>Redimensionar para %1x%2</translation>
+        <translation type="obsolete">Redimensionar para %1x%2</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1329,6 +1626,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Status</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Senha</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1382,15 +1702,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controladora de Disco Rígido (IDE)</translation>
+        <translation type="obsolete">Controladora de Disco Rígido (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controladora de Disco Rígido (SATA)</translation>
+        <translation type="obsolete">Controladora de Disco Rígido (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controladora de Disco Rígido (SCSI)</translation>
+        <translation type="obsolete">Controladora de Disco Rígido (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1448,7 +1768,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Controladora de Disco Rígido (SAS)</translation>
+        <translation type="obsolete">Controladora de Disco Rígido (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1458,6 +1778,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinicialize o endereço MAC de todas as placas de rede</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2151,7 +2487,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>Obtendo dados...</translation>
+        <translation type="obsolete">Obtendo dados...</translation>
     </message>
 </context>
 <context>
@@ -2161,6 +2497,10 @@
         <translatorcomment>se refere a drag and drop</translatorcomment>
         <translation>Soltando dados...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">Obtendo dados...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2283,22 +2623,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>Status</translation>
+        <translation type="obsolete">Status</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>Senha</translation>
+        <translation type="obsolete">Senha</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>Usado pelo(s) seguinte(s) %n disco(s) rígido(s):</nobr><br>%1</numerusform>
             <numerusform></numerusform>
         </translation>
@@ -3692,7 +4032,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Especifica a largura máxima que a tela do sistema convidado poderá ter.</translation>
+        <translation type="obsolete">Especifica a largura máxima que a tela do sistema convidado poderá ter.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3700,7 +4040,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Especifica a altura máxima que a tela do sistema convidado poderá ter.</translation>
+        <translation type="obsolete">Especifica a altura máxima que a tela do sistema convidado poderá ter.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3735,12 +4075,24 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>Quando selecionado, as janelas relativas a esta máquina terão o foco quando o ponteiro do mouse passar por cima delas.</translation>
+        <translation type="obsolete">Quando selecionado, as janelas relativas a esta máquina terão o foco quando o ponteiro do mouse passar por cima delas.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>T&razer a Janela Sob o Mouse Para o Topo</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -3766,11 +4118,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Acrescentar pacote</translation>
+        <translation type="obsolete">Acrescentar pacote</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Remover pacote</translation>
+        <translation type="obsolete">Remover pacote</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3788,6 +4140,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>Pacotes de &Extensão</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3845,7 +4213,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>Screensaver do &Hospedeiro:</translation>
+        <translation type="obsolete">Screensaver do &Hospedeiro:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3853,7 +4221,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Desabilitar Quando Máquinas Virtuais Estiverem em Execução</translation>
+        <translation type="obsolete">Desabilitar Quando Máquinas Virtuais Estiverem em Execução</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3908,11 +4284,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Lista todos os atalhos de teclado disponíveis para configuração.</translation>
+        <translation type="obsolete">Lista todos os atalhos de teclado disponíveis para configuração.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Entre uma sequência ser filtrada da lista de atalhos.</translation>
+        <translation type="obsolete">Entre uma sequência ser filtrada da lista de atalhos.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4091,15 +4475,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Adicionar rede exclusiva de hospedeiro (host-only)</translation>
+        <translation type="obsolete">&Adicionar rede exclusiva de hospedeiro (host-only)</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Remover rede exclusiva de hospedeiro (host-only)</translation>
+        <translation type="obsolete">&Remover rede exclusiva de hospedeiro (host-only)</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Editar rede exclusiva de hospedeiro (host-only)</translation>
+        <translation type="obsolete">&Editar rede exclusiva de hospedeiro (host-only)</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -4241,15 +4625,63 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Acrescentar Rede NAT</translation>
+        <translation type="obsolete">&Acrescentar Rede NAT</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Remover rede NAT</translation>
+        <translation type="obsolete">&Remover rede NAT</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>&Editar rede NAT</translation>
+        <translation type="obsolete">&Editar rede NAT</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4363,7 +4795,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Utilizar configuração manual para esta placa de rede exclusiva de hospedeiro.</translation>
+        <translation type="obsolete">Utilizar configuração manual para esta placa de rede exclusiva de hospedeiro.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4407,7 +4839,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Indica se o Servidor DHCP está habilitado durante a inicialização da máquina ou não.</translation>
+        <translation type="obsolete">Indica se o Servidor DHCP está habilitado durante a inicialização da máquina ou não.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4441,6 +4873,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Contém a faixa superior de endereçamento oferecido pelo servidor DHCP que está servindo à rede associada com esta placa exclusiva de hospedeiro.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4454,7 +4894,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Habilita esta rede NAT.</translation>
+        <translation type="obsolete">Habilita esta rede NAT.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4482,7 +4922,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Determina se esta rede suporta DHCP.</translation>
+        <translation type="obsolete">Determina se esta rede suporta DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4490,7 +4930,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Determina se esta rede suporta IPv6</translation>
+        <translation type="obsolete">Determina se esta rede suporta IPv6</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4498,16 +4938,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Determina se esta rede deve ser divulgada como a rota IPv6 padrão.</translation>
+        <translation type="obsolete">Determina se esta rede deve ser divulgada como a rota IPv6 padrão.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Abre um diálogo para gerenciar as regras de redirecionamento de portas.</translation>
+        <translation type="obsolete">Abre um diálogo para gerenciar as regras de redirecionamento de portas.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>Redirecionamento de &Portas</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4540,7 +5000,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Altera o servidor de proxy.</translation>
+        <translation type="obsolete">Altera o servidor de proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4548,7 +5008,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Altera a porta do proxy.</translation>
+        <translation type="obsolete">Altera a porta do proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4582,6 +5042,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>Nenhuma porta de proxy especificada.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4599,7 +5067,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Especifica a frequência com que a verificação por novas versões deve ser executado. Caso você queira desabilitar completamente esta verificação, desmarque a caixa acima.</translation>
+        <translation type="obsolete">Especifica a frequência com que a verificação por novas versões deve ser executado. Caso você queira desabilitar completamente esta verificação, desmarque a caixa acima.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4633,6 +5101,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Todas as atualizações e versões de teste. (&P)</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -5051,7 +5523,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indica a atividade dos discos rígidos virtuais:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indica a atividade dos discos rígidos virtuais:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -5133,7 +5605,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indica se o teclado foi capturad pelo sistema operacional Convidado (<img src=:/hostkey_captured_16px.png/>) ou não (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indica se o teclado foi capturad pelo sistema operacional Convidado (<img src=:/hostkey_captured_16px.png/>) ou não (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -5179,6 +5651,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Indica a atividade dos drives de disquete:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -5199,11 +5680,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Preview do Monitor %1</translation>
+        <translation type="obsolete">Preview do Monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Snapshot %1</translation>
+        <translation type="obsolete">Snapshot %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -5239,11 +5720,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Nenhum Dispositivo USB Conectado</translation>
+        <translation type="obsolete">Nenhum Dispositivo USB Conectado</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
+        <translation type="obsolete">Nenhum dispositivo suportado está conectado ao PC hospedeiro</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -5251,19 +5732,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Nenhuma Webcam Conectada</translation>
+        <translation type="obsolete">Nenhuma Webcam Conectada</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>nenhuma webcam suportada conectada ao PC hospedeiro</translation>
+        <translation type="obsolete">nenhuma webcam suportada conectada ao PC hospedeiro</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>Conectar Placa de Rede</translation>
+        <translation type="obsolete">Conectar Placa de Rede</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>Conectar Placa de Rede %1</translation>
+        <translation type="obsolete">Conectar Placa de Rede %1</translation>
     </message>
 </context>
 <context>
@@ -5282,7 +5763,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controla o driver de saída de áudio. O <b>Driver de áudio Nulo</b> faz com que o convidado veja uma placa de som, mas todos os acessos a ela serão ignorados.</translation>
+        <translation type="obsolete">Controla o driver de saída de áudio. O <b>Driver de áudio Nulo</b> faz com que o convidado veja uma placa de som, mas todos os acessos a ela serão ignorados.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -5292,6 +5773,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Seleciona o tipo da placa de som virtual. Dependendo do que for informado aqui, o VirtualBox irá prover uma placa de modelo e fabricante diferentes para a máquina virtual.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -5301,7 +5786,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5357,7 +5842,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Define o método de autenticação VRDP.</translation>
+        <translation type="obsolete">Define o método de autenticação VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5365,7 +5850,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Especifica o tempo máximo para aguardar pela autenticação, em milissegundos.</translation>
+        <translation type="obsolete">Especifica o tempo máximo para aguardar pela autenticação, em milissegundos.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5381,7 +5866,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>O número da porta para o Servidor VRDP. Você deve especificar <tt>0</tt> (zero) para selecionar a porta padrão (3389, a porta padrão para RDP).</translation>
+        <translation type="obsolete">O número da porta para o Servidor VRDP. Você deve especificar <tt>0</tt> (zero) para selecionar a porta padrão (3389, a porta padrão para RDP).</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5393,11 +5878,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Define se múltiplas conexões à VM são permitidas.</translation>
+        <translation type="obsolete">Define se múltiplas conexões à VM são permitidas.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5437,7 +5922,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Esta configuração determina o nome de arquivo que o VirtualBox utilizará para salvar o conteúdo gravado.</translation>
+        <translation type="obsolete">Esta configuração determina o nome de arquivo que o VirtualBox utilizará para salvar o conteúdo gravado.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5445,15 +5930,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Esta configuração determina a resolução (tamanho do frame) do vídeo gravado.</translation>
+        <translation type="obsolete">Esta configuração determina a resolução (tamanho do frame) do vídeo gravado.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Esta configuração determina a resolução <b>horizontal</b> (largura do frame) para o vídeo gravado.</translation>
+        <translation type="obsolete">Esta configuração determina a resolução <b>horizontal</b> (largura do frame) para o vídeo gravado.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Esta configuração determina a resolução <b>vertical</b> (altura do frame) para o vídeo gravado.</translation>
+        <translation type="obsolete">Esta configuração determina a resolução <b>vertical</b> (altura do frame) para o vídeo gravado.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5462,7 +5947,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Esta configuração determina o número máximo de <b>frames por segundo</b> no vídeo resultante. Frames adicionais serão descartados. Reduzir este valor aumentará a quantidade de frames descartados, mas reduzirá o tamanho do arquivo final.</translation>
+        <translation type="obsolete">Esta configuração determina o número máximo de <b>frames por segundo</b> no vídeo resultante. Frames adicionais serão descartados. Reduzir este valor aumentará a quantidade de frames descartados, mas reduzirá o tamanho do arquivo final.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5470,11 +5955,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Esta configuração determina a <b>qualidade</b>. Aumentar este valor fará com que o vídeo tenha uma aparência melhor, ao custo de um tamanho maior de arquivo.</translation>
+        <translation type="obsolete">Esta configuração determina a <b>qualidade</b>. Aumentar este valor fará com que o vídeo tenha uma aparência melhor, ao custo de um tamanho maior de arquivo.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Esta configuração determina o bitrate em <b>kilobits por segundo</b>. Aumentar este valor fará com que o vídeo tenha uma aparência melhor, ao custo de um tamanho maior de arquivo.</translation>
+        <translation type="obsolete">Esta configuração determina o bitrate em <b>kilobits por segundo</b>. Aumentar este valor fará com que o vídeo tenha uma aparência melhor, ao custo de um tamanho maior de arquivo.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5486,7 +5971,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>A máquina virtual atualmente está configurada com menos que <b>%1</b> de memória de vídeo, que seria o mínimo necessário para permitir alternar para tela cheia ou modo seamless.</translation>
+        <translation type="obsolete">A máquina virtual atualmente está configurada com menos que <b>%1</b> de memória de vídeo, que seria o mínimo necessário para permitir alternar para tela cheia ou modo seamless.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5545,7 +6030,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Habilitar gravação de vídeo para a tela %1.</translation>
+        <translation type="obsolete">Habilitar gravação de vídeo para a tela %1.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -5593,11 +6078,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
@@ -5605,7 +6090,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
@@ -5619,6 +6104,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5628,7 +6177,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Mostra o caminho onde os snapshots desta máquina virtual serão armazenados. Note que estes snapshots podem ocupar bastante espaço em disco.</translation>
+        <translation type="obsolete">Mostra o caminho onde os snapshots desta máquina virtual serão armazenados. Note que estes snapshots podem ocupar bastante espaço em disco.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5900,7 +6449,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>Contém o algoritmo utilizado para criptografar os discos da máquina virtual.</translation>
+        <translation type="obsolete">Contém o algoritmo utilizado para criptografar os discos da máquina virtual.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -5939,6 +6488,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation>Não Alterar</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5984,15 +6541,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>Se habilitado, exibe a minibarra de ferramentas enquanto estiver nos modos Tela Cheia ou Seamless.</translation>
+        <translation type="obsolete">Se habilitado, exibe a minibarra de ferramentas enquanto estiver nos modos Tela Cheia ou Seamless.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>Exibir nos modos Tela Cheia/Seamless (&F)</translation>
+        <translation type="obsolete">Exibir nos modos Tela Cheia/Seamless (&F)</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>Se marcado, exibe a mini barra de ferramentas no topo da tela, ao invés da posição padrão na parte de baixo da tela.</translation>
+        <translation type="obsolete">Se marcado, exibe a mini barra de ferramentas no topo da tela, ao invés da posição padrão na parte de baixo da tela.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -6002,6 +6559,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation>Permite modificar o conteúdo da barra de status da VM.</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -6035,7 +6604,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controla a maneira como este adaptador virtual é conectado à rede real no sistema Hospedeiro.</translation>
+        <translation type="obsolete">Controla a maneira como este adaptador virtual é conectado à rede real no sistema Hospedeiro.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -6063,7 +6632,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indica se o cabo de rede virtual será conectado na inicialização da máquina ou não.</translation>
+        <translation type="obsolete">Indica se o cabo de rede virtual será conectado na inicialização da máquina ou não.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -6191,7 +6760,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Mostra ou oculta as opções adicionais para placas de rede.</translation>
+        <translation type="obsolete">Mostra ou oculta as opções adicionais para placas de rede.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -6203,7 +6772,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Abre um diálogo para gerenciar as regras de redirecionamento de portas.</translation>
+        <translation type="obsolete">Abre um diálogo para gerenciar as regras de redirecionamento de portas.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -6223,7 +6792,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Entre aqui as configurações adequadas ao tipo conexão de rede que irá utilizar. As configurações devem ser no formato <b>nome=valor</b> e irão depender do driver utilizado. Utilize <b>shift-enter</b> para acrescentar uma nova entrada.</translation>
+        <translation type="obsolete">Entre aqui as configurações adequadas ao tipo conexão de rede que irá utilizar. As configurações devem ser no formato <b>nome=valor</b> e irão depender do driver utilizado. Utilize <b>shift-enter</b> para acrescentar uma nova entrada.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -6285,6 +6854,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Contém o nome da rede NAT à qual esta placa de rede será conectada. Você pode criar e remover redes utilizando as configurações globais de rede na janela do gerenciador de máquinas virtuais.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6443,6 +7032,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Exibe o endereço-base de I/O para esta porta paralela. Os valores válidos são números inteiros na faixa de <tt>0</tt> a <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">O caminho da porta não foi especificado.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Existem caminhos de porta duplicados.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6460,23 +7069,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Nenhum IRQ foi especificado.</translation>
+        <translation type="obsolete">Nenhum IRQ foi especificado.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Nenhuma porta de I/O foi especificada.</translation>
+        <translation type="obsolete">Nenhuma porta de I/O foi especificada.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Duas ou mais portas possuem as mesmas configurações.</translation>
+        <translation type="obsolete">Duas ou mais portas possuem as mesmas configurações.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>O caminho da porta não foi especificado.</translation>
+        <translation type="obsolete">O caminho da porta não foi especificado.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Existem caminhos de porta duplicados.</translation>
+        <translation type="obsolete">Existem caminhos de porta duplicados.</translation>
     </message>
 </context>
 <context>
@@ -6487,27 +7096,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Esta tabela contém uma lista de regras de redirecionamento de portas.</translation>
+        <translation type="obsolete">Esta tabela contém uma lista de regras de redirecionamento de portas.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Inserir nova regra</translation>
+        <translation type="obsolete">Inserir nova regra</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Copiar a regra selecionada</translation>
+        <translation type="obsolete">Copiar a regra selecionada</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Apagar a regra selecionada</translation>
+        <translation type="obsolete">Apagar a regra selecionada</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Este botão acrescenta uma nova regra de redirecionamento de porta.</translation>
+        <translation type="obsolete">Este botão acrescenta uma nova regra de redirecionamento de porta.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Este botão apaga a regra de redirecionamento de porta selecionada.</translation>
+        <translation type="obsolete">Este botão apaga a regra de redirecionamento de porta selecionada.</translation>
     </message>
 </context>
 <context>
@@ -6526,15 +7135,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Acrescenta uma nova definição de pasta compartilhada.</translation>
+        <translation type="obsolete">Acrescenta uma nova definição de pasta compartilhada.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Edita a definição da pasta compartilhada selecionada.</translation>
+        <translation type="obsolete">Edita a definição da pasta compartilhada selecionada.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Remove a definição de pasta compartilhada selecionada.</translation>
+        <translation type="obsolete">Remove a definição de pasta compartilhada selecionada.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6574,15 +7183,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Adicionar Pasta Compartilhada</translation>
+        <translation type="obsolete">&Adicionar Pasta Compartilhada</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Editar Pasta Compartilhada</translation>
+        <translation type="obsolete">&Editar Pasta Compartilhada</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Remover Pasta Compartilhada</translation>
+        <translation type="obsolete">&Remover Pasta Compartilhada</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6596,6 +7205,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Sim</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6645,7 +7278,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Se selecionado, esta pasta compartilhada será permanente.</translation>
+        <translation type="obsolete">Se selecionado, esta pasta compartilhada será permanente.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6693,7 +7330,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controla o modo de operação desta porta serial. Se você selecionar <b>Desconectado</b>, o sistema operacional Convidado irá detectar a porta serial mas não conseguirá utilizá-la.</translation>
+        <translation type="obsolete">Controla o modo de operação desta porta serial. Se você selecionar <b>Desconectado</b>, o sistema operacional Convidado irá detectar a porta serial mas não conseguirá utilizá-la.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6725,7 +7362,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>Se selecionado, a máquina virtual irá assumir que o pipe ou socket especificado no campo <b>Caminho/Endereço</b> existe e tentará utilizá-lo. Caso contrário, o pipe ou socket será criado pela máquina virtual quando esta for iniciada.</translation>
+        <translation type="obsolete">Se selecionado, a máquina virtual irá assumir que o pipe ou socket especificado no campo <b>Caminho/Endereço</b> existe e tentará utilizá-lo. Caso contrário, o pipe ou socket será criado pela máquina virtual quando esta for iniciada.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -6739,6 +7376,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>No modo <b>Pipe do Hospedeiro</b> : Contém o caminho para o pipe da porta serial na máquina hospedeira. Exemplos: "\\.\pipe\myvbox" or "/tmp/myvbox", para sistemas Windows e UNIX, respectivamente.</p><p>No modo <b>Dispositivo do Hospedeiro</b>: Contém o nome do dispositivo serial na máquina hospedeira. Exemplos: "COM1" ou "/dev/ttyS0".</p><p>No modo <b>Arquivo Puro& [...]
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">O caminho da porta não foi especificado.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Existem caminhos de porta duplicados.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6756,23 +7421,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>IRQ não foi especificado.</translation>
+        <translation type="obsolete">IRQ não foi especificado.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Porta de I/O não foi especificada.</translation>
+        <translation type="obsolete">Porta de I/O não foi especificada.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Duas ou mais portas possuem a mesma configuração.</translation>
+        <translation type="obsolete">Duas ou mais portas possuem a mesma configuração.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>O caminho da porta não foi especificado.</translation>
+        <translation type="obsolete">O caminho da porta não foi especificado.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Existem caminhos de porta duplicados.</translation>
+        <translation type="obsolete">Existem caminhos de porta duplicados.</translation>
     </message>
 </context>
 <context>
@@ -6859,11 +7524,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Expandir/Diminuir&nbsp;Item</nobr></translation>
+        <translation type="obsolete"><nobr>Expandir/Diminuir&nbsp;Item</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Adicionar&nbsp;Disco&nbsp;Rígido</nobr></translation>
+        <translation type="obsolete"><nobr>Adicionar&nbsp;Disco&nbsp;Rígido</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6927,19 +7592,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Adiciona uma nova controladora ao final da Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Adiciona uma nova controladora ao final da Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Remove a controladora selecionada da Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Remove a controladora selecionada da Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Adiciona uma nova conexão à Árvore de Armazenamento utilizando a controladora selecionada como nó-pai.</translation>
+        <translation type="obsolete">Adiciona uma nova conexão à Árvore de Armazenamento utilizando a controladora selecionada como nó-pai.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Remove a conexão selecionada da Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Remove a conexão selecionada da Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6975,7 +7640,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Contém todas as controladoras para esta máquina, as imagens virtuais e os drives do hospedeiro conectados a eles.</translation>
+        <translation type="obsolete">Contém todas as controladoras para esta máquina, as imagens virtuais e os drives do hospedeiro conectados a eles.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6995,7 +7660,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Altera o nome da controladora de armazenamento atualmente selecionada na Árvore de Armazenamento.</translation>
+        <translation type="obsolete">Altera o nome da controladora de armazenamento atualmente selecionada na Árvore de Armazenamento.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -7063,7 +7728,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permite o uso de facilidades de cache de I/O do hospedeiro.</translation>
+        <translation type="obsolete">Permite o uso de facilidades de cache de I/O do hospedeiro.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -7095,7 +7760,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Imagem</translation>
+        <translation type="obsolete">Imagem</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -7103,7 +7768,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Criar disco rígido virtual</translation>
+        <translation type="obsolete">Criar disco rígido virtual</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -7127,15 +7792,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Configurar o drive de disquete virtual</translation>
+        <translation type="obsolete">Configurar o drive de disquete virtual</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Criar novo disco rígido...</translation>
+        <translation type="obsolete">Criar novo disco rígido...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Selecione um arquivo de disco rígido virtual...</translation>
+        <translation type="obsolete">Selecione um arquivo de disco rígido virtual...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -7147,11 +7812,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Selecione um arquivo de imagem de disquete...</translation>
+        <translation type="obsolete">Selecione um arquivo de imagem de disquete...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Quando selecionado, evita a desmontagem da mídia quando o sistema convidado solicitar a ejeção.</translation>
+        <translation type="obsolete">Quando selecionado, evita a desmontagem da mídia quando o sistema convidado solicitar a ejeção.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -7159,7 +7824,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Quando selecionado, define a mídia como sendo de estado sólido (SSD).</translation>
+        <translation type="obsolete">Quando selecionado, define a mídia como sendo de estado sólido (SSD).</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -7229,7 +7894,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>Quando selecionado, o sistema convidado irá ver o disco virtual como um dispositivo hot-plug.</translation>
+        <translation type="obsolete">Quando selecionado, o sistema convidado irá ver o disco virtual como um dispositivo hot-plug.</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -7237,15 +7902,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>Selecione um arquivo de disco óptico virtual...</translation>
+        <translation type="obsolete">Selecione um arquivo de disco óptico virtual...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>Acrescentar&nbsp;Disco&nbsp;Óptico</nobr></translation>
+        <translation type="obsolete"><nobr>Acrescentar&nbsp;Disco&nbsp;Óptico</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>Acrescentar&nbsp;Drive&nbsp;de&nbsp;Disquete</nobr></translation>
+        <translation type="obsolete"><nobr>Acrescentar&nbsp;Drive&nbsp;de&nbsp;Disquete</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -7265,12 +7930,97 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>Configurar o drive óptico virtual</translation>
+        <translation type="obsolete">Configurar o drive óptico virtual</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imagem</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
@@ -7300,12 +8050,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -7338,7 +8088,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mover para Baixo (Ctrl-Seta para Baixo)</translation>
+        <translation type="obsolete">Mover para Baixo (Ctrl-Seta para Baixo)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7346,7 +8096,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mover para Cima (Ctrl-Seta para Cima)</translation>
+        <translation type="obsolete">Mover para Cima (Ctrl-Seta para Cima)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7419,7 +8169,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPUs</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPUs</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7431,7 +8181,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Quando selecionado, o dispositivo de RTC (relógio interno) irá indicar o horário em UTC, caso contrário irá indicar o horário local. Sistemas UNIX geralmente assumem que o relógio está definido para UTC.</translation>
+        <translation type="obsolete">Quando selecionado, o dispositivo de RTC (relógio interno) irá indicar o horário em UTC, caso contrário irá indicar o horário local. Sistemas UNIX geralmente assumem que o relógio está definido para UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7480,12 +8230,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7547,56 +8297,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>O recurso de Virtualização de Hardware não está habilitado na seção Aceleração da página Sistema. Isto é necessário para suportar mais de um processador virtual, que foi habilitado para esta VM. Isto será feito automaticamente caso você confirme as mudanças.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Acrescentar Filtro Vazio</translation>
+        <translation type="obsolete">&Acrescentar Filtro Vazio</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Acrescentar Filtro a Partir de &Dispositivo</translation>
+        <translation type="obsolete">Acrescentar Filtro a Partir de &Dispositivo</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Editar Filtro</translation>
+        <translation type="obsolete">&Editar Filtro</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Remover Filtro</translation>
+        <translation type="obsolete">&Remover Filtro</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mover Filtro Para Cima</translation>
+        <translation type="obsolete">&Mover Filtro Para Cima</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&over Filtro Para Baixo</translation>
+        <translation type="obsolete">M&over Filtro Para Baixo</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Acrescenta um novo filtro USB com todos os campos definidos inicialmente para valores vazios. Um filtro criado desta maneira irá englobar qualquer dispositivo USB conectado.</translation>
+        <translation type="obsolete">Acrescenta um novo filtro USB com todos os campos definidos inicialmente para valores vazios. Um filtro criado desta maneira irá englobar qualquer dispositivo USB conectado.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Acrescenta um novo filtro USB com todos os campos definidos para os valores do dispositivo USB selecionado conectado ao PC hospedeiro.</translation>
+        <translation type="obsolete">Acrescenta um novo filtro USB com todos os campos definidos para os valores do dispositivo USB selecionado conectado ao PC hospedeiro.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Edita o filtro USB selecionado.</translation>
+        <translation type="obsolete">Edita o filtro USB selecionado.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Removes o filtro USB selecionado.</translation>
+        <translation type="obsolete">Removes o filtro USB selecionado.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Move o filtro USB selecionado para cima.</translation>
+        <translation type="obsolete">Move o filtro USB selecionado para cima.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Move o filtro USB selecionado para baixo.</translation>
+        <translation type="obsolete">Move o filtro USB selecionado para baixo.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7613,7 +8389,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Quando marcado, habilita a controladora virtual USB EHCI desta máquina. A controladora USB EHCI provê suporte ao padrão USB 2.0.</translation>
+        <translation type="obsolete">Quando marcado, habilita a controladora virtual USB EHCI desta máquina. A controladora USB EHCI provê suporte ao padrão USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7681,7 +8457,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>Quando selecionado, habilita a controladora virtual USB OHCI para esta máquina. A controladora USB OHCI fornece suporte a USB 1.0.</translation>
+        <translation type="obsolete">Quando selecionado, habilita a controladora virtual USB OHCI para esta máquina. A controladora USB OHCI fornece suporte a USB 1.0.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -7693,7 +8469,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>Quando selecionado, habilita a controladora virtual USB xHCI para esta máquina. A controladora USB xHCI fornece suporte a USB 3.0.</translation>
+        <translation type="obsolete">Quando selecionado, habilita a controladora virtual USB xHCI para esta máquina. A controladora USB xHCI fornece suporte a USB 3.0.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -7703,6 +8479,66 @@ p, li { white-space: pre-wrap; }
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>O suporte a USB 2.0/3.0 está habilitado para esta máquina virtual. No entanto, isto requer que <i>%1</i> esteja instalado. Baixe e instale o Extension Pack no site do VirtualBox ou desabilite o USB 2.0/3.0 para poder iniciar esta máquina.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Acrescentar Filtro Vazio</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Acrescentar Filtro a Partir de Dispositivo</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Remover Filtro</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Mover Filtro Para Cima</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Mover Filtro Para Baixo</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -7735,7 +8571,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define o filtro de vendor ID. O formato utilizado para <i>texto exato</i> é <tt>XXXX</tt>, onde <tt>X</tt> é um dígito hexadecimal. Um valor vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro de vendor ID. O formato utilizado para <i>texto exato</i> é <tt>XXXX</tt>, onde <tt>X</tt> é um dígito hexadecimal. Um valor vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7743,7 +8579,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Define o filtro de product ID. O formato usado para <i>texto exato</i> é <tt>XXXX</tt>, onde <tt>X</tt> é um dígito hexadecimal. Um valor vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro de product ID. O formato usado para <i>texto exato</i> é <tt>XXXX</tt>, onde <tt>X</tt> é um dígito hexadecimal. Um valor vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7751,7 +8587,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Define o filtro por número de revisão. O formato usado para <i>texto exato</i> é <tt>IIFF</tt>, onde <tt>I</tt> é um dígito decimal da parte inteira e <tt>F</tt> é um dígito decimal da parte fracionária. Um valor vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro por número de revisão. O formato usado para <i>texto exato</i> é <tt>IIFF</tt>, onde <tt>I</tt> é um dígito decimal da parte inteira e <tt>F</tt> é um dígito decimal da parte fracionária. Um valor vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7759,7 +8595,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro de fabricante como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro de fabricante como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7767,7 +8603,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro de nome do produto como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro de nome do produto como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7775,35 +8611,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro de número de série como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
+        <translation type="obsolete">Define o filtro de número de série como um <i>texto exato</i>. Um texto vazio irá englobar qualquer valor.</translation>
     </message>
     <message>
         <source>Por&t:</source>
         <translation>Por&ta:</translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Define o filtro por porta USB como um <i>texto exato</i>. Um valor vazio irá englobar qualquer valor.</translation>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">Define o filtro por porta USB como um <i>texto exato</i>. Um valor vazio irá englobar qualquer valor.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>R&emoto:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Define se este filtro se aplica a dispositivos USB conectados localmente ao computador hospedeiro (<i>Não</i>), conectados a um cliente VRDP (<i>Sim</i>), ou ambos (<i>Qualquer</i>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">&Ação:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Define a ação executada pelo computador hospedeiro ao ser conectado um dispositivo especificado: dar o controle para o sistema operacional Convidado (<i>Ignorar</i>) ou reservá-lo para uso posterior por outras máquinas virtuais (<i>Reservar</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Detalhes de Filtros USB</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>R&emoto:</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Define se este filtro se aplica a dispositivos USB conectados localmente ao computador hospedeiro (<i>Não</i>), conectados a um cliente VRDP (<i>Sim</i>), ou ambos (<i>Qualquer</i>).</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">&Ação:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Define a ação executada pelo computador hospedeiro ao ser conectado um dispositivo especificado: dar o controle para o sistema operacional Convidado (<i>Ignorar</i>) ou reservá-lo para uso posterior por outras máquinas virtuais (<i>Reservar</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Detalhes de Filtros USB</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7824,7 +8692,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>Discos Rígidos (&H)</translation>
+        <translation type="obsolete">Discos Rígidos (&H)</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7846,6 +8714,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation>Removendo mídia...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8474,7 +9346,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Não foi possível alternar para tela cheia devido a memória de vídeo insuficiente no sistema Convidado.</p><p>Você deve configurar a máquina virtual para ter no mínimo <b>%1</b> de memória de vídeo.</p><p>Pressione <b>Ignorar</b> para tentar alternar para tela cheia mesmo assim ou pressione <b>Cancelar</b> para cancelar a operação.</p></translation>
+        <translation type="obsolete"><p>Não foi possível alternar para tela cheia devido a memória de vídeo insuficiente no sistema Convidado.</p><p>Você deve configurar a máquina virtual para ter no mínimo <b>%1</b> de memória de vídeo.</p><p>Pressione <b>Ignorar</b> para tentar alternar para tela cheia mesmo assim ou pressione <b>Cancelar</b> para cancelar a operação.</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8592,7 +9464,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Você deseja apagar a unidade de armazenamento do disco rígido <nobr><b>%1</b>?</nobr></p><p>Se você selecionar <b>Apagar</b> então a unidade de armazenamento será permanentemente apagada. Esta operação <b>não pode ser desfeita</b>.</p><p>Se você selecionar <b>Manter</b> então o disco rígido será apenas removido da lista de discos rígidos conhecidos, mas a unidade de armazenam [...]
+        <translation type="obsolete"><p>Você deseja apagar a unidade de armazenamento do disco rígido <nobr><b>%1</b>?</nobr></p><p>Se você selecionar <b>Apagar</b> então a unidade de armazenamento será permanentemente apagada. Esta operação <b>não pode ser desfeita</b>.</p><p>Se você selecionar <b>Manter</b> então o disco rígido será apenas removido da lista de discos rígidos conhecidos, mas a unid [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8849,7 +9721,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Ao apagar um snapshot, a informação de estados armazenada no snapshot será descartada, e todos os dados de disco associados (que podem estar presentes em múltiplos arquivos de imagem criados pelo VirtualBox) serão combinados em um arquivo único. Isto pode ser um processo longo, e as informações do snapshot não poderão ser recuperadas posteriormente.</p></p>Tem certeza que deseja apagar o snapshot <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Ao apagar um snapshot, a informação de estados armazenada no snapshot será descartada, e todos os dados de disco associados (que podem estar presentes em múltiplos arquivos de imagem criados pelo VirtualBox) serão combinados em um arquivo único. Isto pode ser um processo longo, e as informações do snapshot não poderão ser recuperadas posteriormente.</p></p>Tem certeza que deseja apagar o snapshot <b>%1</b>?</p></ [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8985,7 +9857,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Para apagar o %1 será necessário ocupar mais espaço em disco. No pior caso o espaço da imagem %2 irá crescer em %3, no entanto neste sistema de arquivos há apenas %4 livres.</p><p>Caso o espaço em disco acabe durante a operação de merge, é possível que a imagem e a configuração desta VM sejam corrompidos.</p><p>Continue descartando este snapshot por sua conta e risco.</p></translation>
+        <translation type="obsolete"><p>Para apagar o %1 será necessário ocupar mais espaço em disco. No pior caso o espaço da imagem %2 irá crescer em %3, no entanto neste sistema de arquivos há apenas %4 livres.</p><p>Caso o espaço em disco acabe durante a operação de merge, é possível que a imagem e a configuração desta VM sejam corrompidos.</p><p>Continue descartando este snapshot por sua conta e risco.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -9164,7 +10036,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>A janela da máquina virtual será redimensionada para o modo <b>tela cheia</b>. Você pode retornar ao modo de janela a qualquer momento pressionando <b>%1</b>. A tecla de <i>Hospedeiro</i> está definida como <b>%2</b>.</p><p>A barra de menus principal ficará oculta no modo de tela cheia. Você pode acessá-la pressionando a combinação <b>Hospedeiro+Home</b>.</p></translation>
+        <translation type="obsolete"><p>A janela da máquina virtual será redimensionada para o modo <b>tela cheia</b>. Você pode retornar ao modo de janela a qualquer momento pressionando <b>%1</b>. A tecla de <i>Hospedeiro</i> está definida como <b>%2</b>.</p><p>A barra de menus principal ficará oculta no modo de tela cheia. Você pode acessá-la pressionando a combinação <b>Hospedeiro+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9434,7 +10306,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Você está prestes a criar uma nova máquina virtual sem um disco rígido associado. Você não poderá instalar um sistema operacional nesta máquina até que acrescente um. No entanto, ainda é possível iniciá-la a partir de um disco ótico virtual ou a partir da rede.</translation>
+        <translation type="obsolete">Você está prestes a criar uma nova máquina virtual sem um disco rígido associado. Você não poderá instalar um sistema operacional nesta máquina até que acrescente um. No entanto, ainda é possível iniciá-la a partir de um disco ótico virtual ou a partir da rede.</translation>
     </message>
     <message>
         <source><p>Could not find the VirtualBox Guest Additions disk image file file.</nobr></p><p>Do you wish to download this disk image file from the Internet?</p></source>
@@ -9550,15 +10422,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Você tem certeza de que deseja liberar o disco rígido virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Você tem certeza de que deseja liberar o disco rígido virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Você tem certeza de que deseja liberar o disco óptico virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Você tem certeza de que deseja liberar o disco óptico virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Você tem certeza de que deseja liberar o disquete virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Você tem certeza de que deseja liberar o disquete virtual <nobr><b>%1</b></nobr>?</p><p>Esta ação irá desconectá-lo das seguintes máquinas virtuais:<b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -9602,27 +10474,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Falha ao abrir o arquivo de disco rígido <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao abrir o arquivo de disco rígido <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Falha ao abrir o arquivo de disco óptico <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao abrir o arquivo de disco óptico <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Falha ao abrir o arquivo de disquete <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao abrir o arquivo de disquete <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Falha ao fechar o arquivo de disco rígido <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao fechar o arquivo de disco rígido <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Falha ao fechar o arquivo de disco óptico <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao fechar o arquivo de disco óptico <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Falha ao fechar o arquivo de disquete <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Falha ao fechar o arquivo de disquete <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9743,7 +10615,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Um ou mais arquivos de imagem de discos virtuais rígidos, ópticos, ou de disquete não estão acessíveis. Portanto, você não poderá operar máquinas virtuais que utilizem estes arquivos até que estes estejam acessíveis.</p><p>Pressione <b>Verificar</b> para abrir a janela do Gerenciador de Mídias Virtuais e verificar quais arquivos estão inacessíveis, ou pressione <b>Ignorar</b> para ignorar esta mensagem.</p></translation>
+        <translation type="obsolete"><p>Um ou mais arquivos de imagem de discos virtuais rígidos, ópticos, ou de disquete não estão acessíveis. Portanto, você não poderá operar máquinas virtuais que utilizem estes arquivos até que estes estejam acessíveis.</p><p>Pressione <b>Verificar</b> para abrir a janela do Gerenciador de Mídias Virtuais e verificar quais arquivos estão inacessíveis, ou pressione <b>Ignorar</b> para ignorar esta mensagem.< [...]
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -9833,6 +10705,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10992,27 +11904,82 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Nome</translation>
+        <translation type="obsolete">Nome</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protocolo</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Endereço IP do Hospedeiro</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Porta do Hospedeiro</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP do Convidado</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Porta do Convidado</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Nome</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protocolo</translation>
+        <translation type="unfinished">Protocolo</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Endereço IP do Hospedeiro</translation>
+        <translation type="unfinished">Endereço IP do Hospedeiro</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Porta do Hospedeiro</translation>
+        <translation type="unfinished">Porta do Hospedeiro</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP do Convidado</translation>
+        <translation type="unfinished">IP do Convidado</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Porta do Convidado</translation>
+        <translation type="unfinished">Porta do Convidado</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11320,7 +12287,7 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
         <translatorcomment>O warning de accelerator é falso.</translatorcomment>
-        <translation><nobr><b>Clique</b> para chavear a presença dos indicadores.</nobr><br><nobr><b>Arraste e solte</b>para mudar a posição do indicador.</nobr></translation>
+        <translation type="obsolete"><nobr><b>Clique</b> para chavear a presença dos indicadores.</nobr><br><nobr><b>Arraste e solte</b>para mudar a posição do indicador.</nobr></translation>
     </message>
 </context>
 <context>
@@ -11333,6 +12300,10 @@ utilizando o diálogo de Configurações da MV.</p></translation>
         <source>Enable Status Bar</source>
         <translation>Habilitar Barra de Status</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>Clique</b> para chavear a presença dos indicadores.</nobr><br><nobr><b>Arraste e solte</b>para mudar a posição do indicador.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11966,7 +12937,7 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Copiar Disco Rígido Virtual </translation>
+        <translation type="obsolete">Copiar Disco Rígido Virtual </translation>
     </message>
     <message>
         <source>Copy</source>
@@ -11974,43 +12945,43 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Disco rígido para copiar</translation>
+        <translation type="obsolete">Disco rígido para copiar</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Selecione o disco rígido virtual que você deseja copiar, caso ainda não esteja selecionado. Você pode escolher um da lista ou utilizar o ícone da pasta ao lado da lista para selecionar um arquivo de disco virtual.</p></translation>
+        <translation type="obsolete"><p>Selecione o disco rígido virtual que você deseja copiar, caso ainda não esteja selecionado. Você pode escolher um da lista ou utilizar o ícone da pasta ao lado da lista para selecionar um arquivo de disco virtual.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Selecione um arquivo de disco rígido virtual para copiar...</translation>
+        <translation type="obsolete">Selecione um arquivo de disco rígido virtual para copiar...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo de arquivo de disco rígido</translation>
+        <translation type="obsolete">Tipo de arquivo de disco rígido</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation><p>Escolha o tipo de arquivo que você gostaria de utilizar para o novo disco rígido virtual. Caso não necessite utilizá-lo com outros softwares de virtualização, pode deixar esta opção como está.</p></translation>
+        <translation type="obsolete"><p>Escolha o tipo de arquivo que você gostaria de utilizar para o novo disco rígido virtual. Caso não necessite utilizá-lo com outros softwares de virtualização, pode deixar esta opção como está.</p></translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Armazenamento em disco rígido físico</translation>
+        <translation type="obsolete">Armazenamento em disco rígido físico</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Escolha se o arquivo contendo o disco rígido virtual deve crescer à medida em que é utilizado (dinamicamente alocado) ou se ele deve ser criado já com o tamanho máximo (tamanho fixo).</translation>
+        <translation type="obsolete">Escolha se o arquivo contendo o disco rígido virtual deve crescer à medida em que é utilizado (dinamicamente alocado) ou se ele deve ser criado já com o tamanho máximo (tamanho fixo).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Um arquivo de disco rígido virtual <b>dinamicamente alocado</b> irá utilizar espaço em seu disco rígido físico à medida em que for sendo utilizado (até um <b>tamanho máximo pré-definido</b>), mas não irá encolher caso seja liberado espaço nele.</p></translation>
+        <translation type="obsolete"><p>Um arquivo de disco rígido virtual <b>dinamicamente alocado</b> irá utilizar espaço em seu disco rígido físico à medida em que for sendo utilizado (até um <b>tamanho máximo pré-definido</b>), mas não irá encolher caso seja liberado espaço nele.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Um arquivo de disco rígido virtual de <b>tamanho fixo</b> pode levar mais tempo para ser criado em alguns sistemas, mas geralmente possui acesso mais rápido.</p></translation>
+        <translation type="obsolete"><p>Um arquivo de disco rígido virtual de <b>tamanho fixo</b> pode levar mais tempo para ser criado em alguns sistemas, mas geralmente possui acesso mais rápido.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Você também pode optar por <b>dividir</b> o arquivo de disco virtual em diversos arquivos de até dois gigabytes cada. Isto é útil para situações em que você precisa armazenar a máquina virtual em dispositivos USB removíveis ou em sistemas mais antigos que não saibam lidar com arquivos muito grandes.</translation>
+        <translation type="obsolete"><p>Você também pode optar por <b>dividir</b> o arquivo de disco virtual em diversos arquivos de até dois gigabytes cada. Isto é útil para situações em que você precisa armazenar a máquina virtual em dispositivos USB removíveis ou em sistemas mais antigos que não saibam lidar com arquivos muito grandes.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -12026,19 +12997,19 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Escolha a localização para o arquivo contendo o novo disco rígido virtual</translation>
+        <translation type="obsolete">Escolha a localização para o arquivo contendo o novo disco rígido virtual</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Novo disco rígido a ser criado</translation>
+        <translation type="obsolete">Novo disco rígido a ser criado</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Informe o nome do arquivo em disco que conterá o disco virtual no campo abaixo ou clique no ícone da pasta para selecionar uma localização diferente para o arquivo.</translation>
+        <translation type="obsolete">Informe o nome do arquivo em disco que conterá o disco virtual no campo abaixo ou clique no ícone da pasta para selecionar uma localização diferente para o arquivo.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Escolha a localização para o arquivo contendo o novo disco rígido virtual...</translation>
+        <translation type="obsolete">Escolha a localização para o arquivo contendo o novo disco rígido virtual...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -12047,15 +13018,87 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Disco rígido para &copiar</translation>
+        <translation type="obsolete">Disco rígido para &copiar</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>&Novo disco rígido a ser criado</translation>
+        <translation type="obsolete">&Novo disco rígido a ser criado</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo de arquivo de disco rígido</translation>
+        <translation type="obsolete">&Tipo de arquivo de disco rígido</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12098,7 +13141,7 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Selecione o tipo de clone que deseja criar.</p><p>Se escolher <b>Clone completo</b>, uma cópia exata (incluindo todos os arquivos de discos rígidos virtuais) da máquina virtual original será criada.</p><p>Se escolher <b>Clone linkado</b>, uma nova máquina virtual será criada, mas os arquivos de discos rígidos virtuais serão atrelados aos arquivos de discos rígidos virtuais da máquina original. Logo, não será po [...]
+        <translation type="obsolete"><p>Selecione o tipo de clone que deseja criar.</p><p>Se escolher <b>Clone completo</b>, uma cópia exata (incluindo todos os arquivos de discos rígidos virtuais) da máquina virtual original será criada.</p><p>Se escolher <b>Clone linkado</b>, uma nova máquina virtual será criada, mas os arquivos de discos rígidos virtuais serão atrelados aos arquivos de discos rígidos virtuais da máquina original. L [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -12156,6 +13199,10 @@ utilizando o diálogo de Configurações da MV.</p></translation>
         <source>&Linked Clone</source>
         <translation>Clone &Linkado</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -12432,7 +13479,7 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Criar Disco Rígido Virtual</translation>
+        <translation type="obsolete">Criar Disco Rígido Virtual</translation>
     </message>
     <message>
         <source>Create</source>
@@ -12440,31 +13487,31 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Tipo de arquivo de disco rígido</translation>
+        <translation type="obsolete">Tipo de arquivo de disco rígido</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Escolha o tipo de arquivo que você gostaria de utilizar para o novo disco rígido virtual. Caso não necessite utilizá-lo com outros softwares de virtualização, pode deixar esta opção como está.</translation>
+        <translation type="obsolete">Escolha o tipo de arquivo que você gostaria de utilizar para o novo disco rígido virtual. Caso não necessite utilizá-lo com outros softwares de virtualização, pode deixar esta opção como está.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Armazenamento em disco rígido físico</translation>
+        <translation type="obsolete">Armazenamento em disco rígido físico</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Escolha se o arquivo contendo o disco rígido virtual deve crescer à medida em que é utilizado (dinamicamente alocado) ou se ele deve ser criado já com o tamanho máximo (tamanho fixo).</translation>
+        <translation type="obsolete">Escolha se o arquivo contendo o disco rígido virtual deve crescer à medida em que é utilizado (dinamicamente alocado) ou se ele deve ser criado já com o tamanho máximo (tamanho fixo).</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Um arquivo de disco rígido virtual <b>dinamicamente alocado</b> irá utilizar espaço em seu disco rígido físico à medida em que for sendo utilizado (até um <b>tamanho máximo pré-definido</b>), mas não irá encolher caso seja liberado espaço nele.</p></translation>
+        <translation type="obsolete"><p>Um arquivo de disco rígido virtual <b>dinamicamente alocado</b> irá utilizar espaço em seu disco rígido físico à medida em que for sendo utilizado (até um <b>tamanho máximo pré-definido</b>), mas não irá encolher caso seja liberado espaço nele.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Um arquivo de disco rígido virtual de <b>tamanho fixo</b> pode levar mais tempo para ser criado em alguns sistemas, mas geralmente possui acesso mais rápido.</p></translation>
+        <translation type="obsolete"><p>Um arquivo de disco rígido virtual de <b>tamanho fixo</b> pode levar mais tempo para ser criado em alguns sistemas, mas geralmente possui acesso mais rápido.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Você também pode optar por <b>dividir</b> o arquivo de disco virtual em diversos arquivos de até dois gigabytes cada. Isto é útil para situações em que você precisa armazenar a máquina virtual em dispositivos USB removíveis ou em sistemas mais antigos que não saibam lidar com arquivos muito grandes.</translation>
+        <translation type="obsolete"><p>Você também pode optar por <b>dividir</b> o arquivo de disco virtual em diversos arquivos de até dois gigabytes cada. Isto é útil para situações em que você precisa armazenar a máquina virtual em dispositivos USB removíveis ou em sistemas mais antigos que não saibam lidar com arquivos muito grandes.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -12488,15 +13535,15 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Informe o nome do novo disco rígido virtual no campo abaixo ou clique no ícone da pasta para selecionar uma localização diferente para o arquivo.</translation>
+        <translation type="obsolete">Informe o nome do novo disco rígido virtual no campo abaixo ou clique no ícone da pasta para selecionar uma localização diferente para o arquivo.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Escolha a localização para o arquivo contendo o novo disco rígido virtual...</translation>
+        <translation type="obsolete">Escolha a localização para o arquivo contendo o novo disco rígido virtual...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Selecione o tamanho da imagem de disco virtual em megabytes. Este tamanho é o limite máximo de dados que uma máquina virtual poderá armazenar neste disco rígido.</translation>
+        <translation type="obsolete">Selecione o tamanho da imagem de disco virtual em megabytes. Este tamanho é o limite máximo de dados que uma máquina virtual poderá armazenar neste disco rígido.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -12508,7 +13555,55 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>&Tipo de arquivo de disco rígido</translation>
+        <translation type="obsolete">&Tipo de arquivo de disco rígido</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12559,11 +13654,11 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Disco rígido</translation>
+        <translation type="obsolete">Disco rígido</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>Se você quiser, pode acrescentar um disco rígido virtual a esta máquina virtual. Você pode acrescentar um arquivo de disco rígido virtual na lista ou selecionar outro local utilizando o ícone de pasta.</p><p>Se você deseja uma configuraçào de armazenamento mais complexa, pode pular este passo e fazer as mudanças manualmente na configuração da máquina assim que ela terminar de ser criada.</p><p>Recomenda-se utilizar um disco rígido de  [...]
+        <translation type="obsolete"><p>Se você quiser, pode acrescentar um disco rígido virtual a esta máquina virtual. Você pode acrescentar um arquivo de disco rígido virtual na lista ou selecionar outro local utilizando o ícone de pasta.</p><p>Se você deseja uma configuraçào de armazenamento mais complexa, pode pular este passo e fazer as mudanças manualmente na configuração da máquina assim que ela terminar de ser criada.</p><p>Recomenda-se utilizar um  [...]
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -12579,7 +13674,7 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Selecione um arquivo de disco rígido virtual...</translation>
+        <translation type="obsolete">Selecione um arquivo de disco rígido virtual...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -12587,15 +13682,39 @@ utilizando o diálogo de Configurações da MV.</p></translation>
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Não acrescentar um disco rígi&do virtual</translation>
+        <translation type="obsolete">Não acrescentar um disco rígi&do virtual</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Criar um disco rígido virtual agora</translation>
+        <translation type="obsolete">&Criar um disco rígido virtual agora</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Utilizar um disco rígido virtual existente</translation>
+        <translation type="obsolete">&Utilizar um disco rígido virtual existente</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Selecione um arquivo de disco rígido virtual...</translation>
     </message>
 </context>
 <context>
@@ -13860,7 +14979,7 @@ Versão %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Abre um diálogo para selecionar uma pasta diferente.</translation>
+        <translation type="obsolete">Abre um diálogo para selecionar uma pasta diferente.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -13868,7 +14987,7 @@ Versão %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Abre um diálogo para selecionar um arquivo diferente.</translation>
+        <translation type="obsolete">Abre um diálogo para selecionar um arquivo diferente.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -13880,16 +14999,32 @@ Versão %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Por favor informe o caminho da pasta desejada aqui.</translation>
+        <translation type="obsolete">Por favor informe o caminho da pasta desejada aqui.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Por favor digite o caminho da pasta desejada aqui.</translation>
+        <translation type="obsolete">Por favor digite o caminho da pasta desejada aqui.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>O valor padrão real do caminho será exibido após aceitar as mudanças e abrir este diálogo novamente.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -15137,7 +16272,7 @@ Versão %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">A conexão deste disco rígido será feita indiretamente utilizando um disco rígido diferencial adicional.</translation>
+        <translation type="unfinished">A conexão deste disco rígido será feita indiretamente utilizando um disco rígido diferencial adicional.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -15147,7 +16282,7 @@ Versão %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Este disco rígido de base está indiretamente conectado através do seguinte disco rígido diferencial:</translation>
+        <translation type="unfinished">Este disco rígido de base está indiretamente conectado através do seguinte disco rígido diferencial:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -15702,11 +16837,11 @@ Versão %1</translation>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Selecione o arquivo de disco rígido virtual</translation>
+        <translation type="obsolete">Selecione o arquivo de disco rígido virtual</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Todos os arquivos de disco rígido virtual (%1)</translation>
+        <translation type="obsolete">Todos os arquivos de disco rígido virtual (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -15750,7 +16885,7 @@ Versão %1</translation>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Escolha a localização para o arquivo contendo o novo disco rígido virtual</translation>
+        <translation type="obsolete">Escolha a localização para o arquivo contendo o novo disco rígido virtual</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -15932,23 +17067,40 @@ Versão %1</translation>
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>A conexão deste disco rígido será feita indiretamente utilizando um novo disco rígido diferencial.</translation>
+        <translation type="obsolete">A conexão deste disco rígido será feita indiretamente utilizando um novo disco rígido diferencial.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>Alguns dos arquivos nesta cadeia de discos rígidos estão inacessíveis. Utilize o Gerenciador de Mídias Virtuais para inspecionar estes arquivos.</translation>
+        <translation type="obsolete">Alguns dos arquivos nesta cadeia de discos rígidos estão inacessíveis. Utilize o Gerenciador de Mídias Virtuais para inspecionar estes arquivos.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>Este disco rígido de base está indiretamente conectado através do seguinte disco rígido diferencial:</translation>
+        <translation type="obsolete">Este disco rígido de base está indiretamente conectado através do seguinte disco rígido diferencial:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -17876,7 +19028,7 @@ para acessá-lo de um sistema operacional Linux. Este recurso requer a instalaç
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Mostra detalhes sobre o snapshot selecionado</translation>
+        <translation type="obsolete">Mostra detalhes sobre o snapshot selecionado</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -17916,11 +19068,11 @@ para acessá-lo de um sistema operacional Linux. Este recurso requer a instalaç
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restaura o snapshot selecionado para a máquina virtual</translation>
+        <translation type="obsolete">Restaura o snapshot selecionado para a máquina virtual</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Apaga o snapshot selecionado para a máquina virtual</translation>
+        <translation type="obsolete">Apaga o snapshot selecionado para a máquina virtual</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -17932,7 +19084,23 @@ para acessá-lo de um sistema operacional Linux. Este recurso requer a instalaç
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Clona a máquina virtual selecionada</translation>
+        <translation type="obsolete">Clona a máquina virtual selecionada</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -17991,6 +19159,10 @@ para acessá-lo de um sistema operacional Linux. Este recurso requer a instalaç
             <numerusform>Aviso: Você está criando snapshots de uma máquina em execução que possui %n imagens imutáveis associadas a ela. Enquanto você estiver trabalhando a partir destes snapshots, as imagens imutáveis não serão reestabelecidas para evitar perda de dados.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Snapshot %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
index 19eff55..2eb0010 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ro.ts
@@ -319,7 +319,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Redimensionează automat ecranul musafir atunci când fereastra este redimensionată (necesită Guest Additions)</translation>
+        <translation type="obsolete">Redimensionează automat ecranul musafir atunci când fereastra este redimensionată (necesită Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -407,7 +407,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Trimite evenimentul apăsare buton ACPI către mașina virtuală</translation>
+        <translation type="obsolete">Trimite evenimentul apăsare buton ACPI către mașina virtuală</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -443,7 +443,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Modifică setările plăcilor de rețea</translation>
+        <translation type="obsolete">Modifică setările plăcilor de rețea</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -451,7 +451,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Deschide dialogul directoare partajate</translation>
+        <translation type="obsolete">Deschide dialogul directoare partajate</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -517,16 +517,12 @@
         <translation type="unfinished">&Setări...</translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Afișează fișiere log ale mașinii virtuale selectate</translation>
+        <translation type="obsolete">Afișează fișiere log ale mașinii virtuale selectate</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -549,10 +545,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Caută o versiune mai nouă a VirtualBox</translation>
     </message>
@@ -562,7 +554,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Arată dialogul cu informații despre produs</translation>
+        <translation type="obsolete">Arată dialogul cu informații despre produs</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -573,10 +565,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Fișier</translation>
@@ -613,11 +601,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Preferințe...</translation>
+        <translation type="obsolete">&Preferințe...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Afișează dialogul preferințe globale</translation>
+        <translation type="obsolete">Afișează dialogul preferințe globale</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -633,15 +621,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Creează o mașină virtuală nouă</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Creează o mașină virtuală nouă</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -656,445 +636,558 @@
         <translation type="unfinished">A&rată</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Reîmprospătează starea de accesibilitate a mașinii virtuale selectate</translation>
+    </message>
+    <message>
+        <source>&New...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Reîmprospătează starea de accesibilitate a mașinii virtuale selectate</translation>
+        <source>&Add...</source>
+        <translation type="unfinished">&Adaugă...</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>Discard</source>
+        <translation type="unfinished">Renunță</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Înlătură starea salvată a mașinii virtuale selectate</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">În&chide</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">Afișează &log...</translation>
+    </message>
+    <message>
+        <source>&VirtualBox Web Site...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">&Resetează toate avertizările</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Veri&fică după actualizări...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">&Adaugă...</translation>
+        <source>&New Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Renunță</translation>
+        <source>&Network Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Înlătură starea salvată a mașinii virtuale selectate</translation>
+        <source>R&emote Display</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">În&chide</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">Afișează &log...</translation>
+        <source>&Video Capture Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">&Resetează toate avertizările</translation>
+        <source>&Webcams</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Veri&fică după actualizări...</translation>
+        <source>&Insert Guest Additions CD image...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Tastatură</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>Network</source>
+        <translation type="obsolete">Rețea</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Afișează &log...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&File</source>
+        <translation type="unfinished">&Fișier</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Preferințe...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">Discuri &hard</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Tastatură</translation>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Activează</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Previzualizare monitor %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Rețea</translation>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Nici un dispozitiv suportat nu este conectat la PC gazdă</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Afișează &log...</translation>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Fișier</translation>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Reî&mprospătează</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1103,17 +1196,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Activează</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Activează</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1131,6 +1219,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1184,15 +1296,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Controlor disc dur IDE</translation>
+        <translation type="obsolete">Controlor disc dur IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Controlor disc dur SATA</translation>
+        <translation type="obsolete">Controlor disc dur SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Controlor disc dur SCSI</translation>
+        <translation type="obsolete">Controlor disc dur SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1249,15 +1361,27 @@
         <translation type="obsolete">MO</translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1592,16 +1716,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1714,33 +1835,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -2821,18 +2915,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -2864,11 +2950,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2891,27 +2985,35 @@
         <translation type="unfinished">Versiune</translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Remove Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2963,15 +3065,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="obsolete">Previzualizare în timp re&al</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3014,11 +3116,11 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3202,15 +3304,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Adaugă rețea doar-gazdă</translation>
+        <translation type="obsolete">&Adaugă rețea doar-gazdă</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Ște&rge rețea doar-gazdă</translation>
+        <translation type="obsolete">Ște&rge rețea doar-gazdă</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Modifică rețea doar-gazdă</translation>
+        <translation type="obsolete">&Modifică rețea doar-gazdă</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3298,64 +3400,100 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>no</source>
+        <source>no</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Supports IPv6</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Default IPv6 route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports IPv6</source>
+        <source>The name <b>%1</b> is being used for several NAT networks.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Default IPv6 route</source>
+        <source>Active</source>
+        <comment>NAT network</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 address.</source>
+        <source>Add NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv4 network mask.</source>
+        <source>Remove NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid IPv6 address.</source>
+        <source>Edit NAT Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server address.</source>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server mask.</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server lower address bound.</source>
+        <source>Edits selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Host interface <b>%1</b> does not currently have a valid DHCP server upper address bound.</source>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The name <b>%1</b> is being used for several NAT networks.</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active</source>
-        <comment>NAT network</comment>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3450,7 +3588,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Folosește configurarea manuală pentru această placă de rețea doar-gazdă.</translation>
+        <translation type="obsolete">Folosește configurarea manuală pentru această placă de rețea doar-gazdă.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3494,7 +3632,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indică dacă serverul DHCP este activat sau nu pe mașină la pornire.</translation>
+        <translation type="obsolete">Indică dacă serverul DHCP este activat sau nu pe mașină la pornire.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3528,6 +3666,14 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3540,10 +3686,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3568,31 +3710,35 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3626,23 +3772,23 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3662,7 +3808,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Specifică frecvența verificărilor. Notați că dacă doriți să dezactivați aceste verificări, trebuie doar să deselectați căsuță de bifare de mai sus.</translation>
+        <translation type="obsolete">Specifică frecvența verificărilor. Notați că dacă doriți să dezactivați aceste verificări, trebuie doar să deselectați căsuță de bifare de mai sus.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3696,6 +3842,10 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>All New Releases and &Pre-Releases</source>
         <translation>Toate noile lansări și &prelansări</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4060,11 +4210,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation></translation>
@@ -4134,7 +4279,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indică dacă tastatura este capturată de SO musafir (<img src=:/hostkey_captured_16px.png/>) sau nu (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indică dacă tastatura este capturată de SO musafir (<img src=:/hostkey_captured_16px.png/>) sau nu (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -4167,6 +4312,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4187,44 +4341,24 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Previzualizare monitor %1</translation>
+        <translation type="obsolete">Previzualizare monitor %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Instantaneu %1</translation>
+        <translation type="obsolete">Instantaneu %1</translation>
     </message>
     <message>
         <source>No floppy devices attached to that VM</source>
         <translation type="obsolete">Nicio unitate de dischetă atașată la acea mașina virtuală</translation>
     </message>
     <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nici un dispozitiv suportat nu este conectat la PC gazdă</translation>
+        <translation type="obsolete">Nici un dispozitiv suportat nu este conectat la PC gazdă</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4242,7 +4376,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Controlează driverul de ieșire aurio. <b>Null Audio Driver</b> determină musafirul să vadă o placă audio, însă orice acces la aceasta va fi ignorat.</translation>
+        <translation type="obsolete">Controlează driverul de ieșire aurio. <b>Null Audio Driver</b> determină musafirul să vadă o placă audio, însă orice acces la aceasta va fi ignorat.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4252,6 +4386,10 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Selectează tipul plăcii de sunet virtuală. În funcție de această valoare, VirtualBox va oferi mașinii virtuale o configurație de sunet diferită.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4261,7 +4399,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MO</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MO</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4317,7 +4455,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Definește metoda de autentificare VRDP.</translation>
+        <translation type="obsolete">Definește metoda de autentificare VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4325,7 +4463,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Specifică timeoutul pentru autentificarea musafirului, în milisecunde.</translation>
+        <translation type="obsolete">Specifică timeoutul pentru autentificarea musafirului, în milisecunde.</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -4336,10 +4474,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation>Activează accelerarea video &2D</translation>
     </message>
     <message>
-        <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mo&nitor Count:</source>
         <translation>&Număr monitoare:</translation>
     </message>
@@ -4349,11 +4483,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4376,46 +4506,18 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4424,10 +4526,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4479,10 +4577,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Minibară:</translation>
     </message>
@@ -4528,21 +4622,17 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4554,6 +4644,70 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4563,7 +4717,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Afișează calea unde vor fi stocate instantaneele acestei mașini virtuale. Notați faptul că instantaneele pot ocupa puțin mai mult spațiu pe disc.</translation>
+        <translation type="obsolete">Afișează calea unde vor fi stocate instantaneele acestei mașini virtuale. Notați faptul că instantaneele pot ocupa puțin mai mult spațiu pe disc.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4810,10 +4964,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4850,6 +5000,14 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4871,15 +5029,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Dacă este bifat, afișează Minibara în modul pe tot ecranul și în cel transparent.</translation>
+        <translation type="obsolete">Dacă este bifat, afișează Minibara în modul pe tot ecranul și în cel transparent.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Arată în mod pe tot &ecranul/transparent</translation>
+        <translation type="obsolete">Arată în mod pe tot &ecranul/transparent</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Dacă este bifată, poziționează minibara în partea de sus a ecranului, deși poziția implicită este la baza ecranului.</translation>
+        <translation type="obsolete">Dacă este bifată, poziționează minibara în partea de sus a ecranului, deși poziția implicită este la baza ecranului.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -4889,6 +5047,18 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -4922,7 +5092,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Controlează modul în care această placă de rețea virtuală este atașată la rețeaua reală a SO gazdă.</translation>
+        <translation type="obsolete">Controlează modul în care această placă de rețea virtuală este atașată la rețeaua reală a SO gazdă.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -4950,7 +5120,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indică dacă rețeaua virtuală este conectată sau nu la pornirea mașinii virtuale.</translation>
+        <translation type="obsolete">Indică dacă rețeaua virtuală este conectată sau nu la pornirea mașinii virtuale.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5025,7 +5195,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Arată sau ascunde opțiuni adiționale pentru placa de rețea.</translation>
+        <translation type="obsolete">Arată sau ascunde opțiuni adiționale pentru placa de rețea.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5036,10 +5206,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation>Ca&blu de rețea conectat</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5056,10 +5222,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5107,6 +5269,26 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5205,21 +5387,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Afișează adresa portului I/O de bază pentru acest port paralel. Valori valide sunt întregi între <tt>0</tt> și <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Număr port duplicat selectat </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Calea câtre port nu este specificată </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Cale port duplicată a fost introdusă </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5242,33 +5409,24 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>UIMachineSettingsParallelPage</name>
     <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Număr port duplicat selectat </translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Calea câtre port nu este specificată </translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Cale port duplicată a fost introdusă </translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5288,15 +5446,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Adaugă o definiție nouă de director partajat.</translation>
+        <translation type="obsolete">Adaugă o definiție nouă de director partajat.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Editează definiția de director partajat selectată.</translation>
+        <translation type="obsolete">Editează definiția de director partajat selectată.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Șterge definiția de director partajat selectată.</translation>
+        <translation type="obsolete">Șterge definiția de director partajat selectată.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5336,15 +5494,15 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Adaugă dosar partajat</translation>
+        <translation type="obsolete">&Adaugă dosar partajat</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Modifică dosar partajat</translation>
+        <translation type="obsolete">&Modifică dosar partajat</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Ște&rge dosar partajat</translation>
+        <translation type="obsolete">Ște&rge dosar partajat</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5358,6 +5516,30 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Yes</source>
         <translation type="unfinished">Da</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5406,7 +5588,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5455,7 +5637,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Controlează modul de lucru al acestui port serial. Dacă selectați <b>Deconectat</b>, SO musafir va detecta portul serial, dar nu va putea să îl folosească.</translation>
+        <translation type="obsolete">Controlează modul de lucru al acestui port serial. Dacă selectați <b>Deconectat</b>, SO musafir va detecta portul serial, dar nu va putea să îl folosească.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5486,10 +5668,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation>Afișează adresa portului I/O de bază pentru acest port paralel. Valori valide sunt întregi între <tt>0</tt> și <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5501,20 +5679,13 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Număr port duplicat selectat </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Calea câtre port nu este specificată </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Cale port duplicată a fost introdusă </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5538,6 +5709,21 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Număr port duplicat selectat </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Calea câtre port nu este specificată </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Cale port duplicată a fost introdusă </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5604,14 +5790,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation><nobr><b>%1</b></nobr><br><nobr>Magistrală:&nbsp;&nbsp;%2</nobr><br><nobr>Tip:&nbsp;&nbsp;%3</nobr></translation>
     </message>
     <message>
-        <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Add Controller</source>
         <translation>Adaugă controlor</translation>
     </message>
@@ -5656,22 +5834,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation>Șterge atașament</translation>
     </message>
     <message>
-        <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>SATA Controller</source>
         <translation type="obsolete">Controlor SATA</translation>
     </message>
@@ -5701,7 +5863,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Conține toate controlerele de stocare ale acestei mașini și imaginile virtuale și unitățile gazdă atașate la ele.</translation>
+        <translation type="obsolete">Conține toate controlerele de stocare ale acestei mașini și imaginile virtuale și unitățile gazdă atașate la ele.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5721,7 +5883,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Schimba numele controlorului de stocare selectat în Arborele de stocare.</translation>
+        <translation type="obsolete">Schimba numele controlorului de stocare selectat în Arborele de stocare.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5777,7 +5939,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Permite folosirea capabilităților de caching I/O ale gazdei.</translation>
+        <translation type="obsolete">Permite folosirea capabilităților de caching I/O ale gazdei.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5809,152 +5971,189 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Image</source>
-        <translation type="unfinished">Imagine</translation>
+        <translation type="obsolete">Imagine</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Imagine</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5974,12 +6173,12 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MO</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MO</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6012,7 +6211,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Mută în jos (Ctrl-Down)</translation>
+        <translation type="obsolete">Mută în jos (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6020,7 +6219,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Mută în sus (Ctrl-Up)</translation>
+        <translation type="obsolete">Mută în sus (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6089,7 +6288,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;procesoare</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;procesoare</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6100,10 +6299,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6128,16 +6323,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6189,56 +6374,82 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Adaugă filtru gol</translation>
+        <translation type="obsolete">&Adaugă filtru gol</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>A&daugă filtru de la dispozitiv</translation>
+        <translation type="obsolete">A&daugă filtru de la dispozitiv</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Editează filtru</translation>
+        <translation type="obsolete">&Editează filtru</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Șterge filtru</translation>
+        <translation type="obsolete">&Șterge filtru</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Mută filtrul în sus</translation>
+        <translation type="obsolete">&Mută filtrul în sus</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>M&ută filtrul în jos</translation>
+        <translation type="obsolete">M&ută filtrul în jos</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Adaugă un filtru USB nou cu toate câmpurile setate inițial la șiruri goale. Notați ca un astfel de filtru se va potrivi la orice dispozitiv USB atașat.</translation>
+        <translation type="obsolete">Adaugă un filtru USB nou cu toate câmpurile setate inițial la șiruri goale. Notați ca un astfel de filtru se va potrivi la orice dispozitiv USB atașat.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Adaugă un filtru USB nou cu toate câmpurile setate la valorile dispozitivelor USB selectate conectate la PC gazdă.</translation>
+        <translation type="obsolete">Adaugă un filtru USB nou cu toate câmpurile setate la valorile dispozitivelor USB selectate conectate la PC gazdă.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Editează filtrul USB selectat.</translation>
+        <translation type="obsolete">Editează filtrul USB selectat.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Șterge filtrul USB selectat.</translation>
+        <translation type="obsolete">Șterge filtrul USB selectat.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Mută filtrul USB în sus.</translation>
+        <translation type="obsolete">Mută filtrul USB în sus.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Mută filtrul USB în jos.</translation>
+        <translation type="obsolete">Mută filtrul USB în jos.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6255,7 +6466,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Când este bifat, activează controlorul virtual USB EHCI al acestei mașini. Controlorul USB EHCI oferă suport USB 2.0.</translation>
+        <translation type="obsolete">Când este bifat, activează controlorul virtual USB EHCI al acestei mașini. Controlorul USB EHCI oferă suport USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6284,57 +6495,109 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"><nobr>ID Produs: %2</nobr></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Revizie: %3</nobr></translation>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Revizie: %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Produs: %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Manufacturat: %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Nr. Serie %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Stare %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Adaugă filtru gol</translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Produs: %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Adaugă filtru de la dispozitiv</translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Manufacturat: %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Nr. Serie %1</nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Șterge filtru</translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Mută filtrul în sus</translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Stare %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Mută filtrul în jos</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6373,7 +6636,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definește filtrul ID vânzător. Formatulșirului de <i>potrivire exactă</i> este <tt>XXXX</tt> unde<tt>X</tt> este un caracter hexazecimal. Un șir gol se va potrivioricărei valori.</translation>
+        <translation type="obsolete">Definește filtrul ID vânzător. Formatulșirului de <i>potrivire exactă</i> este <tt>XXXX</tt> unde<tt>X</tt> este un caracter hexazecimal. Un șir gol se va potrivioricărei valori.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6381,7 +6644,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definește filtrul ID produs. Formatulșirului de <i>potrivire exactă</i> este <tt>XXXX</tt> unde<tt>X</tt> este un caracter hexazecimal. Un șir gol se va potrivioricărei valori.</translation>
+        <translation type="obsolete">Definește filtrul ID produs. Formatulșirului de <i>potrivire exactă</i> este <tt>XXXX</tt> unde<tt>X</tt> este un caracter hexazecimal. Un șir gol se va potrivioricărei valori.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6389,7 +6652,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Definește filtrul număr revizie. Formatulșirului de <i>potrivire exactă</i> este <tt>IIFF</tt> unde<tt>I</tt> este un caracter hexazecimal al părții întregi, iar <tt>F</tt>este un caracter zecimal al părții fracționale. Un șir gol se va potrivioricărei valori.</translation>
+        <translation type="obsolete">Definește filtrul număr revizie. Formatulșirului de <i>potrivire exactă</i> este <tt>IIFF</tt> unde<tt>I</tt> este un caracter hexazecimal al părții întregi, iar <tt>F</tt>este un caracter zecimal al părții fracționale. Un șir gol se va potrivioricărei valori.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6397,7 +6660,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definește filtrul 'manufacturat de' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
+        <translation type="obsolete">Definește filtrul 'manufacturat de' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6405,7 +6668,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definește filtrul 'produs de' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
+        <translation type="obsolete">Definește filtrul 'produs de' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6413,7 +6676,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definește filtrul 'număr serie' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
+        <translation type="obsolete">Definește filtrul 'număr serie' caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6421,7 +6684,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definește filtrul port USB gazdă caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
+        <translation type="obsolete">Definește filtrul port USB gazdă caun șir de <i>potrivire exactă</i>. Un șir gol se va potrivi oricăreivalori.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6429,7 +6692,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Definește dacă acest filtru se aplicădispozitivelor USB atașate local computerului gazdă (<i>Nu</i>),la un client VRDP al computerului (<i>Da</i>),sau amândurora (<i>Oricare</i>).</translation>
+        <translation type="obsolete">Definește dacă acest filtru se aplicădispozitivelor USB atașate local computerului gazdă (<i>Nu</i>),la un client VRDP al computerului (<i>Da</i>),sau amândurora (<i>Oricare</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6443,6 +6706,38 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>USB Filter Details</source>
         <translation>Detalii filtru USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6461,10 +6756,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6476,6 +6767,10 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7103,7 +7398,7 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Nu am putut intra în modul ecran complet din cauza memoriei video insuficiente pe musafir.</p><p>Ar trebui să configurați MV să aibe cel puțin <b>%1</b> memorie video.</p><p>Apăsați <b>Ignoră</b> pentru a trece la modul ecran complet oricum sau apăsați <b>Renunță</b> pentru a revoca  operațiunea.</p></translation>
+        <translation type="obsolete"><p>Nu am putut intra în modul ecran complet din cauza memoriei video insuficiente pe musafir.</p><p>Ar trebui să configurați MV să aibe cel puțin <b>%1</b> memorie video.</p><p>Apăsați <b>Ignoră</b> pentru a trece la modul ecran complet oricum sau apăsați <b>Renunță</b> pentru a revoca  operațiunea.</p></translation>
     </message>
     <message>
         <source><p>There is a new version of VirtualBox found on the VirtualBox web-site: <b>%1</b>.</p><p>If you want to download and install this version please proceed with the following link:</p><p><a href=%2>%3</a></p></source>
@@ -7212,10 +7507,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation>Șterge</translation>
@@ -7373,10 +7664,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation>Restabilește</translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation>Șterge</translation>
     </message>
@@ -7441,10 +7728,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7517,10 +7800,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7710,10 +7989,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7822,18 +8097,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7873,30 +8136,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8016,10 +8255,6 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8091,6 +8326,46 @@ Acest director este folosit, dacă nu este explicit specificat altfel, atunci c
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9010,6 +9285,13 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Nume</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Nume</translation>
     </message>
     <message>
@@ -9032,6 +9314,34 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -9250,13 +9560,6 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9266,6 +9569,10 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9859,96 +10166,96 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9991,10 +10298,6 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10050,6 +10353,10 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10309,83 +10616,83 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10432,31 +10739,31 @@ din listă apăsând butonul <b>Existent</b> (pentru a invoca dialog
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11718,7 +12025,7 @@ Versiunea %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Deschide o fereastră dialog pentru a selecta un alt dosar.</translation>
+        <translation type="obsolete">Deschide o fereastră dialog pentru a selecta un alt dosar.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11726,7 +12033,7 @@ Versiunea %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Deschide o fereastră dialog pentru a selecta un alt fișier.</translation>
+        <translation type="obsolete">Deschide o fereastră dialog pentru a selecta un alt fișier.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11738,16 +12045,32 @@ Versiunea %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Vă rog introduceți calea către dosar dorită.</translation>
+        <translation type="obsolete">Vă rog introduceți calea către dosar dorită.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Vă rog introduceți calea către fișier dorită.</translation>
+        <translation type="obsolete">Vă rog introduceți calea către fișier dorită.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13376,14 +13699,6 @@ Versiunea %1</translation>
         <translation type="unfinished">Descriere</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13424,10 +13739,6 @@ Versiunea %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -13605,25 +13916,37 @@ Versiunea %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15465,7 +15788,7 @@ pentru a-l accesa dintr-un SO Linux. Această funcție necesită Guest Additions
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Arată detalii despre instantaneul selectat</translation>
+        <translation type="obsolete">Arată detalii despre instantaneul selectat</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -15485,11 +15808,11 @@ pentru a-l accesa dintr-un SO Linux. Această funcție necesită Guest Additions
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Restabilește instantaneul selectat al mașinii virtuale</translation>
+        <translation type="obsolete">Restabilește instantaneul selectat al mașinii virtuale</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Șterge instantaneul selectat al mașinii virtuale</translation>
+        <translation type="obsolete">Șterge instantaneul selectat al mașinii virtuale</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15500,7 +15823,19 @@ pentru a-l accesa dintr-un SO Linux. Această funcție necesită Guest Additions
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -15561,6 +15896,10 @@ pentru a-l accesa dintr-un SO Linux. Această funcție necesită Guest Additions
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Instantaneu %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
index d4d9aee..ad2d440 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts
@@ -264,7 +264,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Автоматически подгонять размер экрана гостевой ОС при изменении размеров окна (требуются Дополнения гостевой ОС)</translation>
+        <translation type="obsolete">Автоматически подгонять размер экрана гостевой ОС при изменении размеров окна (требуются Дополнения гостевой ОС)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -356,7 +356,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Послать виртуальной машине сигнал завершения работы</translation>
+        <translation type="obsolete">Послать виртуальной машине сигнал завершения работы</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -392,7 +392,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Открыть диалог для настройки сетевых адаптеров</translation>
+        <translation type="obsolete">Открыть диалог для настройки сетевых адаптеров</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -400,7 +400,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Открыть диалог для настройки общих папок</translation>
+        <translation type="obsolete">Открыть диалог для настройки общих папок</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -545,7 +545,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Настроить выбранную виртуальную машину</translation>
+        <translation type="obsolete">Настроить выбранную виртуальную машину</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -553,7 +553,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Показать файлы журналов выбранной виртуальной машины</translation>
+        <translation type="obsolete">Показать файлы журналов выбранной виртуальной машины</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -577,7 +577,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Показать менеджер сетевых операций</translation>
+        <translation type="obsolete">Показать менеджер сетевых операций</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -589,7 +589,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Показать диалоговое окно с информацией о программе VirtualBox</translation>
+        <translation type="obsolete">Показать диалоговое окно с информацией о программе VirtualBox</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -601,7 +601,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Сделать снимок экрана виртуальной машины</translation>
+        <translation type="obsolete">Сделать снимок экрана виртуальной машины</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -644,11 +644,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Настройки...</translation>
+        <translation type="obsolete">&Настройки...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Открыть диалог глобальных настроек</translation>
+        <translation type="obsolete">Открыть диалог глобальных настроек</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -664,15 +664,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Создать новую виртуальную машину</translation>
+        <translation type="obsolete">Создать новую виртуальную машину</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Добавить существующую виртуальную машину</translation>
+        <translation type="obsolete">Добавить существующую виртуальную машину</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Переименовать выбранную группу виртуальных машин</translation>
+        <translation type="obsolete">Переименовать выбранную группу виртуальных машин</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -692,15 +692,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>Об&новить</translation>
+        <translation type="obsolete">Об&новить</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Перепроверить доступность выбранной виртуальной машины</translation>
+        <translation type="obsolete">Перепроверить доступность выбранной виртуальной машины</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Показать в Finder</translation>
+        <translation type="obsolete">Показать в Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -708,7 +708,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Показать в обозревателе</translation>
+        <translation type="obsolete">Показать в обозревателе</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -716,11 +716,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Показать в файловом менеджере</translation>
+        <translation type="obsolete">Показать в файловом менеджере</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Показать файлы выбранных виртуальных машин в файловом менеджере</translation>
+        <translation type="obsolete">Показать файлы выбранных виртуальных машин в файловом менеджере</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -732,7 +732,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Сгруппировать выбранные виртуальные машины</translation>
+        <translation type="obsolete">Сгруппировать выбранные виртуальные машины</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -740,7 +740,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Копировать выбранную виртуальную машину</translation>
+        <translation type="obsolete">Копировать выбранную виртуальную машину</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -756,7 +756,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>С&бросить сохранённое состояние...</translation>
+        <translation type="obsolete">С&бросить сохранённое состояние...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -764,7 +764,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Создать псевдоним на рабочем столе</translation>
+        <translation type="obsolete">Создать псевдоним на рабочем столе</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -772,7 +772,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Создать ярлык на рабочем столе</translation>
+        <translation type="obsolete">Создать ярлык на рабочем столе</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -804,59 +804,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Сортировать элементы выбранной группы виртуальных машин по алфавиту</translation>
+        <translation type="obsolete">Сортировать элементы выбранной группы виртуальных машин по алфавиту</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Удалить выбранные виртуальные машины</translation>
+        <translation type="obsolete">Удалить выбранные виртуальные машины</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Запустить выбранные виртуальные машины</translation>
+        <translation type="obsolete">Запустить выбранные виртуальные машины</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Показать окна выбранных виртуальных машин</translation>
+        <translation type="obsolete">Показать окна выбранных виртуальных машин</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Приостановить работу выбранных виртуальных машин</translation>
+        <translation type="obsolete">Приостановить работу выбранных виртуальных машин</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Перезапустить выбранные виртуальные машины</translation>
+        <translation type="obsolete">Перезапустить выбранные виртуальные машины</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Сбросить (удалить) сохранённое состояние выбранных виртуальных машин</translation>
+        <translation type="obsolete">Сбросить (удалить) сохранённое состояние выбранных виртуальных машин</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Показать файлы выбранных виртуальных машин в Finder</translation>
+        <translation type="obsolete">Показать файлы выбранных виртуальных машин в Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Показать файлы выбранных виртуальных машин в обозревателе</translation>
+        <translation type="obsolete">Показать файлы выбранных виртуальных машин в обозревателе</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Создать псевдонимы выбранных виртуальных машин на Вашем рабочем столе</translation>
+        <translation type="obsolete">Создать псевдонимы выбранных виртуальных машин на Вашем рабочем столе</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Создать ярлыки выбранных виртуальных машин на Вашем рабочем столе</translation>
+        <translation type="obsolete">Создать ярлыки выбранных виртуальных машин на Вашем рабочем столе</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Сохранить состояние</translation>
+        <translation type="obsolete">Сохранить состояние</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Сохранить состояние выбранных виртуальных машин</translation>
+        <translation type="obsolete">Сохранить состояние выбранных виртуальных машин</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Послать выбранным виртуальным машинам сигнал завершения работы</translation>
+        <translation type="obsolete">Послать выбранным виртуальным машинам сигнал завершения работы</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -864,7 +864,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Выключить выбранные виртуальные машины</translation>
+        <translation type="obsolete">Выключить выбранные виртуальные машины</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -876,15 +876,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>&Разгруппировать</translation>
+        <translation type="obsolete">&Разгруппировать</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Разгруппировать выбранную группу виртуальных машин</translation>
+        <translation type="obsolete">Разгруппировать выбранную группу виртуальных машин</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Сортировать</translation>
+        <translation type="obsolete">Сортировать</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -892,7 +892,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Сортировать группу первой из выбранных виртуальных машин по алфавиту</translation>
+        <translation type="obsolete">Сортировать группу первой из выбранных виртуальных машин по алфавиту</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -904,7 +904,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Сохранить состояние виртуальной машины</translation>
+        <translation type="obsolete">Сохранить состояние виртуальной машины</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -924,7 +924,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Включить удалённый доступ (RDP) к этой машине</translation>
+        <translation type="obsolete">Включить удалённый доступ (RDP) к этой машине</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -932,7 +932,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Включить захват видео для данной машины</translation>
+        <translation type="obsolete">Включить захват видео для данной машины</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -940,7 +940,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Настроить захват видео для данной машины</translation>
+        <translation type="obsolete">Настроить захват видео для данной машины</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -948,7 +948,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Показать диалог информации о сессии</translation>
+        <translation type="obsolete">Показать диалог информации о сессии</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -960,7 +960,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Подключить установочный образ диска c пакетом Дополнений гостевой ОС</translation>
+        <translation type="obsolete">Подключить установочный образ диска c пакетом Дополнений гостевой ОС</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -975,190 +975,262 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Network</source>
+        <translation type="obsolete">Сеть</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Показать &журнал...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>&File</source>
+        <translation type="unfinished">&Файл</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Сеть</translation>
+        <source>S&caled Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>S&cale Factor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Optical Drives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Floppy Drives</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&USB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Logging</source>
         <comment>debug action</comment>
-        <translation type="unfinished">Показать &журнал...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Файл</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1170,27 +1242,227 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Предпросмотр монитора %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Нет подсоединенных USB устройств</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Нет подсоединённых веб-камер</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Нет поддерживаемых веб-камер, подсоединённых к хосту</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Об&новить</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Включить</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
+    </message>
+</context>
+<context>
+    <name>UIActonPool</name>
+    <message>
+        <source>Popup Menu</source>
+        <translation type="obsolete">Всплывающее меню</translation>
+    </message>
+</context>
+<context>
+    <name>UIAddDiskEncryptionPasswordDialog</name>
+    <message>
+        <source>%1 - Disk Encryption</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActonPool</name>
     <message>
-        <source>Popup Menu</source>
-        <translation type="obsolete">Всплывающее меню</translation>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIAddDiskEncryptionPasswordDialog</name>
     <message>
-        <source>%1 - Disk Encryption</source>
+        <source>Password</source>
+        <comment>password table field</comment>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <source>This virtual machine is password protected. Please enter the %n encryption password(s) below.</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many passwords are in the list and doesn't need to be told).</comment>
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
         <translation type="unfinished">
             <numerusform></numerusform>
             <numerusform></numerusform>
@@ -1250,15 +1522,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>IDE-контроллер жёсткого диска</translation>
+        <translation type="obsolete">IDE-контроллер жёсткого диска</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>SATA-контроллер жёсткого диска</translation>
+        <translation type="obsolete">SATA-контроллер жёсткого диска</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>SCSI-контроллер жёсткого диска</translation>
+        <translation type="obsolete">SCSI-контроллер жёсткого диска</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1316,7 +1588,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>SAS-контроллер жёсткого диска</translation>
+        <translation type="obsolete">SAS-контроллер жёсткого диска</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1326,6 +1598,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Сгенерировать новые MAC адреса для всех сетевых адаптеров</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2014,18 +2302,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Копирование данных ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2103,33 +2388,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3324,7 +3582,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Определяет максимальный горизонтальный размер экрана гостевой операционной системы (в пикселях).</translation>
+        <translation type="obsolete">Определяет максимальный горизонтальный размер экрана гостевой операционной системы (в пикселях).</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3332,7 +3590,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Определяет максимальный вертикальный размер экрана гостевой операционной системы (в пикселях).</translation>
+        <translation type="obsolete">Определяет максимальный вертикальный размер экрана гостевой операционной системы (в пикселях).</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3366,11 +3624,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3398,11 +3664,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Добавить плагин</translation>
+        <translation type="obsolete">Добавить плагин</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Удалить плагин</translation>
+        <translation type="obsolete">Удалить плагин</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3420,6 +3686,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation>&Плагины</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3489,7 +3771,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>&Скринсейвер хоста:</translation>
+        <translation type="obsolete">&Скринсейвер хоста:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -3497,7 +3779,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Отключать во время работы машины</translation>
+        <translation type="obsolete">Отключать во время работы машины</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3552,11 +3842,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Показывает список всех настраиваемых сочетаний клавиш.</translation>
+        <translation type="obsolete">Показывает список всех настраиваемых сочетаний клавиш.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Позволяет фильтровать список сочетаний клавиш.</translation>
+        <translation type="obsolete">Позволяет фильтровать список сочетаний клавиш.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3735,15 +4033,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Добавить виртуальную сеть хоста</translation>
+        <translation type="obsolete">&Добавить виртуальную сеть хоста</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Удалить виртуальную сеть хоста</translation>
+        <translation type="obsolete">&Удалить виртуальную сеть хоста</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Изменить виртуальную сеть хоста</translation>
+        <translation type="obsolete">&Изменить виртуальную сеть хоста</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3885,15 +4183,63 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>&Добавить NAT сеть</translation>
+        <translation type="obsolete">&Добавить NAT сеть</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>&Удалить NAT сеть</translation>
+        <translation type="obsolete">&Удалить NAT сеть</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>&Изменить NAT сеть</translation>
+        <translation type="obsolete">&Изменить NAT сеть</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4007,7 +4353,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Настроить виртуальный адаптер сети хоста вручную.</translation>
+        <translation type="obsolete">Настроить виртуальный адаптер сети хоста вручную.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4051,7 +4397,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>Отображает запускается ли DHCP сервер при старте машины.</translation>
+        <translation type="obsolete">Отображает запускается ли DHCP сервер при старте машины.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4085,6 +4431,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Отображает верхнюю границу, предоставляемую DHCP сервером, обслуживающим виртуальную сеть хоста, связанную с данным сетевым адаптером.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4098,7 +4452,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Определяет, является ли сеть активной.</translation>
+        <translation type="obsolete">Определяет, является ли сеть активной.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -4126,7 +4480,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Определяет, поддерживает ли данная сеть DHCP.</translation>
+        <translation type="obsolete">Определяет, поддерживает ли данная сеть DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -4134,7 +4488,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Определяет, поддерживает ли данная сеть IPv6.</translation>
+        <translation type="obsolete">Определяет, поддерживает ли данная сеть IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -4142,16 +4496,36 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Определяет, является ли данная сеть маршрутом IPv6 по-умолчанию.</translation>
+        <translation type="obsolete">Определяет, является ли данная сеть маршрутом IPv6 по-умолчанию.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Открыть диалог для управления правилами проброса портов.</translation>
+        <translation type="obsolete">Открыть диалог для управления правилами проброса портов.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&Проброс портов</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -4184,7 +4558,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Задаёт адрес прокси-сервера.</translation>
+        <translation type="obsolete">Задаёт адрес прокси-сервера.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4192,7 +4566,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Задаёт порт прокси-сервера.</translation>
+        <translation type="obsolete">Задаёт порт прокси-сервера.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4226,6 +4600,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation>Не задан порт прокси-сервера.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4243,7 +4625,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Указывает, как часто нужно производить проверку наличия новой версии. Если Вы хотите полностью отключить такую проверку, просто уберите расположенную выше галочку.</translation>
+        <translation type="obsolete">Указывает, как часто нужно производить проверку наличия новой версии. Если Вы хотите полностью отключить такую проверку, просто уберите расположенную выше галочку.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4277,6 +4659,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Вс&е релизные и тестовые версии</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4675,7 +5061,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Отображает активность виртуальных жёстких дисков:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Отображает активность виртуальных жёстких дисков:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4761,7 +5147,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Показывает, захвачена клавиатура в гостевой ОС (<img src=:/hostkey_captured_16px.png/>) или нет (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Показывает, захвачена клавиатура в гостевой ОС (<img src=:/hostkey_captured_16px.png/>) или нет (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4807,6 +5193,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4827,11 +5222,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Предпросмотр монитора %1</translation>
+        <translation type="obsolete">Предпросмотр монитора %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Снимок %1</translation>
+        <translation type="obsolete">Снимок %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4867,11 +5262,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Нет подсоединенных USB устройств</translation>
+        <translation type="obsolete">Нет подсоединенных USB устройств</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Нет поддерживаемых USB устройств, подсоединенных к хосту</translation>
+        <translation type="obsolete">Нет поддерживаемых USB устройств, подсоединенных к хосту</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4879,19 +5274,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Нет подсоединённых веб-камер</translation>
+        <translation type="obsolete">Нет подсоединённых веб-камер</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>Нет поддерживаемых веб-камер, подсоединённых к хосту</translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Нет поддерживаемых веб-камер, подсоединённых к хосту</translation>
     </message>
 </context>
 <context>
@@ -4910,7 +5297,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Управляет драйвером основного ПК, используемым для вывода звука. Пункт <b>Пустой аудиодрайвер</b> позволяет гостевой ОС обнаружить звуковую карту, однако любой доступ к ней будет проигнорирован.</translation>
+        <translation type="obsolete">Управляет драйвером основного ПК, используемым для вывода звука. Пункт <b>Пустой аудиодрайвер</b> позволяет гостевой ОС обнаружить звуковую карту, однако любой доступ к ней будет проигнорирован.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4920,6 +5307,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Задает тип виртуальной звуковой карты. В зависимости от выбранного значения, VirtualBox обеспечит виртуальную машину соответствующим звуковым устройством.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4929,7 +5320,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4985,7 +5376,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Задает способ авторизации VRDP-сервера.</translation>
+        <translation type="obsolete">Задает способ авторизации VRDP-сервера.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4993,7 +5384,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Задает максимальное время ожидания авторизации подключения к гостевой ОС в миллисекундах.</translation>
+        <translation type="obsolete">Задает максимальное время ожидания авторизации подключения к гостевой ОС в миллисекундах.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5009,7 +5400,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Показывает номер порта VRDP-сервера. Вы можете указать <tt>0</tt> (ноль) для сброса номера порта к значению по умолчанию для RDP - 3389.</translation>
+        <translation type="obsolete">Показывает номер порта VRDP-сервера. Вы можете указать <tt>0</tt> (ноль) для сброса номера порта к значению по умолчанию для RDP - 3389.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5021,11 +5412,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Определяет, разрешено ли несколько одновременных подключений к ВМ.</translation>
+        <translation type="obsolete">Определяет, разрешено ли несколько одновременных подключений к ВМ.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5065,7 +5456,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Определяет путь к файлу, используемому VirtualBox для хранения записанного видео контента.</translation>
+        <translation type="obsolete">Определяет путь к файлу, используемому VirtualBox для хранения записанного видео контента.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -5073,15 +5464,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Определяет размер кадра (разрешение) записанного видео контента.</translation>
+        <translation type="obsolete">Определяет размер кадра (разрешение) записанного видео контента.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Определяет <b>горизонтальное</b> разрешение (длину кадра) записанного видео контента.</translation>
+        <translation type="obsolete">Определяет <b>горизонтальное</b> разрешение (длину кадра) записанного видео контента.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Определяет <b>вертикальное</b> разрешение (ширину кадра) записанного видео контента.</translation>
+        <translation type="obsolete">Определяет <b>вертикальное</b> разрешение (ширину кадра) записанного видео контента.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -5089,7 +5480,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Определяет максимальное число <b>кадров в секунду</b>. Лишние кадры будут пропущены. Понижение данного параметра приведёт к увеличению числа пропущенных кадров и уменьшению размера видео файла.</translation>
+        <translation type="obsolete">Определяет максимальное число <b>кадров в секунду</b>. Лишние кадры будут пропущены. Понижение данного параметра приведёт к увеличению числа пропущенных кадров и уменьшению размера видео файла.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -5097,11 +5488,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Определяет <b>качество</b> видео. Увеличение данного параметра в общем случае приведёт к улучшению качества видео и увеличению размера видео файла.</translation>
+        <translation type="obsolete">Определяет <b>качество</b> видео. Увеличение данного параметра в общем случае приведёт к улучшению качества видео и увеличению размера видео файла.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Определяет битрейт видео в <b>килобитах в секунду</b>. Увеличение данного параметра в общем случае приведёт к улучшению качества видео и увеличению размера видео файла.</translation>
+        <translation type="obsolete">Определяет битрейт видео в <b>килобитах в секунду</b>. Увеличение данного параметра в общем случае приведёт к улучшению качества видео и увеличению размера видео файла.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -5113,7 +5504,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Под видеопамять виртуальной машины выделено менее <b>%1</b>. Данное значение является минимальным количеством, необходимым для переключения машины в полноэкранный режим или режим интеграции дисплея.</translation>
+        <translation type="obsolete">Под видеопамять виртуальной машины выделено менее <b>%1</b>. Данное значение является минимальным количеством, необходимым для переключения машины в полноэкранный режим или режим интеграции дисплея.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -5172,7 +5563,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Включить захват видео для дисплея %1.</translation>
+        <translation type="obsolete">Включить захват видео для дисплея %1.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -5220,21 +5611,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D-ускорение {100%?}</translation>
+        <translation type="obsolete">3D-ускорение {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D-ускорение {200%?}</translation>
+        <translation type="obsolete">3D-ускорение {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5246,6 +5633,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5255,7 +5706,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Показывает путь к папке для сохранения снимков этой виртуальной машины. Имейте ввиду, что снимки могут занимать достаточно много места на жестком диске.</translation>
+        <translation type="obsolete">Показывает путь к папке для сохранения снимков этой виртуальной машины. Имейте ввиду, что снимки могут занимать достаточно много места на жестком диске.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5514,10 +5965,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5554,6 +6001,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5575,15 +6030,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Если стоит галочка, в полноэкранных режимах работы будет использоваться мини тулбар.</translation>
+        <translation type="obsolete">Если стоит галочка, в полноэкранных режимах работы будет использоваться мини тулбар.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">&Использовать в полноэкранных режимах</translation>
+        <translation type="obsolete">&Использовать в полноэкранных режимах</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Если стоит галочка, мини тулбар будет расположен сверху, в отличие от своей позиции по-умолчанию - снизу.</translation>
+        <translation type="obsolete">Если стоит галочка, мини тулбар будет расположен сверху, в отличие от своей позиции по-умолчанию - снизу.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5593,6 +6048,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5626,7 +6093,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Определяет способ, которым этот виртуальный сетевой адаптер подсоединяется к настоящей сети основной ОС.</translation>
+        <translation type="obsolete">Определяет способ, которым этот виртуальный сетевой адаптер подсоединяется к настоящей сети основной ОС.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5654,7 +6121,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Определяет, подключен виртуальный сетевой кабель при запуске машины или нет.</translation>
+        <translation type="obsolete">Определяет, подключен виртуальный сетевой кабель при запуске машины или нет.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5782,7 +6249,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Показывает/скрывает дополнительные опции сетевого адаптера.</translation>
+        <translation type="obsolete">Показывает/скрывает дополнительные опции сетевого адаптера.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5794,7 +6261,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Открыть диалог для управления правилами проброса портов.</translation>
+        <translation type="obsolete">Открыть диалог для управления правилами проброса портов.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5814,7 +6281,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Здесь Вы можете задать необходимые параметры сетевого драйвера. Параметры должны быть заданы в форме <b>имя=значение</b> и зависят от самого драйвера. Используйте <b>shift-enter</b> для перехода на новую строку.</translation>
+        <translation type="obsolete">Здесь Вы можете задать необходимые параметры сетевого драйвера. Параметры должны быть заданы в форме <b>имя=значение</b> и зависят от самого драйвера. Используйте <b>shift-enter</b> для перехода на новую строку.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5876,6 +6343,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Задаёт имя NAT сети, к которой будет подключен данный виртуальный сетевой адаптер. Вы можете создавать и удалять такие сети на странице глобальных сетевых настроек VirtualBox.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -6034,6 +6521,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Показывает базовый адрес ввода-вывода для этого параллельного порта. Допустимые значения -- целые числа в диапазоне от <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Не задано IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Не задан I/O порт.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Как минимум два порта имеют идентичные настройки.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Не задан путь к порту.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Как минимум два порта имеют идентичные пути.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -6051,23 +6558,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Не задано IRQ.</translation>
+        <translation type="obsolete">Не задано IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Не задан I/O порт.</translation>
+        <translation type="obsolete">Не задан I/O порт.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Как минимум два порта имеют идентичные настройки.</translation>
+        <translation type="obsolete">Как минимум два порта имеют идентичные настройки.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Не задан путь к порту.</translation>
+        <translation type="obsolete">Не задан путь к порту.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Как минимум два порта имеют идентичные пути.</translation>
+        <translation type="obsolete">Как минимум два порта имеют идентичные пути.</translation>
     </message>
 </context>
 <context>
@@ -6078,27 +6585,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Данная таблица содержит список правил проброса портов.</translation>
+        <translation type="obsolete">Данная таблица содержит список правил проброса портов.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Добавить новое правило</translation>
+        <translation type="obsolete">Добавить новое правило</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Клонировать выбранное правило</translation>
+        <translation type="obsolete">Клонировать выбранное правило</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Удалить выбранное правило</translation>
+        <translation type="obsolete">Удалить выбранное правило</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Данная кнопка добавляет новое правило проброса порта.</translation>
+        <translation type="obsolete">Данная кнопка добавляет новое правило проброса порта.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Данная кнопка удаляет выбранное правило проброса порта.</translation>
+        <translation type="obsolete">Данная кнопка удаляет выбранное правило проброса порта.</translation>
     </message>
 </context>
 <context>
@@ -6117,15 +6624,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Добавляет определение новой общей папки.</translation>
+        <translation type="obsolete">Добавляет определение новой общей папки.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Изменяет определение выбранной общей папки.</translation>
+        <translation type="obsolete">Изменяет определение выбранной общей папки.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Удаляет определение выбранной общей папки.</translation>
+        <translation type="obsolete">Удаляет определение выбранной общей папки.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6165,15 +6672,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Добавить общую папку</translation>
+        <translation type="obsolete">&Добавить общую папку</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Изменить общую папку</translation>
+        <translation type="obsolete">&Изменить общую папку</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Удалить общую папку</translation>
+        <translation type="obsolete">&Удалить общую папку</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6187,6 +6694,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Да</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6232,7 +6763,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Если стоит галочка, выбранная общая папка будет постоянной для данной машины.</translation>
+        <translation type="obsolete">Если стоит галочка, выбранная общая папка будет постоянной для данной машины.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6280,7 +6815,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Управляет режимом работы последовательного порта. Если выбрать <b>Отключен</b>, то гостевая ОС обнаружит последовательный порт, но не сможет с ним работать.</translation>
+        <translation type="obsolete">Управляет режимом работы последовательного порта. Если выбрать <b>Отключен</b>, то гостевая ОС обнаружит последовательный порт, но не сможет с ним работать.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6311,10 +6846,6 @@ p, li { white-space: pre-wrap; }
         <translation>Показывает базовый адрес ввода-вывода для этого последовательного порта. Допустимые значения -- целые числа в диапазоне от <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6326,6 +6857,34 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Не задано IRQ.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Не задан I/O порт.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">Как минимум два порта имеют идентичные настройки.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Не задан путь к порту.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Как минимум два порта имеют идентичные пути.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -6343,23 +6902,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Не задано IRQ.</translation>
+        <translation type="obsolete">Не задано IRQ.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Не задан I/O порт.</translation>
+        <translation type="obsolete">Не задан I/O порт.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>Как минимум два порта имеют идентичные настройки.</translation>
+        <translation type="obsolete">Как минимум два порта имеют идентичные настройки.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Не задан путь к порту.</translation>
+        <translation type="obsolete">Не задан путь к порту.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Как минимум два порта имеют идентичные пути.</translation>
+        <translation type="obsolete">Как минимум два порта имеют идентичные пути.</translation>
     </message>
 </context>
 <context>
@@ -6442,11 +7001,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Раскрыть/Скрыть&nbsp;элемент</nobr></translation>
+        <translation type="obsolete"><nobr>Раскрыть/Скрыть&nbsp;элемент</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Добавить&nbsp;жёсткий&nbsp;диск</nobr></translation>
+        <translation type="obsolete"><nobr>Добавить&nbsp;жёсткий&nbsp;диск</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6510,19 +7069,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Добавить новый контроллер к дереву носителей информации.</translation>
+        <translation type="obsolete">Добавить новый контроллер к дереву носителей информации.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Удалить контроллер, выбранный в дереве носителей информации.</translation>
+        <translation type="obsolete">Удалить контроллер, выбранный в дереве носителей информации.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Добавить новое устройство к выбранному контроллеру.</translation>
+        <translation type="obsolete">Добавить новое устройство к выбранному контроллеру.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Удалить выбранное устройство.</translation>
+        <translation type="obsolete">Удалить выбранное устройство.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6558,7 +7117,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Данное дерево содержит все контроллеры носителей информации, подключенные к данной виртуальной машине, а так же образы виртуальных дисков и приводы хоста, подключенные к этим контроллерам.</translation>
+        <translation type="obsolete">Данное дерево содержит все контроллеры носителей информации, подключенные к данной виртуальной машине, а так же образы виртуальных дисков и приводы хоста, подключенные к этим контроллерам.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6578,7 +7137,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Задаёт имя контроллера носителей информации, выбранного в данный момент.</translation>
+        <translation type="obsolete">Задаёт имя контроллера носителей информации, выбранного в данный момент.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6646,7 +7205,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Позволяет использовать функции кеширования операций ввода/вывода данного хоста.</translation>
+        <translation type="obsolete">Позволяет использовать функции кеширования операций ввода/вывода данного хоста.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6678,7 +7237,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Образ</translation>
+        <translation type="obsolete">Образ</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6686,7 +7245,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Настроить жёсткий диск</translation>
+        <translation type="obsolete">Настроить жёсткий диск</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6710,15 +7269,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Настроить привод гибких дисков</translation>
+        <translation type="obsolete">Настроить привод гибких дисков</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Создать новый жёсткий диск...</translation>
+        <translation type="obsolete">Создать новый жёсткий диск...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Выбрать образ жёсткого диска...</translation>
+        <translation type="obsolete">Выбрать образ жёсткого диска...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6730,11 +7289,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Выбрать образ гибкого диска...</translation>
+        <translation type="obsolete">Выбрать образ гибкого диска...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Если стоит галочка, VirtualBox будет подавлять демонтирование образа в случаях извлечения его со стороны гостевой системы.</translation>
+        <translation type="obsolete">Если стоит галочка, VirtualBox будет подавлять демонтирование образа в случаях извлечения его со стороны гостевой системы.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6742,7 +7301,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Если стоит галочка, VirtualBox будет считать данное устройство твердотельным накопителем (SSD).</translation>
+        <translation type="obsolete">Если стоит галочка, VirtualBox будет считать данное устройство твердотельным накопителем (SSD).</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6811,47 +7370,116 @@ p, li { white-space: pre-wrap; }
         <translation>Добавить USB контроллер</translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Выбрать образ оптического диска...</translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation type="unfinished">Выбрать образ оптического диска...</translation>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Образ</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6883,12 +7511,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;ЦПУ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;ЦПУ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6921,7 +7549,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Вниз (Ctrl-Down)</translation>
+        <translation type="obsolete">Вниз (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6929,7 +7557,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Вверх (Ctrl-Up)</translation>
+        <translation type="obsolete">Вверх (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7002,7 +7630,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;ЦПУ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;ЦПУ</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7014,7 +7642,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Если стоит галочка, часы Вашего хоста отобразят время по шкале всемирного координированного времени (UTC), иначе будет отображено локальное время хоста. Unix-подобные системы обычно придерживаются системы UTC.</translation>
+        <translation type="obsolete">Если стоит галочка, часы Вашего хоста отобразят время по шкале всемирного координированного времени (UTC), иначе будет отображено локальное время хоста. Unix-подобные системы обычно придерживаются системы UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7063,12 +7691,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7146,56 +7774,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Добавить пустой фильтр</translation>
+        <translation type="obsolete">&Добавить пустой фильтр</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Д&обавить из устройства</translation>
+        <translation type="obsolete">Д&обавить из устройства</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Изменить фильтр</translation>
+        <translation type="obsolete">&Изменить фильтр</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Удалить фильтр</translation>
+        <translation type="obsolete">&Удалить фильтр</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Переместить вверх</translation>
+        <translation type="obsolete">&Переместить вверх</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>П&ереместить вниз</translation>
+        <translation type="obsolete">П&ереместить вниз</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Добавляет новый USB-фильтр, в котором все поля первоначально пустые. Имейте ввиду, что пустой фильтр будет соответствовать любому подсоединенному USB-устройству.</translation>
+        <translation type="obsolete">Добавляет новый USB-фильтр, в котором все поля первоначально пустые. Имейте ввиду, что пустой фильтр будет соответствовать любому подсоединенному USB-устройству.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Добавляет новый USB-фильтр, в котором все поля заполнены значениями одного из USB-устройств, подключенных к основному ПК.</translation>
+        <translation type="obsolete">Добавляет новый USB-фильтр, в котором все поля заполнены значениями одного из USB-устройств, подключенных к основному ПК.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Изменяет свойства выбранного USB-фильтра.</translation>
+        <translation type="obsolete">Изменяет свойства выбранного USB-фильтра.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Удаляет выбранный USB-фильтр.</translation>
+        <translation type="obsolete">Удаляет выбранный USB-фильтр.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Перемещает выбранный USB-фильтр вверх.</translation>
+        <translation type="obsolete">Перемещает выбранный USB-фильтр вверх.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Перемещает выбранный USB-фильтр вниз.</translation>
+        <translation type="obsolete">Перемещает выбранный USB-фильтр вниз.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7212,7 +7866,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Когда стоит галочка, активизируется контроллер USB EHCI для этой машины. Контроллер USB EHCI предоставляет поддержку USB 2.0.</translation>
+        <translation type="obsolete">Когда стоит галочка, активизируется контроллер USB EHCI для этой машины. Контроллер USB EHCI предоставляет поддержку USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7283,27 +7937,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Данная машина настроена на эмуляцию USB 2.0, для чего требуюется установить <b>%1</b>. Если необходимо, установите данный плагин, предварительно скачав его с сайта VirtualBox или отключите USB 2.0 для дальнейшей работы с машиной.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7338,7 +8044,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Задает фильтр по ID поставщика. Формат строки <i>точного соответствия</i> - <tt>XXXX</tt>, где <tt>X</tt> - шестнадцатеричная цифра. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по ID поставщика. Формат строки <i>точного соответствия</i> - <tt>XXXX</tt>, где <tt>X</tt> - шестнадцатеричная цифра. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7346,7 +8052,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Задает фильтр по ID продукта. Формат строки <i>точного соответствия</i> - <tt>XXXX</tt>, где <tt>X</tt> - шестнадцатеричная цифра. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по ID продукта. Формат строки <i>точного соответствия</i> - <tt>XXXX</tt>, где <tt>X</tt> - шестнадцатеричная цифра. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7354,7 +8060,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Задает фильтр по номеру ревизии. Формат строки <i>точного соответствия</i> - <tt>IIFF</tt>, где <tt>I</tt> - десятичная цифра целой части, а <tt>F</tt> - десятичная цифра дробной части. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по номеру ревизии. Формат строки <i>точного соответствия</i> - <tt>IIFF</tt>, где <tt>I</tt> - десятичная цифра целой части, а <tt>F</tt> - десятичная цифра дробной части. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7362,7 +8068,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Задает фильтр по производителю в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по производителю в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7370,7 +8076,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Задает фильтр по названию продукта в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по названию продукта в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7378,35 +8084,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Задает фильтр по серийному номеру в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
+        <translation type="obsolete">Задает фильтр по серийному номеру в виде строки с <i>точным соответствием</i>. Пустая строка соответствует любому значению.</translation>
     </message>
     <message>
         <source>Por&t:</source>
         <translation>Пор&т:</translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Задает фильтр по физическому порту USB в виде строки <i>точного соответствия</i>. Пустая строка соответствует любому значению.</translation>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">Задает фильтр по физическому порту USB в виде строки <i>точного соответствия</i>. Пустая строка соответствует любому значению.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>Уд&аленное:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Определяет, применяется ли этот фильтр к USB-устройствам, подсоединенным локально к основному ПК (<i>Нет</i>), к компьютеру VRDP-клиента (<i>Да</i>), или к обоим (<i>Оба</i>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">Де&йствие:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Задает действие, выполняемое основным ПК при подключении совпадающего устройства: передать его в основную ОС (<i>Игнорировать</i>) или захватить его для дальнейшего использования виртуальными машинами (<i>Удержать</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Свойства USB-фильтра</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>Уд&аленное:</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Определяет, применяется ли этот фильтр к USB-устройствам, подсоединенным локально к основному ПК (<i>Нет</i>), к компьютеру VRDP-клиента (<i>Да</i>), или к обоим (<i>Оба</i>).</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">Де&йствие:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Задает действие, выполняемое основным ПК при подключении совпадающего устройства: передать его в основную ОС (<i>Игнорировать</i>) или захватить его для дальнейшего использования виртуальными машинами (<i>Удержать</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Свойства USB-фильтра</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7427,7 +8165,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Жёсткие диски</translation>
+        <translation type="obsolete">&Жёсткие диски</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7449,6 +8187,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7913,7 +8655,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Не удалось переключить дисплей гостевой ОС в полноэкранный режим из-за недостаточного количества виртуальной видеопамяти.</p><p>Необходимо задать как минимум <b>%1</b> видеопамяти в диалоге свойств виртуальной машины.</p><p>Нажмите <b>Игнорировать</b>, чтобы переключиться в полноэкранный режим в любом случае, или нажмите <b>Отмена</b> для отмены операции.</p></translation>
+        <translation type="obsolete"><p>Не удалось переключить дисплей гостевой ОС в полноэкранный режим из-за недостаточного количества виртуальной видеопамяти.</p><p>Необходимо задать как минимум <b>%1</b> видеопамяти в диалоге свойств виртуальной машины.</p><p>Нажмите <b>Игнорировать</b>, чтобы переключиться в полноэкранный режим в любом случае, или нажмите <b>Отмена</b> для отмены операции.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -8027,7 +8769,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Хотите ли Вы удалить файл жесткого диска <nobr><b>%1</b></nobr>?</p><p>Если Вы выберете <b>Удалить</b>, то указанный файл будет физически удален. Эту операцию <b>отменить нельзя</b>.</p><p>Если Вы выберете <b>Сохранить</b>, то жесткий диск будет убран из списка используемых жестких дисков, но указанный файл удален не будет, что дает возможность вновь добавить этот жесткий дис [...]
+        <translation type="obsolete"><p>Хотите ли Вы удалить файл жесткого диска <nobr><b>%1</b></nobr>?</p><p>Если Вы выберете <b>Удалить</b>, то указанный файл будет физически удален. Эту операцию <b>отменить нельзя</b>.</p><p>Если Вы выберете <b>Сохранить</b>, то жесткий диск будет убран из списка используемых жестких дисков, но указанный файл удален не будет, что дает возможность вновь добавить  [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8284,7 +9026,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>При удалении снимка информация о состоянии машины, хранящаяся в данном снимке, будет уничтожена, а данные, хранящиеся в файлах, созданных VirtualBox при создании снимка будут объединены в один файл. Данный процесс может занять некоторое время, а информация хранящаяся в снимке не может быть в последствии восстановлена.</p></p>Вы уверены, что хотите удалить выбранный снимок <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>При удалении снимка информация о состоянии машины, хранящаяся в данном снимке, будет уничтожена, а данные, хранящиеся в файлах, созданных VirtualBox при создании снимка будут объединены в один файл. Данный процесс может занять некоторое время, а информация хранящаяся в снимке не может быть в последствии восстановлена.</p></p>Вы уверены, что хотите удалить выбранный снимок <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8420,7 +9162,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Для удаление снимка %1 временно понадобится некоторое количество свободного дискового пространства. В самом худшем случае размер образа %2 увеличится на %3, однако в данной системе доступно лишь %4.</p><p>В случае нехватки свободного места в процессе операции объединения образов, может произойти критическая ошибка, что приведёт к повреждению образа и конфигурации виртуальной машины, иными словами - к потере данной машины и её данных.</p>&lt [...]
+        <translation type="obsolete"><p>Для удаление снимка %1 временно понадобится некоторое количество свободного дискового пространства. В самом худшем случае размер образа %2 увеличится на %3, однако в данной системе доступно лишь %4.</p><p>В случае нехватки свободного места в процессе операции объединения образов, может произойти критическая ошибка, что приведёт к повреждению образа и конфигурации виртуальной машины, иными словами - к потере данной машины и её данн [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8592,7 +9334,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Сейчас окно виртуальной машины будет переключено в <b>полноэкранный</b> режим. Вы можете вернуться в оконный режим в любое время, нажав <b>%1</b>.</p><p>Обратите внимание, что в данный момент в качестве <i>хост-клавиши</i> используется <b>%2</b>.</p><p>Имейте в виду, что в полноэкранном режиме основное меню окна скрыто. Вы можете получить к нему доступ, нажав <b>Host+Home</b> [...]
+        <translation type="obsolete"><p>Сейчас окно виртуальной машины будет переключено в <b>полноэкранный</b> режим. Вы можете вернуться в оконный режим в любое время, нажав <b>%1</b>.</p><p>Обратите внимание, что в данный момент в качестве <i>хост-клавиши</i> используется <b>%2</b>.</p><p>Имейте в виду, что в полноэкранном режиме основное меню окна скрыто. Вы можете получить к нему доступ, нажав <b>Hos [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8827,7 +9569,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Вы собираетесь создать новую виртуальную машину без привода жёсткого диска. У Вас не будет возможности установить операционную систему до тех пор, пока Вы не добавите как минимум один жёсткий диск. Однако, Вы сможете запустить машину и загрузить операционную систему с оптического диска.</translation>
+        <translation type="obsolete">Вы собираетесь создать новую виртуальную машину без привода жёсткого диска. У Вас не будет возможности установить операционную систему до тех пор, пока Вы не добавите как минимум один жёсткий диск. Однако, Вы сможете запустить машину и загрузить операционную систему с оптического диска.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -8947,15 +9689,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Вы уверены, что хотите освободить образ виртуального жёсткого диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Вы уверены, что хотите освободить образ виртуального жёсткого диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Вы уверены, что хотите освободить образ виртуального оптического диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Вы уверены, что хотите освободить образ виртуального оптического диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>Вы уверены, что хотите освободить образ виртуального гибкого диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>Вы уверены, что хотите освободить образ виртуального гибкого диска <nobr><b>%1</b></nobr>?</p><p>Это приведет к отсоединению этого носителя от следующих виртуальных машин: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -8999,27 +9741,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Не удалось открыть файл виртуального жёсткого диска <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось открыть файл виртуального жёсткого диска <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Не удалось открыть файл виртуального оптического диска <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось открыть файл виртуального оптического диска <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>Не удалось открыть файл виртуального гибкого диска <nobr><b>%1</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось открыть файл виртуального гибкого диска <nobr><b>%1</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Не удалось закрыть файл виртуального жёсткого диска <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось закрыть файл виртуального жёсткого диска <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Не удалось закрыть файл виртуального оптического диска <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось закрыть файл виртуального оптического диска <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>Не удалось закрыть файл виртуального гибкого диска <nobr><b>%2</b></nobr>.</translation>
+        <translation type="obsolete">Не удалось закрыть файл виртуального гибкого диска <nobr><b>%2</b></nobr>.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -9148,10 +9890,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9223,6 +9961,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10086,27 +10864,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Имя</translation>
+        <translation type="obsolete">Имя</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Протокол</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">IP хоста</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Порт хоста</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">IP гостя</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Порт гостя</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Протокол</translation>
+        <translation type="unfinished">Протокол</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>IP хоста</translation>
+        <translation type="unfinished">IP хоста</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Порт хоста</translation>
+        <translation type="unfinished">Порт хоста</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>IP гостя</translation>
+        <translation type="unfinished">IP гостя</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Порт гостя</translation>
+        <translation type="unfinished">Порт гостя</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10410,13 +11243,6 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10426,6 +11252,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10938,7 +11768,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Копировать виртуальный жёсткий диск</translation>
+        <translation type="obsolete">Копировать виртуальный жёсткий диск</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -10946,43 +11776,43 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Выберите диск</translation>
+        <translation type="obsolete">Выберите диск</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Пожалуйста, выберите виртуальный жёсткий диск, который Вы желаете скопировать, если он ещё не выбран.</p></translation>
+        <translation type="obsolete"><p>Пожалуйста, выберите виртуальный жёсткий диск, который Вы желаете скопировать, если он ещё не выбран.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Выбрать файл виртуального жёсткого диска...</translation>
+        <translation type="obsolete">Выбрать файл виртуального жёсткого диска...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Укажите тип</translation>
+        <translation type="obsolete">Укажите тип</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Пожалуйста, укажите тип файла, определяющий формат, который Вы хотите использовать при создании нового диска. Если у Вас нет необходимости использовать новый диск с другими продуктами программной виртуализации, Вы можете оставить данный параметр как есть.</translation>
+        <translation type="obsolete">Пожалуйста, укажите тип файла, определяющий формат, который Вы хотите использовать при создании нового диска. Если у Вас нет необходимости использовать новый диск с другими продуктами программной виртуализации, Вы можете оставить данный параметр как есть.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Укажите формат хранения</translation>
+        <translation type="obsolete">Укажите формат хранения</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Пожалуйста уточните, должен ли новый виртуальный жёсткий диск подстраивать свой размер под размер своего содержимого или быть точно заданного размера.</translation>
+        <translation type="obsolete">Пожалуйста уточните, должен ли новый виртуальный жёсткий диск подстраивать свой размер под размер своего содержимого или быть точно заданного размера.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Файл <b>динамического</b> виртуального диска будет занимать необходимое место на Вашем физическом носителе информации лишь по мере заполнения, однако не сможет уменьшиться в размере если место, занятое его содержимым, освободится.</p></translation>
+        <translation type="obsolete"><p>Файл <b>динамического</b> виртуального диска будет занимать необходимое место на Вашем физическом носителе информации лишь по мере заполнения, однако не сможет уменьшиться в размере если место, занятое его содержимым, освободится.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Файл <b>фиксированного</b> виртуального диска может потребовать больше времени при создании на некоторых файловых системах, однако, обычно, быстрее в использовании.</p></translation>
+        <translation type="obsolete"><p>Файл <b>фиксированного</b> виртуального диска может потребовать больше времени при создании на некоторых файловых системах, однако, обычно, быстрее в использовании.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation>Вы можете также <b>разделить</b> виртуальный диск на несколько файлов размером до двух гигабайт. Это может пригодиться если Вы планируете хранить эти файлы на съёмных USB носителях или старых файловых системах, некоторые из которых не поддерживают большие файлы.</translation>
+        <translation type="obsolete">Вы можете также <b>разделить</b> виртуальный диск на несколько файлов размером до двух гигабайт. Это может пригодиться если Вы планируете хранить эти файлы на съёмных USB носителях или старых файловых системах, некоторые из которых не поддерживают большие файлы.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10998,19 +11828,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Укажите местоположение нового виртуального жёсткого диска</translation>
+        <translation type="obsolete">Укажите местоположение нового виртуального жёсткого диска</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Укажите имя нового диска</translation>
+        <translation type="obsolete">Укажите имя нового диска</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Пожалуйста укажите имя нового виртуального жёсткого диска.</translation>
+        <translation type="obsolete">Пожалуйста укажите имя нового виртуального жёсткого диска.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Выбрать местоположение нового виртуального жёсткого диска...</translation>
+        <translation type="obsolete">Выбрать местоположение нового виртуального жёсткого диска...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -11019,15 +11849,87 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>Выберите &диск</translation>
+        <translation type="obsolete">Выберите &диск</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>Укажите имя &нового диска</translation>
+        <translation type="obsolete">Укажите имя &нового диска</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Укажите &тип</translation>
+        <translation type="obsolete">Укажите &тип</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11070,7 +11972,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Пожалуйста укажите какой тип копии Вы желаете создать.</p><p>Если Вы выберите <b>Полная копия</b>, будет создана полная копия копируемой виртуальной машины (включая все файлы виртуальных жёстких дисков).</p><p>Если Вы выберите <b>Связная копия</b>, будет создана новая машина, использующая файлы виртуальных жёстких дисков копируемой машины и Вы не сможете перенести новую машину на другой компьютер без переноса к [...]
+        <translation type="obsolete"><p>Пожалуйста укажите какой тип копии Вы желаете создать.</p><p>Если Вы выберите <b>Полная копия</b>, будет создана полная копия копируемой виртуальной машины (включая все файлы виртуальных жёстких дисков).</p><p>Если Вы выберите <b>Связная копия</b>, будет создана новая машина, использующая файлы виртуальных жёстких дисков копируемой машины и Вы не сможете перенести новую машину на другой компьюте [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -11128,6 +12030,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation>&Связная копия</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11404,7 +12310,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Создать виртуальный жёсткий диск</translation>
+        <translation type="obsolete">Создать виртуальный жёсткий диск</translation>
     </message>
     <message>
         <source>Create</source>
@@ -11412,31 +12318,31 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Укажите тип</translation>
+        <translation type="obsolete">Укажите тип</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Пожалуйста, укажите тип файла, определяющий формат, который Вы хотите использовать при создании нового диска. Если у Вас нет необходимости использовать новый диск с другими продуктами программной виртуализации, Вы можете оставить данный параметр как есть.</translation>
+        <translation type="obsolete">Пожалуйста, укажите тип файла, определяющий формат, который Вы хотите использовать при создании нового диска. Если у Вас нет необходимости использовать новый диск с другими продуктами программной виртуализации, Вы можете оставить данный параметр как есть.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Укажите формат хранения</translation>
+        <translation type="obsolete">Укажите формат хранения</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Пожалуйста уточните, должен ли новый виртуальный жёсткий диск подстраивать свой размер под размер своего содержимого или быть точно заданного размера.</translation>
+        <translation type="obsolete">Пожалуйста уточните, должен ли новый виртуальный жёсткий диск подстраивать свой размер под размер своего содержимого или быть точно заданного размера.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p>Файл <b>динамического</b> виртуального диска будет занимать необходимое место на Вашем физическом носителе информации лишь по мере заполнения, однако не сможет уменьшиться в размере если место, занятое его содержимым, освободится.</p></translation>
+        <translation type="obsolete"><p>Файл <b>динамического</b> виртуального диска будет занимать необходимое место на Вашем физическом носителе информации лишь по мере заполнения, однако не сможет уменьшиться в размере если место, занятое его содержимым, освободится.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p>Файл <b>фиксированного</b> виртуального диска может потребовать больше времени при создании на некоторых файловых системах, однако, обычно, быстрее в использовании.</p></translation>
+        <translation type="obsolete"><p>Файл <b>фиксированного</b> виртуального диска может потребовать больше времени при создании на некоторых файловых системах, однако, обычно, быстрее в использовании.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation>Вы можете также <b>разделить</b> виртуальный диск на несколько файлов размером до двух гигабайт. Это может пригодиться если Вы планируете хранить эти файлы на съёмных USB носителях или старых файловых системах, некоторые из которых не поддерживают большие файлы.</translation>
+        <translation type="obsolete">Вы можете также <b>разделить</b> виртуальный диск на несколько файлов размером до двух гигабайт. Это может пригодиться если Вы планируете хранить эти файлы на съёмных USB носителях или старых файловых системах, некоторые из которых не поддерживают большие файлы.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -11460,15 +12366,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Пожалуйста укажите имя нового виртуального жёсткого диска.</translation>
+        <translation type="obsolete">Пожалуйста укажите имя нового виртуального жёсткого диска.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Выбрать местоположение нового виртуального жёсткого диска...</translation>
+        <translation type="obsolete">Выбрать местоположение нового виртуального жёсткого диска...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Укажите размер виртуального жёсткого диска. Эта величина ограничивает размер файловых данных, которые виртуальная машина сможет хранить на этом диске.</translation>
+        <translation type="obsolete">Укажите размер виртуального жёсткого диска. Эта величина ограничивает размер файловых данных, которые виртуальная машина сможет хранить на этом диске.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -11480,7 +12386,55 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Укажите &тип</translation>
+        <translation type="obsolete">Укажите &тип</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11531,15 +12485,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Выберите жёсткий диск</translation>
+        <translation type="obsolete">Выберите жёсткий диск</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>При желании к новой виртуальной машине можно подключить виртуальный жёсткий диск. Вы можете создать новый или выбрать из уже имеющихся.</p><p>Если Вам необходима более сложная конфигурация Вы можете пропустить этот шаг и внести изменения в настройки машины после её создания.</p><p>Рекомендуемый объём нового виртуального жёсткого диска равен <b>%1</b>.</p></translation>
+        <translation type="obsolete"><p>При желании к новой виртуальной машине можно подключить виртуальный жёсткий диск. Вы можете создать новый или выбрать из уже имеющихся.</p><p>Если Вам необходима более сложная конфигурация Вы можете пропустить этот шаг и внести изменения в настройки машины после её создания.</p><p>Рекомендуемый объём нового виртуального жёсткого диска равен <b>%1</b>.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Выбрать файл виртуального жёсткого диска...</translation>
+        <translation type="obsolete">Выбрать файл виртуального жёсткого диска...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -11547,15 +12501,39 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>&Не подключать виртуальный жёсткий диск</translation>
+        <translation type="obsolete">&Не подключать виртуальный жёсткий диск</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>&Создать новый виртуальный жёсткий диск</translation>
+        <translation type="obsolete">&Создать новый виртуальный жёсткий диск</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>&Использовать существующий виртуальный жёсткий диск</translation>
+        <translation type="obsolete">&Использовать существующий виртуальный жёсткий диск</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12241,7 +13219,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Открывает диалог для выбора папки.</translation>
+        <translation type="obsolete">Открывает диалог для выбора папки.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12249,7 +13227,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Открывает диалог для выбора файла.</translation>
+        <translation type="obsolete">Открывает диалог для выбора файла.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12261,16 +13239,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Введите путь к требуемой папке.</translation>
+        <translation type="obsolete">Введите путь к требуемой папке.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Введите путь к требуемому файлу.</translation>
+        <translation type="obsolete">Введите путь к требуемому файлу.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>Фактическая папка по умолчанию будет показана после принятия изменений и повторного открытия этого окна.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13433,7 +14427,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Подключение данного жёсткого диска будет осуществлено косвенно, используя новый разностный диск.</translation>
+        <translation type="unfinished">Подключение данного жёсткого диска будет осуществлено косвенно, используя новый разностный диск.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -13443,7 +14437,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Этот базовый жёсткий диск косвенно подсоединен с помощью следующего разностного диска:</translation>
+        <translation type="unfinished">Этот базовый жёсткий диск косвенно подсоединен с помощью следующего разностного диска:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -14004,11 +14998,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Выберите файл виртуального жёсткого диска</translation>
+        <translation type="obsolete">Выберите файл виртуального жёсткого диска</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Все файлы виртуальных жёстких дисков (%1)</translation>
+        <translation type="obsolete">Все файлы виртуальных жёстких дисков (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -14052,7 +15046,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Укажите местоположение нового виртуального жёсткого диска</translation>
+        <translation type="obsolete">Укажите местоположение нового виртуального жёсткого диска</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -14252,25 +15246,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15241,7 +16237,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Показать подробности о выбранном снимке</translation>
+        <translation type="obsolete">Показать подробности о выбранном снимке</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -15289,11 +16285,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Восстановить выбранный снимок виртуальной машины</translation>
+        <translation type="obsolete">Восстановить выбранный снимок виртуальной машины</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Удалить выбранный снимок виртуальной машины</translation>
+        <translation type="obsolete">Удалить выбранный снимок виртуальной машины</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15305,7 +16301,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Копировать выбранную виртуальную машину</translation>
+        <translation type="obsolete">Копировать выбранную виртуальную машину</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15341,6 +16353,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>Предупреждение: Вы собираетесь взять снимок машины, активной в данный момент и имеющей %n неизменяемых образов, подсоединённых к ней. До тех пор пока Вы работаете в данном снимке, неизменяемые образы не будут сброшены, дабы не допустить потерю данных.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Снимок %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
index 6fa0dfe..9c7a83c 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sk.ts
@@ -304,7 +304,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Automaticky zmeniť veľkosť hosťovskej obrazovky pri zmene veľkosti okna (vyžaduje Hosťovské doplnky)</translation>
+        <translation type="obsolete">Automaticky zmeniť veľkosť hosťovskej obrazovky pri zmene veľkosti okna (vyžaduje Hosťovské doplnky)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -392,7 +392,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Pošle virtuálnemu stroju udalosť stlačenia ACPI vypínača</translation>
+        <translation type="obsolete">Pošle virtuálnemu stroju udalosť stlačenia ACPI vypínača</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -428,7 +428,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Zmeniť nastavenia sieťových adaptérov</translation>
+        <translation type="obsolete">Zmeniť nastavenia sieťových adaptérov</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -436,7 +436,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Vytvoriť alebo zmeniť zdieľané priečinky</translation>
+        <translation type="obsolete">Vytvoriť alebo zmeniť zdieľané priečinky</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -532,7 +532,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Riadiť nastavenia virtuálneho stroja</translation>
+        <translation type="obsolete">Riadiť nastavenia virtuálneho stroja</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -540,7 +540,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Zobraziť súbory so záznamami vybraného virtuálneho stroja</translation>
+        <translation type="obsolete">Zobraziť súbory so záznamami vybraného virtuálneho stroja</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -563,10 +563,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Vykoná kontrolu novej verzie VirtualBoxu</translation>
     </message>
@@ -575,10 +571,6 @@
         <translation type="unfinished">&O aplikácii VirtualBox...</translation>
     </message>
     <message>
-        <source>Show a window with product information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Take Sn&apshot...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -587,10 +579,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished">&Súbor</translation>
@@ -627,11 +615,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Nastavenia...</translation>
+        <translation type="obsolete">&Nastavenia...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Zobraziť okno globálnych nastavení</translation>
+        <translation type="obsolete">Zobraziť okno globálnych nastavení</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -647,15 +635,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Vytvoriť nový virtuálny stroj</translation>
-    </message>
-    <message>
-        <source>Add an existing virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Vytvoriť nový virtuálny stroj</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -674,445 +654,558 @@
         <translation type="obsolete">Prepnúť do okna vybraného virtuálneho stroja</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <translation type="obsolete">Obnoviť stav dostupnosti vybraného virtuálneho stroja</translation>
+    </message>
+    <message>
+        <source>&New...</source>
+        <translation type="unfinished">&Nový...</translation>
+    </message>
+    <message>
+        <source>&Add...</source>
+        <translation type="unfinished">&Pridať...</translation>
+    </message>
+    <message>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Obnoviť stav dostupnosti vybraného virtuálneho stroja</translation>
+        <source>&Remove...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard</source>
+        <translation type="unfinished">Zahodiť</translation>
+    </message>
+    <message>
+        <source>Discard the saved state of the selected virtual machine</source>
+        <translation type="obsolete">Zahodiť uložený stav vybraného virtuálneho stroja</translation>
+    </message>
+    <message>
+        <source>&Close</source>
+        <translation type="unfinished">&Zatvoriť</translation>
+    </message>
+    <message>
+        <source>Show &Log...</source>
+        <translation type="unfinished">Zobraziť &záznam...</translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>&VirtualBox Web Site...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>&Reset All Warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">&Skontrolovať aktualizácie...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
-        <translation type="unfinished">&Nový...</translation>
+        <source>&New Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
-        <translation type="unfinished">&Pridať...</translation>
+        <source>&Add Machine...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
-        <translation type="unfinished">Zahodiť</translation>
+        <source>&Shared Folders Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machine</source>
-        <translation type="obsolete">Zahodiť uložený stav vybraného virtuálneho stroja</translation>
+        <source>&Video Capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
-        <translation type="unfinished">&Zatvoriť</translation>
+        <source>&Video Capture Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <translation type="unfinished">Zobraziť &záznam...</translation>
+        <source>Popup Menu</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">&Skontrolovať aktualizácie...</translation>
+        <source>&VirtualBox</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Keyboard</source>
+        <translation type="unfinished">&Klávesnica</translation>
+    </message>
+    <message>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>Network</source>
+        <translation type="obsolete">Sieť</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Zobraziť &záznam...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&File</source>
+        <translation type="unfinished">&Súbor</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Nastavenia...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Pevné disky</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
-        <translation type="unfinished">&Klávesnica</translation>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Zapnúť</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Sieť</translation>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Nie sú dostupné žiadne zariadenia pripojené k hostiteľskému PC</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Zobraziť &záznam...</translation>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Súbor</translation>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Show the log files of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Re&fresh</source>
+        <translation type="unfinished">O&bnoviť</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>S&how in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>S&how in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1121,17 +1214,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Zapnúť</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Zapnúť</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1149,6 +1237,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1202,15 +1314,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Radič pevného disku IDE</translation>
+        <translation type="obsolete">Radič pevného disku IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Radič pevného disku SATA</translation>
+        <translation type="obsolete">Radič pevného disku SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Radič pevného disku SCSI</translation>
+        <translation type="obsolete">Radič pevného disku SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1268,7 +1380,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Ovládač pevného disku (SAS)</translation>
+        <translation type="obsolete">Ovládač pevného disku (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1278,6 +1390,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>&Reinicializovať MAC adresu všetkých sieťových kariet</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1831,16 +1959,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1953,33 +2078,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3103,18 +3201,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -3146,11 +3236,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3178,11 +3276,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Pridať balíček</translation>
+        <translation type="obsolete">Pridať balíček</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Odstrániť balíček</translation>
+        <translation type="obsolete">Odstrániť balíček</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3200,6 +3298,22 @@
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3260,15 +3374,15 @@
         <translation type="obsolete">Vypnúť š&etrič obrazovky hostiteľa</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3315,11 +3429,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3499,15 +3613,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Pridať sieť medzi hostiteľom</translation>
+        <translation type="obsolete">&Pridať sieť medzi hostiteľom</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Odstrániť sieť medzi hostiteľom</translation>
+        <translation type="obsolete">&Odstrániť sieť medzi hostiteľom</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Upraviť sieť medzi hostiteľom</translation>
+        <translation type="obsolete">&Upraviť sieť medzi hostiteľom</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3644,15 +3758,51 @@
         <translation type="unfinished">Aktívne</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3767,7 +3917,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Použiť manuálnu konfiguráciu pre tento adaptér siete medzi hostiteľom.</translation>
+        <translation type="obsolete">Použiť manuálnu konfiguráciu pre tento adaptér siete medzi hostiteľom.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3811,7 +3961,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Označuje, či je povolené spustenie DHCP servera po štarte stroja alebo nie.</translation>
+        <translation type="obsolete">Označuje, či je povolené spustenie DHCP servera po štarte stroja alebo nie.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3845,6 +3995,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Zobrazí hornú hranicu pre adresy obsluhované DHCP serverom v sieti, ktoré sú priradené pre tento adaptér v sieti hostiteľa.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3857,10 +4015,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3885,32 +4039,36 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">P&resmerovanie portov</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">P&resmerovanie portov</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3944,7 +4102,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Zmení hostiteľa proxy.</translation>
+        <translation type="obsolete">Zmení hostiteľa proxy.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3952,7 +4110,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Zmení port proxy.</translation>
+        <translation type="obsolete">Zmení port proxy.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3986,6 +4144,14 @@
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4003,7 +4169,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Určuje, ako často sa má vykonávať kontrola novej verzie. Všimnite si, že ak chcete úplne vypnúť túto kontrolu, stačí túto voľbu odškrtnúť.</translation>
+        <translation type="obsolete">Určuje, ako často sa má vykonávať kontrola novej verzie. Všimnite si, že ak chcete úplne vypnúť túto kontrolu, stačí túto voľbu odškrtnúť.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4037,6 +4203,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Všetky nové verzie a &testovacie verzie</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4419,7 +4589,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Zobrazuje aktivitu virtuálnych pevných diskov:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Zobrazuje aktivitu virtuálnych pevných diskov:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4500,7 +4670,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indikuje, či je klávesnica odchytávaná hosťovaným OS (<img src=:/hostkey_captured_16px.png/>) alebo nie (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indikuje, či je klávesnica odchytávaná hosťovaným OS (<img src=:/hostkey_captured_16px.png/>) alebo nie (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source><hr>The Remote Desktop Server is listening on port %1</source>
@@ -4537,6 +4707,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4556,12 +4735,8 @@
         <translation type="obsolete"> EXPERIMENTÁLNE zostavenie %1r%2 - %3</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Snímka %1</translation>
+        <translation type="obsolete">Snímka %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4588,33 +4763,13 @@
         <translation type="obsolete">Nie sú pripojené žiadne zariadenia disketovej mechaniky</translation>
     </message>
     <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Nie sú dostupné žiadne zariadenia pripojené k hostiteľskému PC</translation>
+        <translation type="obsolete">Nie sú dostupné žiadne zariadenia pripojené k hostiteľskému PC</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4631,10 +4786,6 @@
         <translation>Hostiteľský ovládač au&dia:</translation>
     </message>
     <message>
-        <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Audio &Controller:</source>
         <translation>Ra&dič audia:</translation>
     </message>
@@ -4642,6 +4793,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4651,7 +4806,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4703,7 +4858,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Určuje autentizačnú metódu VRDP.</translation>
+        <translation type="obsolete">Určuje autentizačnú metódu VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4711,7 +4866,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Uvádza expiračnú dobu autentizácie hosťa, v milisekundách.</translation>
+        <translation type="obsolete">Uvádza expiračnú dobu autentizácie hosťa, v milisekundách.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4727,7 +4882,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Číslo portu VRDP servera. Môžete zadať <tt>0</tt> (nula), čím vyberiete port 3389, štandardný port pre RDP.</translation>
+        <translation type="obsolete">Číslo portu VRDP servera. Môžete zadať <tt>0</tt> (nula), čím vyberiete port 3389, štandardný port pre RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4739,11 +4894,7 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
-    </message>
-    <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4774,46 +4925,18 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4822,10 +4945,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4877,10 +4996,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Mini nástrojová lišta:</translation>
     </message>
@@ -4922,21 +5037,17 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4948,6 +5059,70 @@
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4957,7 +5132,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Určuje cestu, kam budú ukladané snímky tohto virtuálneho stroja. Uvedomte si, že snímky môžu zaberať veľkú časť miesta na disku.</translation>
+        <translation type="obsolete">Určuje cestu, kam budú ukladané snímky tohto virtuálneho stroja. Uvedomte si, že snímky môžu zaberať veľkú časť miesta na disku.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5120,10 +5295,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5160,6 +5331,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5181,15 +5360,11 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Ak je zaškrtnuté, zobrazí v režime na celú obrazovku a v režime plynulého prechodu malú lištu nástrojov.</translation>
+        <translation type="obsolete">Ak je zaškrtnuté, zobrazí v režime na celú obrazovku a v režime plynulého prechodu malú lištu nástrojov.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Zobraziť v rež&ime celej obrazovky/plynulého prechodu</translation>
-    </message>
-    <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Zobraziť v rež&ime celej obrazovky/plynulého prechodu</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5199,6 +5374,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5227,10 +5414,6 @@
         <translation>P&ripojený k:</translation>
     </message>
     <message>
-        <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Holds the name of the internal network selected for this adapter.</source>
         <translation type="obsolete">Zobrazí názov vybranej internej siete pre tento adaptér.</translation>
     </message>
@@ -5310,26 +5493,14 @@
         <translation>&Pokročilé</translation>
     </message>
     <message>
-        <source>Shows or hides additional network adapter options.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Mac Address:</source>
         <translation type="obsolete">&Mac adresa:</translation>
     </message>
     <message>
-        <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Cable Connected</source>
         <translation>&Kábel pripojený</translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation>P&resmerovanie portov</translation>
     </message>
@@ -5346,10 +5517,6 @@
         <translation>Všeobecné vlastnosti:</translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5401,6 +5568,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5471,21 +5658,6 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Je vybrané duplikované číslo portu </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Cesta k portu nie je definovaná </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Je zadaná duplikovaná cesta k portu</translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5508,33 +5680,24 @@
     </message>
 </context>
 <context>
-    <name>UIMachineSettingsPortForwardingDlg</name>
-    <message>
-        <source>Port Forwarding Rules</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>UIMachineSettingsParallelPage</name>
     <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Je vybrané duplikované číslo portu </translation>
     </message>
     <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Cesta k portu nie je definovaná </translation>
     </message>
     <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Je zadaná duplikovaná cesta k portu</translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
-        <source>This button deletes selected port forwarding rule.</source>
+        <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5542,15 +5705,15 @@
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Pridá definíciu nového zdieľaného priečinka.</translation>
+        <translation type="obsolete">Pridá definíciu nového zdieľaného priečinka.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Upraví definíciu vybraného zdieľaného priečinka.</translation>
+        <translation type="obsolete">Upraví definíciu vybraného zdieľaného priečinka.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Odstráni definíciu vybraného virtuálneho priečinka.</translation>
+        <translation type="obsolete">Odstráni definíciu vybraného virtuálneho priečinka.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5590,15 +5753,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Pridať zdieľaný priečinok</translation>
+        <translation type="obsolete">&Pridať zdieľaný priečinok</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Upraviť zdieľaný priečinok</translation>
+        <translation type="obsolete">&Upraviť zdieľaný priečinok</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>O&dstrániť zdieľaný priečinok</translation>
+        <translation type="obsolete">O&dstrániť zdieľaný priečinok</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5612,6 +5775,30 @@
         <source>Yes</source>
         <translation>Áno</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5661,7 +5848,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Keď je zaškrtnuté, zdieľaný priečinok bude permanentným.</translation>
+        <translation type="obsolete">Keď je zaškrtnuté, zdieľaný priečinok bude permanentným.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5701,7 +5892,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Ovláda pracovný režim tohto sériového portu. Ak vyberiete <b>Odpojený</b>, OS hosťa nájde sériový port, ale nebude schopný ho ovládať.</translation>
+        <translation type="obsolete">Ovláda pracovný režim tohto sériového portu. Ak vyberiete <b>Odpojený</b>, OS hosťa nájde sériový port, ale nebude schopný ho ovládať.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5720,10 +5911,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5735,20 +5922,13 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Je vybrané duplikované číslo portu </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Cesta k portu nie je definovaná </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Je zadaná duplikovaná cesta k portu</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -5772,6 +5952,21 @@
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Je vybrané duplikované číslo portu </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Cesta k portu nie je definovaná </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Je zadaná duplikovaná cesta k portu</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -5791,11 +5986,7 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Rozbaliť/zabaliť&nbsp;položku</nobr></translation>
-    </message>
-    <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete"><nobr>Rozbaliť/zabaliť&nbsp;položku</nobr></translation>
     </message>
     <message>
         <source>Add Controller</source>
@@ -5843,19 +6034,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Pridá nový radič na koniec stromu s úložiskami.</translation>
+        <translation type="obsolete">Pridá nový radič na koniec stromu s úložiskami.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Odstrániť vybraný radič zo stromu s úložiskami.</translation>
+        <translation type="obsolete">Odstrániť vybraný radič zo stromu s úložiskami.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Pridá nového potomka do stromu s úložiskami, kde vybraný radič bude mať úlohu rodiča.</translation>
+        <translation type="obsolete">Pridá nového potomka do stromu s úložiskami, kde vybraný radič bude mať úlohu rodiča.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Odstráni potomka označeného v strome úložisk.</translation>
+        <translation type="obsolete">Odstráni potomka označeného v strome úložisk.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5891,7 +6082,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Obsahuje všetky diskové radiče na tomto stroji, virtuálne obrazy a zariadenia hostiteľa k nim pripojené.</translation>
+        <translation type="obsolete">Obsahuje všetky diskové radiče na tomto stroji, virtuálne obrazy a zariadenia hostiteľa k nim pripojené.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5910,10 +6101,6 @@
         <translation>&Názov:</translation>
     </message>
     <message>
-        <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Type:</source>
         <translation>&Typ:</translation>
     </message>
@@ -5962,10 +6149,6 @@
         <translation>Pripojený k:</translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5983,152 +6166,189 @@
     </message>
     <message>
         <source>Image</source>
-        <translation type="unfinished">Obraz</translation>
+        <translation type="obsolete">Obraz</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Floppy &Drive:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Obraz</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>Adds new storage controller.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6136,12 +6356,12 @@
     <name>UIMachineSettingsSystem</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -6169,7 +6389,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Presunúť dolu (Ctrl-dolu)</translation>
+        <translation type="obsolete">Presunúť dolu (Ctrl-dolu)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6177,7 +6397,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Presunúť hore (Ctrl-hore)</translation>
+        <translation type="obsolete">Presunúť hore (Ctrl-hore)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6244,11 +6464,6 @@
         <translation>Povoliť Nested &Paging</translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPUs</qt></source>
-        <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6257,10 +6472,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6285,16 +6496,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6346,56 +6547,74 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Pridať prázdny filter</translation>
+        <translation type="obsolete">&Pridať prázdny filter</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>P&ridať filter pre zariadenie</translation>
+        <translation type="obsolete">P&ridať filter pre zariadenie</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Upraviť filter</translation>
+        <translation type="obsolete">&Upraviť filter</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>O&dstrániť filter</translation>
+        <translation type="obsolete">O&dstrániť filter</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Pre&sunúť filter nahor</translation>
+        <translation type="obsolete">Pre&sunúť filter nahor</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Presu&núť filter nadol</translation>
+        <translation type="obsolete">Presu&núť filter nadol</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Pridá nový filter USB so všetkými poľami implicitne nastavenými na prázdne reťazce. Majte na pamäti, že takému filtru zodpovedá akékoľvek pripojené zariadenie USB.</translation>
+        <translation type="obsolete">Pridá nový filter USB so všetkými poľami implicitne nastavenými na prázdne reťazce. Majte na pamäti, že takému filtru zodpovedá akékoľvek pripojené zariadenie USB.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Pridá nový filter USB so všetkými poľami implicitne nastavenými na hodnoty zvoleného zariadenia USB pripojeného k hostiteľskému PC.</translation>
+        <translation type="obsolete">Pridá nový filter USB so všetkými poľami implicitne nastavenými na hodnoty zvoleného zariadenia USB pripojeného k hostiteľskému PC.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Upraví vybraný filter USB.</translation>
+        <translation type="obsolete">Upraví vybraný filter USB.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Odstráni vybraní filter USB.</translation>
-    </message>
-    <message>
-        <source>Moves the selected USB filter up.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Moves the selected USB filter down.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Odstráni vybraní filter USB.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6411,10 +6630,6 @@
         <translation type="unfinished">Zapnúť ovládač &USB</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>USB Device &Filters</source>
         <translation type="unfinished">&Filtre zariadení USB</translation>
     </message>
@@ -6432,62 +6647,114 @@
         <translation type="unfinished"><nobr>ID dodávateľa: %1</nobr></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>ID produktu: %2</nobr></translation>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>ID produktu: %2</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Revízia: %3</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Produkt: %4</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Výrobca: %5</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Sériové číslo: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
+        <translation type="unfinished"><nobr>Stav: %1</nobr></translation>
+    </message>
+    <message>
+        <source>USB &1.1 (OHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &2.0 (EHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB &3.0 (xHCI) Controller</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Revízia: %3</nobr></translation>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Pridať prázdny filter</translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Produkt: %4</nobr></translation>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Pridať filter pre zariadenie</translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Výrobca: %5</nobr></translation>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Sériové číslo: %1</nobr></translation>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Odstrániť filter</translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Port: %1</nobr></translation>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Presunúť filter nahor</translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
-        <translation type="unfinished"><nobr>Stav: %1</nobr></translation>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Presunúť filter nadol</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6521,67 +6788,67 @@
         <translation>&ID dodávateľa:</translation>
     </message>
     <message>
-        <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Product ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Product ID:</source>
+        <source>&Revision:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Manufacturer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Revision:</source>
+        <source>Pro&duct:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <source>&Serial No.:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Manufacturer:</source>
+        <source>Por&t:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>R&emote:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Pro&duct:</source>
+        <source>USB Filter Details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Serial No.:</source>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6602,10 +6869,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6625,6 +6888,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7104,7 +7371,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Zlyhalo prepnutie do režimu na celú obrazovku kvôli nedostatku video pamäte hosťa.</p><p>Mali by ste nastaviť virtuálny stroj tak, aby mal aspoň <b>%1</b> video pamäte.</p><p>Kliknite na <b>Ignorovať</b>, ak chcete prepnúť do režimu na celú obrazovku aj tak alebo stlačte <b>Zrušiť</b> pre zrušenie tejto akcie.</p></translation>
+        <translation type="obsolete"><p>Zlyhalo prepnutie do režimu na celú obrazovku kvôli nedostatku video pamäte hosťa.</p><p>Mali by ste nastaviť virtuálny stroj tak, aby mal aspoň <b>%1</b> video pamäte.</p><p>Kliknite na <b>Ignorovať</b>, ak chcete prepnúť do režimu na celú obrazovku aj tak alebo stlačte <b>Zrušiť</b> pre zrušenie tejto akcie.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7185,10 +7452,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation>Vymazať</translation>
@@ -7320,10 +7583,6 @@
         <translation>Obnoviť</translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation>Vymazať</translation>
     </message>
@@ -7403,10 +7662,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7479,10 +7734,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7676,10 +7927,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7788,18 +8035,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -7839,30 +8074,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -7982,10 +8193,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8057,6 +8264,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -8931,6 +9178,13 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
+        <translation type="obsolete">Názov</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
         <translation type="unfinished">Názov</translation>
     </message>
     <message>
@@ -8953,6 +9207,34 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -9175,13 +9457,6 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -9191,6 +9466,10 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9699,96 +9978,96 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Copy</source>
         <translation type="unfinished">Skopírovať</translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -9831,10 +10110,6 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9890,6 +10165,10 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10153,83 +10432,83 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10276,31 +10555,31 @@ preskočiť a pripojiť pevné disky neskôr pomocou dialógu Nastavenia virtuá
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11368,7 +11647,7 @@ verzia %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Otvorí dialógové okno, kde môžete vybrať iný priečinok.</translation>
+        <translation type="obsolete">Otvorí dialógové okno, kde môžete vybrať iný priečinok.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11376,7 +11655,7 @@ verzia %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Otvorí dialógové okno, kde môžete vybrať iný súbor.</translation>
+        <translation type="obsolete">Otvorí dialógové okno, kde môžete vybrať iný súbor.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11388,16 +11667,32 @@ verzia %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Prosím zadajte sem požadovanú cestu k priečinku.</translation>
+        <translation type="obsolete">Prosím zadajte sem požadovanú cestu k priečinku.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Prosím zadajte sem požadovanú cestu k súboru.</translation>
+        <translation type="obsolete">Prosím zadajte sem požadovanú cestu k súboru.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13129,14 +13424,6 @@ verzia %1</translation>
         <translation type="unfinished">Popis</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13177,10 +13464,6 @@ verzia %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -13358,25 +13641,37 @@ verzia %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14925,7 +15220,7 @@ je zobrazený <b>tučným</b> písmom. Voľbou <i>Štandardný
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Zobraziť podrobnosti o vybranej snímke</translation>
+        <translation type="obsolete">Zobraziť podrobnosti o vybranej snímke</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -14977,11 +15272,11 @@ je zobrazený <b>tučným</b> písmom. Voľbou <i>Štandardný
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Obnoviť vybranú snímku virtuálneho stroja</translation>
+        <translation type="obsolete">Obnoviť vybranú snímku virtuálneho stroja</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Vymazať vybranú snímku virtuálneho stroja</translation>
+        <translation type="obsolete">Vymazať vybranú snímku virtuálneho stroja</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -14992,7 +15287,19 @@ je zobrazený <b>tučným</b> písmom. Voľbou <i>Štandardný
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -15049,6 +15356,10 @@ je zobrazený <b>tučným</b> písmom. Voľbou <i>Štandardný
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Snímka %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
index 3441f74..5d7efba 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sr.ts
@@ -260,7 +260,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Аутоматско мењати величину дисплеја госта на промену величине прозора (потрбни 'додатци госта')</translation>
+        <translation type="obsolete">Аутоматско мењати величину дисплеја госта на промену величине прозора (потрбни 'додатци госта')</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -344,7 +344,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Пошаљи виртуелној машини ACPI стискање дугмета за гашење</translation>
+        <translation type="obsolete">Пошаљи виртуелној машини ACPI стискање дугмета за гашење</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -380,7 +380,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Промени поставке мрежних адаптера</translation>
+        <translation type="obsolete">Промени поставке мрежних адаптера</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -388,7 +388,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>креирај или промени дељене фасцикле</translation>
+        <translation type="obsolete">креирај или промени дељене фасцикле</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -484,7 +484,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Уреди подешавања машине</translation>
+        <translation type="obsolete">Уреди подешавања машине</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -492,7 +492,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Покажи зурнал одабране виртуелне машине</translation>
+        <translation type="obsolete">Покажи зурнал одабране виртуелне машине</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -515,10 +515,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished">Проверити за нову верзију VirtualBox-а</translation>
     </message>
@@ -528,7 +524,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Покажи дијалог са информација производа</translation>
+        <translation type="obsolete">Покажи дијалог са информација производа</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -539,10 +535,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished"></translation>
@@ -579,11 +571,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Параметри...</translation>
+        <translation type="obsolete">&Параметри...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Покажи дијалог глобалних параметри</translation>
+        <translation type="obsolete">Покажи дијалог глобалних параметри</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -599,15 +591,11 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Креирај нову виртуелну машину</translation>
+        <translation type="obsolete">Креирај нову виртуелну машину</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation type="unfinished">Додај постојећу машину</translation>
-    </message>
-    <message>
-        <source>Rename the selected virtual machine group</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Додај постојећу машину</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -626,16 +614,12 @@
         <translation type="obsolete">Пребаци се на прозор одабране виртуелне машине</translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Освежи статус приступа одабране виртуелне машине</translation>
+        <translation type="obsolete">Освежи статус приступа одабране виртуелне машине</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation type="unfinished">Покажи у налазач</translation>
+        <translation type="obsolete">Покажи у налазач</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -643,7 +627,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation type="unfinished">Прикажи у Explorer</translation>
+        <translation type="obsolete">Прикажи у Explorer</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -651,11 +635,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation type="unfinished">Прикажи у Менаџер датотеке</translation>
+        <translation type="obsolete">Прикажи у Менаџер датотеке</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation type="unfinished">Прикажи опис машине у Менаџеру датотеке</translation>
+        <translation type="obsolete">Прикажи опис машине у Менаџеру датотеке</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -666,16 +650,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Cl&one...</source>
         <translation type="unfinished">Клонирај...</translation>
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation type="unfinished">Клонирај одабрану машину</translation>
+        <translation type="obsolete">Клонирај одабрану машину</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -690,16 +670,12 @@
         <translation type="unfinished">Одбаци</translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Discard the saved state of the selected virtual machine</source>
         <translation type="obsolete">Одбаци сачуван статус одабране виртуелне машине</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation type="unfinished">Креирај „звани“ на декстопу</translation>
+        <translation type="obsolete">Креирај „звани“ на декстопу</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -707,7 +683,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation type="unfinished">Креирај пречицу на десктопу</translation>
+        <translation type="obsolete">Креирај пречицу на десктопу</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -738,353 +714,506 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>Network</source>
+        <translation type="obsolete">Мрежа</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">По&кажи журнал...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Параметри...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Мрежа</translation>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">По&кажи журнал...</translation>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Омогући</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Нема подрђана уређаја прикачени на рачунар</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">Ос&вежи</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1093,17 +1222,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Омогући</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Омогући</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1121,6 +1245,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1174,15 +1322,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Контролер хард диска (IDE)</translation>
+        <translation type="obsolete">Контролер хард диска (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Контролер хард диска (SATA)</translation>
+        <translation type="obsolete">Контролер хард диска (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Контролер хард диска (SCSI)</translation>
+        <translation type="obsolete">Контролер хард диска (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1240,7 +1388,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Контролер хард диска (SAS)</translation>
+        <translation type="obsolete">Контролер хард диска (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1250,6 +1398,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>Иницијализација MAC адресе за ве мређне карте</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1893,16 +2057,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1975,33 +2136,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3222,18 +3356,10 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -3265,11 +3391,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3297,11 +3431,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Додај пакет</translation>
+        <translation type="obsolete">Додај пакет</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Уклони пакет</translation>
+        <translation type="obsolete">Уклони пакет</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3319,6 +3453,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3375,15 +3525,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Угаси скрин сејвер хоста</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3430,11 +3580,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3614,15 +3764,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Додај само хост мрежу</translation>
+        <translation type="obsolete">Додај само хост мрежу</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Уклони само хост мрежу</translation>
+        <translation type="obsolete">Уклони само хост мрежу</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>Уреди само хост мрежу</translation>
+        <translation type="obsolete">Уреди само хост мрежу</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3759,15 +3909,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Активно</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3882,7 +4068,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Користи ручну конфигурацију за овог хоста само мрежни адаптер.</translation>
+        <translation type="obsolete">Користи ручну конфигурацију за овог хоста само мрежни адаптер.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3926,7 +4112,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Показује да ли је DHCP сервер покренут са машином.</translation>
+        <translation type="obsolete">Показује да ли је DHCP сервер покренут са машином.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3960,6 +4146,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Показује адресу вишег скока DHCP сервера.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3972,10 +4166,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4000,32 +4190,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Отвара дијалог за уређивање прослеђивање порта.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Прослеђивање порта</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Отвара дијалог за уређивање прослеђивање порта.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Прослеђивање порта</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4059,7 +4257,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Промени прокси хоста.</translation>
+        <translation type="obsolete">Промени прокси хоста.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4067,7 +4265,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Промени порт хоста.</translation>
+        <translation type="obsolete">Промени порт хоста.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4101,6 +4299,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4118,7 +4324,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Унети када програм треба да проверава. Ако желите да скроз угасите опцију, испразните ову кутијицу.</translation>
+        <translation type="obsolete">Унети када програм треба да проверава. Ако желите да скроз угасите опцију, испразните ову кутијицу.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4152,6 +4358,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Све верзије и пре-онвављивање</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4471,7 +4681,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Показује активност виртуелног хард диска:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Показује активност виртуелног хард диска:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4557,7 +4767,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Показује да ли је тастатура каптирана (<img src=:/hostkey_captured_16px.png/>) или не (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Показује да ли је тастатура каптирана (<img src=:/hostkey_captured_16px.png/>) или не (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4603,6 +4813,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4622,12 +4841,8 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete"> ЕКСПЕРИМЕНТАЛНА ВЕРЗИЈА %1r%2 - %3</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Снимак %1</translation>
+        <translation type="obsolete">Снимак %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4654,33 +4869,13 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Нема прикачена флопи уређаја</translation>
     </message>
     <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Нема подрђана уређаја прикачени на рачунар</translation>
+        <translation type="obsolete">Нема подрђана уређаја прикачени на рачунар</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4698,7 +4893,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation><qt>Контролише аудио драјвер. <b>Нулни аудио драјвер</b>ради да гост види аудио, али не користи је.</translation>
+        <translation type="obsolete"><qt>Контролише аудио драјвер. <b>Нулни аудио драјвер</b>ради да гост види аудио, али не користи је.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4708,6 +4903,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Одабрати тип виртуелне звучне картице. У зависности тога, 'VirtualBox' ће дати различит аудио хардвер виртуелној машини.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4717,7 +4916,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4773,7 +4972,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Дефинише методу идентификације VRDP-а.</translation>
+        <translation type="obsolete">Дефинише методу идентификације VRDP-а.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4781,7 +4980,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Дефификује тајмаут (милисекунде) за аутентификацију госта.</translation>
+        <translation type="obsolete">Дефификује тајмаут (милисекунде) за аутентификацију госта.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4797,7 +4996,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Број порта VRDP сервера. Можете унети <tt>0</tt> (нула), за одабир порта 3389, стандардни порт за RDP.</translation>
+        <translation type="obsolete">Број порта VRDP сервера. Можете унети <tt>0</tt> (нула), за одабир порта 3389, стандардни порт за RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4809,11 +5008,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Одређује да ли су могуће више истовремене везе на машини.</translation>
+        <translation type="obsolete">Одређује да ли су могуће више истовремене везе на машини.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4844,46 +5043,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4892,10 +5063,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4947,10 +5114,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Мини алатна-трака:</translation>
     </message>
@@ -4996,21 +5159,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">3D {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">3D {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5022,6 +5181,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5031,7 +5254,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Показује путању где се налазе снимци машине. Снимци могу користити доста простора.</translation>
+        <translation type="obsolete">Показује путању где се налазе снимци машине. Снимци могу користити доста простора.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5290,10 +5513,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5330,6 +5549,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5351,15 +5578,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Ако унето, показати алатну траку у пуном екрану или интегрисаном моду.</translation>
+        <translation type="obsolete">Ако унето, показати алатну траку у пуном екрану или интегрисаном моду.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Покажи у пуном екрану/интегрисано</translation>
+        <translation type="obsolete">Покажи у пуном екрану/интегрисано</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Ако унето, покажи малу алатну траку на врх екрана, уместо на дну.</translation>
+        <translation type="obsolete">Ако унето, покажи малу алатну траку на врх екрана, уместо на дну.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5369,6 +5596,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5402,7 +5641,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Контролише како овај виртуелни адаптер је прикачен према праву мрежу хоста.</translation>
+        <translation type="obsolete">Контролише како овај виртуелни адаптер је прикачен према праву мрежу хоста.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5430,7 +5669,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Показује да ли је виртуелни мрежни кабал прикључен или не.</translation>
+        <translation type="obsolete">Показује да ли је виртуелни мрежни кабал прикључен или не.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5516,7 +5755,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Поажи/сакри додатне опције мрежног адаптера.</translation>
+        <translation type="obsolete">Поажи/сакри додатне опције мрежног адаптера.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5528,7 +5767,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Отвара дијалог за уређивање прослеђивање порта.</translation>
+        <translation type="obsolete">Отвара дијалог за уређивање прослеђивање порта.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5548,7 +5787,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Унети подешавања за мрежни драјвер који ће те користити. Подешавања требају да имају форму <b>name=value</b> и зависиће од драјвера. Користити <b>shift-enter</b> за нов улаз.</translation>
+        <translation type="obsolete">Унети подешавања за мрежни драјвер који ће те користити. Подешавања требају да имају форму <b>name=value</b> и зависиће од драјвера. Користити <b>shift-enter</b> за нов улаз.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5575,31 +5814,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No internal network name is currently specified.</source>
+        <source>No internal network name is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No host-only network adapter is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No generic driver is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No NAT network name is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No host-only network adapter is currently selected.</source>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No generic driver is currently selected.</source>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <source>Shows additional network adapter options.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No NAT network name is currently specified.</source>
+        <source>When checked, the virtual network cable is plugged in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -5700,21 +5959,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Показује базну I/O порт адресу овог паралелног порта. Опсег цифре је од <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Дупликат порта је одабрано</translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Путања порта није унето </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Унета дупла путања порта </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5737,6 +5981,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Дупликат порта је одабрано</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Путања порта није унето </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Унета дупла путања порта </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -5744,27 +6003,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Табела садржи списак правила прослеђивања порта.</translation>
+        <translation type="obsolete">Табела садржи списак правила прослеђивања порта.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Убаци ново правило</translation>
+        <translation type="obsolete">Убаци ново правило</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Копирај одабрано правило</translation>
+        <translation type="obsolete">Копирај одабрано правило</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Избриши одабрано правило</translation>
+        <translation type="obsolete">Избриши одабрано правило</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Дугме додаје ново правило прослеђивања порта.</translation>
+        <translation type="obsolete">Дугме додаје ново правило прослеђивања порта.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Дугме брише одабрано правило прослеђивања порта.</translation>
+        <translation type="obsolete">Дугме брише одабрано правило прослеђивања порта.</translation>
     </message>
 </context>
 <context>
@@ -5783,15 +6042,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Додај опис новој дељеној фасцикли.</translation>
+        <translation type="obsolete">Додај опис новој дељеној фасцикли.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Уреди опис одабране дељене фасцикле.</translation>
+        <translation type="obsolete">Уреди опис одабране дељене фасцикле.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Скини опис одабране дељене фасцикле.</translation>
+        <translation type="obsolete">Скини опис одабране дељене фасцикле.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5831,15 +6090,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Додај дељену фасциклу</translation>
+        <translation type="obsolete">Додај дељену фасциклу</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>уреди дељену фасциклу</translation>
+        <translation type="obsolete">уреди дељену фасциклу</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Уклони дељену фасциклу</translation>
+        <translation type="obsolete">Уклони дељену фасциклу</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5853,6 +6112,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Да</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5902,7 +6185,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Ако унето, дељена фасцикла ће бити трајна.</translation>
+        <translation type="obsolete">Ако унето, дељена фасцикла ће бити трајна.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5950,7 +6237,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Контролише мод рада овој серијског порта. Ако одаберете <b>Искључено</b>, гост ће видети серијски порт али неће моћи да га користи.</translation>
+        <translation type="obsolete">Контролише мод рада овој серијског порта. Ако одаберете <b>Искључено</b>, гост ће видети серијски порт али неће моћи да га користи.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5981,10 +6268,6 @@ p, li { white-space: pre-wrap; }
         <translation>Показује базну I/O адресу серијалног порта. Вредности су бројеви између <tt>0</tt> и <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5996,20 +6279,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Дупликат порта је одабрано </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Путања порта није унето </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Унета дупла путљња порта </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6033,6 +6309,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Дупликат порта је одабрано </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Путања порта није унето </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Унета дупла путљња порта </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6112,11 +6403,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Повечај/Умањи&nbsp;Ставку</nobr></translation>
+        <translation type="obsolete"><nobr>Повечај/Умањи&nbsp;Ставку</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Додај&nbsp;хард&nbsp;диск</nobr></translation>
+        <translation type="obsolete"><nobr>Додај&nbsp;хард&nbsp;диск</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6180,19 +6471,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Нов контролер на крај дрва стоваришта.</translation>
+        <translation type="obsolete">Нов контролер на крај дрва стоваришта.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Уклони одабран контролер из дрва.</translation>
+        <translation type="obsolete">Уклони одабран контролер из дрва.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Додај нови користећиактуелни одабран контролер као родитељ.</translation>
+        <translation type="obsolete">Додај нови користећиактуелни одабран контролер као родитељ.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Уклони одабран прикључак из дрва.</translation>
+        <translation type="obsolete">Уклони одабран прикључак из дрва.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6228,7 +6519,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Садржава сва контролера ставаришта за ову машину и виртуелне слике и хост драјвови прикачени.</translation>
+        <translation type="obsolete">Садржава сва контролера ставаришта за ову машину и виртуелне слике и хост драјвови прикачени.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6248,7 +6539,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Мења име контролера актуелно одабран из дрва.</translation>
+        <translation type="obsolete">Мења име контролера актуелно одабран из дрва.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6316,7 +6607,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Дозволи да се користи I/O могућност кеширања хоста.</translation>
+        <translation type="obsolete">Дозволи да се користи I/O могућност кеширања хоста.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6340,7 +6631,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Слика</translation>
+        <translation type="obsolete">Слика</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6348,7 +6639,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Подеси виртуални хард диск</translation>
+        <translation type="obsolete">Подеси виртуални хард диск</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6372,15 +6663,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Подеси флопи драјв</translation>
+        <translation type="obsolete">Подеси флопи драјв</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Креирај нов хард диск...</translation>
+        <translation type="obsolete">Креирај нов хард диск...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Одабрати виртуелну хард диск...</translation>
+        <translation type="obsolete">Одабрати виртуелну хард диск...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6392,11 +6683,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Одабрати виртуални флопи диск...</translation>
+        <translation type="obsolete">Одабрати виртуални флопи диск...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Када одабрано, виртуални диск неже бити уклоњен када га гост избаци.</translation>
+        <translation type="obsolete">Када одабрано, виртуални диск неже бити уклоњен када га гост избаци.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6404,7 +6695,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Када унето, гост ће видети виртуални диск као SSD.</translation>
+        <translation type="obsolete">Када унето, гост ће видети виртуални диск као SSD.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6473,47 +6764,112 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Слика</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6545,12 +6901,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;Проц.</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;Проц.</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6583,7 +6939,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>На доле (Ctrl-Down)</translation>
+        <translation type="obsolete">На доле (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6591,7 +6947,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>На горе (Ctrl-Up)</translation>
+        <translation type="obsolete">На горе (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6664,7 +7020,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;Проц.</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;Проц.</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6676,7 +7032,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Ако унето, RTC уређај ће показивати време у UTC, у супротно биће у локалну (хост) време. Јуникс нормално очекује да време буде постављено у UTC.</translation>
+        <translation type="obsolete">Ако унето, RTC уређај ће показивати време у UTC, у супротно биће у локалну (хост) време. Јуникс нормално очекује да време буде постављено у UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6725,12 +7081,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6788,56 +7144,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Додај празан филтер</translation>
+        <translation type="obsolete">Додај празан филтер</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Додај филтер са уређаја</translation>
+        <translation type="obsolete">Додај филтер са уређаја</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>Уреди филтер</translation>
+        <translation type="obsolete">Уреди филтер</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Уклони филтер</translation>
+        <translation type="obsolete">Уклони филтер</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Филтер на горе</translation>
+        <translation type="obsolete">Филтер на горе</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Филтер на доле</translation>
+        <translation type="obsolete">Филтер на доле</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Додај нов USB филтер са сва поља на празно. Такав филтер ће одговарати било ком USB уређају.            </translation>
+        <translation type="obsolete">Додај нов USB филтер са сва поља на празно. Такав филтер ће одговарати било ком USB уређају.            </translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Додај нов USB филер са поља као одабран USB уређај из хоста.</translation>
+        <translation type="obsolete">Додај нов USB филер са поља као одабран USB уређај из хоста.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Уреди одабран УСБ филтер.</translation>
+        <translation type="obsolete">Уреди одабран УСБ филтер.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Скини одабран УСБ филтер.</translation>
+        <translation type="obsolete">Скини одабран УСБ филтер.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Премести УСБ филтер на горе.</translation>
+        <translation type="obsolete">Премести УСБ филтер на горе.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Премести УСБ филтер на доле.</translation>
+        <translation type="obsolete">Премести УСБ филтер на доле.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6854,7 +7236,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Када унето, упали виртуелниl 'USB EHCI' контролер ове машине. 'USB EHCI' контролер омогучава USB 2.0.</translation>
+        <translation type="obsolete">Када унето, упали виртуелниl 'USB EHCI' контролер ове машине. 'USB EHCI' контролер омогучава USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6917,27 +7299,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">USB 2.0 је активно за ову машину. Али, потребно је да <b>%1</b> буде инсталиран. Инсталирајте пакет са VirtualBox сајта. После тога, мочићете да поново упали USB 2.0. Дотле, биће онемогућен осим ако поништите актуелне промене поставке.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6972,7 +7406,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Дефинише филтер продаваца. Формат <i>исте</i> реченице је <tt>XXXX</tt> где је <tt>X</tt> хегзадецимална цифра. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефинише филтер продаваца. Формат <i>исте</i> реченице је <tt>XXXX</tt> где је <tt>X</tt> хегзадецимална цифра. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6980,7 +7414,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Дефинише филтер продаваца. Формат <i>исте</i> реченице је <tt>XXXX</tt> где је <tt>X</tt> хегзадецимална цифра. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефинише филтер продаваца. Формат <i>исте</i> реченице је <tt>XXXX</tt> где је <tt>X</tt> хегзадецимална цифра. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6988,7 +7422,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Дефинише филтер ревизије. Формат <i>исте</i> реченице је <tt>IIFF</tt> где је <tt>I</tt> дигитална цифра целобројног дела и <tt>F</tt> је децимална цифра дела фракције. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефинише филтер ревизије. Формат <i>исте</i> реченице је <tt>IIFF</tt> где је <tt>I</tt> дигитална цифра целобројног дела и <tt>F</tt> је децимална цифра дела фракције. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6996,7 +7430,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Дефиниши филтер произвођача као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефиниши филтер произвођача као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7004,7 +7438,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Дефиниши филтер произвођача као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефиниши филтер произвођача као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7012,35 +7446,67 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Дефинише филтер серијала као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
+        <translation type="obsolete">Дефинише филтер серијала као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
     </message>
     <message>
         <source>Por&t:</source>
         <translation>Порт:</translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Дефинише филтер USB порта као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">Дефинише филтер USB порта као <i>иста</i> реченица. Празно одговара за било коју вредност.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>Удаљено:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Дефинише да ли је филтер за USB прикачени на локалном хосту (<i>Не</i>), на VRDP клијенту (<i>Да</i>), или оба (<i>Било који</i>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">Акција:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Дефинише акцију госта када одговарајући уређај је прикачен: дати га хосту (<i>Игнориши</i>) или ухватити га за употребу са виртуелним машинима (<i>Задржи</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Детаљи USB филтера</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>Удаљено:</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Дефинише да ли је филтер за USB прикачени на локалном хосту (<i>Не</i>), на VRDP клијенту (<i>Да</i>), или оба (<i>Било који</i>).</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">Акција:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Дефинише акцију госта када одговарајући уређај је прикачен: дати га хосту (<i>Игнориши</i>) или ухватити га за употребу са виртуелним машинима (<i>Задржи</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Детаљи USB филтера</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7060,10 +7526,6 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7083,6 +7545,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7548,7 +8014,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Не може да се пребаци дисплез на пун екран због недовољне видео меморије.</p><p>Подесите да виртуелна машина има макар <b>%1</b> видео меморије.</p><p>Стиснути <b>Игнориши</b> за ипак пребацивање на пуни мод или стиснути <b>Поништи</b> за поништавање рада.</p></translation>
+        <translation type="obsolete"><p>Не може да се пребаци дисплез на пун екран због недовољне видео меморије.</p><p>Подесите да виртуелна машина има макар <b>%1</b> видео меморије.</p><p>Стиснути <b>Игнориши</b> за ипак пребацивање на пуни мод или стиснути <b>Поништи</b> за поништавање рада.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7662,7 +8128,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Да ли желите да избришете стовариште хард диска <nobr><b>%1</b></nobr>?</p><p>Ако одаберете <b>Изриши</b> онда ће стовариште бити избрисан. Ово <b>не може да се врати</b>.</p><p>Ако одаберете <b>Задржи</b> онда ће хард диск бити скинут са листе познатих хард дискова, али стовариште неће бити пипнут што омогучава да се касније поново користи.</p></translation>
+        <translation type="obsolete"><p>Да ли желите да избришете стовариште хард диска <nobr><b>%1</b></nobr>?</p><p>Ако одаберете <b>Изриши</b> онда ће стовариште бити избрисан. Ово <b>не може да се врати</b>.</p><p>Ако одаберете <b>Задржи</b> онда ће хард диск бити скинут са листе познатих хард дискова, али стовариште неће бити пипнут што омогучава да се касније поново користи.</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7919,7 +8385,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Брисањем слике ће довести до губљења информације статутса, и податци који су у више слика што је „VirtualBox“ креирао ће бити спојене у једну датотеку. То може да потраје, и информације из слике неће моћи да се врати.</p></p>Да ли сигурно желите да избришете одабрану слику <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Брисањем слике ће довести до губљења информације статутса, и податци који су у више слика што је „VirtualBox“ креирао ће бити спојене у једну датотеку. То може да потраје, и информације из слике неће моћи да се врати.</p></p>Да ли сигурно желите да избришете одабрану слику <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -8055,7 +8521,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Брисање сњимка %1 ће преивремено затребати више простора. У најгорем случају, величина слике %2 ће порасти за %3, али на овом систему има слободно само %4.</p><p>Ако понестаје простор при спајању, може да се поквари слика и подешавање VM, што доводи до губитка VM и њених података.</p><p>Можете да наставите са брисањем снимка, али на сопствени ризик.</p></translation>
+        <translation type="obsolete"><p>Брисање сњимка %1 ће преивремено затребати више простора. У најгорем случају, величина слике %2 ће порасти за %3, али на овом систему има слободно само %4.</p><p>Ако понестаје простор при спајању, може да се поквари слика и подешавање VM, што доводи до губитка VM и њених података.</p><p>Можете да наставите са брисањем снимка, али на сопствени ризик.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8223,7 +8689,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Прозор ће сада пречи на <b>пун екран</b>. Можете да се рватите у моду прозора ако стиснете <b>%1</b>.</p><p>Актуелно је <i>Хост</i> кључ дефинисан као <b>%2</b>.</p><p>Главна трака је сакривена. Можете да је покажете стискајући <b>Host+Home</b>.</p></translation>
+        <translation type="obsolete"><p>Прозор ће сада пречи на <b>пун екран</b>. Можете да се рватите у моду прозора ако стиснете <b>%1</b>.</p><p>Актуелно је <i>Хост</i> кључ дефинисан као <b>%2</b>.</p><p>Главна трака је сакривена. Можете да је покажете стискајући <b>Host+Home</b>.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8452,10 +8918,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8564,18 +9026,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Одабери диск</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8615,30 +9065,6 @@ p, li { white-space: pre-wrap; }
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -8758,10 +9184,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8833,6 +9255,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9707,27 +10169,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Име</translation>
+        <translation type="obsolete">Име</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Протокол</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">ИП хоста</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Порт хоста</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">ИП госта</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Порт госта</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Име</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Протокол</translation>
+        <translation type="unfinished">Протокол</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>ИП хоста</translation>
+        <translation type="unfinished">ИП хоста</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Порт хоста</translation>
+        <translation type="unfinished">Порт хоста</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>ИП госта</translation>
+        <translation type="unfinished">ИП госта</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Порт госта</translation>
+        <translation type="unfinished">Порт госта</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10015,13 +10532,6 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10031,6 +10541,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10539,96 +11053,96 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Copy</source>
         <translation type="unfinished">Копирај</translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">Динамично додељено</translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">Фиксна величина</translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">Подели дат. на мање од 2ГБ</translation>
+    </message>
+    <message>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
+        <translation type="unfinished">%1_копија</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">Динамично додељено</translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">Фиксна величина</translation>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">Подели дат. на мање од 2ГБ</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
-        <translation type="unfinished">%1_копија</translation>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -10671,10 +11185,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10730,6 +11240,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10993,83 +11507,83 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Create</source>
         <translation type="unfinished">Креирај</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">Динамично додељено</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">Фиксна величина</translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">Подели дат. на мање од 2ГБ</translation>
+    </message>
+    <message>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 Б)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">Динамично додељено</translation>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">Фиксна величина</translation>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">Подели дат. на мање од 2ГБ</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 Б)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11120,31 +11634,31 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11790,7 +12304,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Отвара дијалог за одабирања друге фасцикле.</translation>
+        <translation type="obsolete">Отвара дијалог за одабирања друге фасцикле.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11798,7 +12312,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Отвара дијалог за одабирања друге датотеке.</translation>
+        <translation type="obsolete">Отвара дијалог за одабирања друге датотеке.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11810,16 +12324,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Унети путању фасцикле овде.</translation>
+        <translation type="obsolete">Унети путању фасцикле овде.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Унети путању датотеке овде.</translation>
+        <translation type="obsolete">Унети путању датотеке овде.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12964,7 +13494,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Привезивање овог хард диска ће бити индиректан користечи новог креираног различитог хард диска.</translation>
+        <translation type="unfinished">Привезивање овог хард диска ће бити индиректан користечи новог креираног различитог хард диска.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12974,7 +13504,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Овај базни хард диск је индиректно прикачен са овим различитим диском:</translation>
+        <translation type="unfinished">Овај базни хард диск је индиректно прикачен са овим различитим диском:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13519,14 +14049,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Опис</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -13567,10 +14089,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -13748,25 +14266,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14741,7 +15261,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Покажи датаље одабраног снимка</translation>
+        <translation type="obsolete">Покажи датаље одабраног снимка</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -14757,11 +15277,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Врати одабрану слику виртуелне машине</translation>
+        <translation type="obsolete">Врати одабрану слику виртуелне машине</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Бриши одабрану слику виртуелне машине</translation>
+        <translation type="obsolete">Бриши одабрану слику виртуелне машине</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -14773,7 +15293,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Клонирај одабрану машину</translation>
+        <translation type="obsolete">Клонирај одабрану машину</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14809,6 +15345,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>Пажња: Узимате слику машине која ради и која има %n непроменљиве слике прикачене. Све док радите са овом сликом непроменљиве слике неће бити рисетоване због спречавања губљења података.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Снимак %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
index 409fd79..0e8d2a6 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_sv.ts
@@ -275,7 +275,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Ändra automatiskt storlek för gästskärmen när fönstret ändrar storlek (kräver Gästtillägg)</translation>
+        <translation type="obsolete">Ändra automatiskt storlek för gästskärmen när fönstret ändrar storlek (kräver Gästtillägg)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -367,7 +367,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Skicka ACPI Power Button-händelse till den virtuella maskinen</translation>
+        <translation type="obsolete">Skicka ACPI Power Button-händelse till den virtuella maskinen</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -403,7 +403,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Ändra inställningar för nätverksadaptrar</translation>
+        <translation type="obsolete">Ändra inställningar för nätverksadaptrar</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -411,7 +411,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Öppna dialogrutan för att hantera delade mappar</translation>
+        <translation type="obsolete">Öppna dialogrutan för att hantera delade mappar</translation>
     </message>
     <message>
         <source>&Remote Display</source>
@@ -560,7 +560,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Hantera inställningar för virtuella maskiner</translation>
+        <translation type="obsolete">Hantera inställningar för virtuella maskiner</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -603,11 +603,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation type="unfinished">&Inställningar...</translation>
+        <translation type="obsolete">&Inställningar...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation type="unfinished">Visa allmänna inställningar</translation>
+        <translation type="obsolete">Visa allmänna inställningar</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -623,7 +623,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation type="unfinished">Skapa en ny virtuell maskin</translation>
+        <translation type="obsolete">Skapa en ny virtuell maskin</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -631,7 +631,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation type="unfinished">Lägg till en befintlig virtuell maskin</translation>
+        <translation type="obsolete">Lägg till en befintlig virtuell maskin</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -639,7 +639,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation type="unfinished">Klona den markerade virtuella maskinen</translation>
+        <translation type="obsolete">Klona den markerade virtuella maskinen</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -679,11 +679,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">&Uppdatera</translation>
+        <translation type="unfinished">&Uppdatera</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation type="unfinished">Uppdatera tillgänglighetstillståndet för den markerade virtuella maskinen</translation>
+        <translation type="obsolete">Uppdatera tillgänglighetstillståndet för den markerade virtuella maskinen</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -691,11 +691,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation type="unfinished">Visa loggfilerna för den markerade virtuella maskinen</translation>
+        <translation type="obsolete">Visa loggfilerna för den markerade virtuella maskinen</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation type="unfinished">Visa i Finder</translation>
+        <translation type="obsolete">Visa i Finder</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -703,7 +703,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation type="unfinished">Visa i Utforskaren</translation>
+        <translation type="obsolete">Visa i Utforskaren</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -711,15 +711,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation type="unfinished">Visa i filhanterare</translation>
+        <translation type="obsolete">Visa i filhanterare</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation type="unfinished">Visa VirtualBox Machine Definition-filen i filhanteraren</translation>
+        <translation type="obsolete">Visa VirtualBox Machine Definition-filen i filhanteraren</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation type="unfinished">Skapa alias på skrivbordet</translation>
+        <translation type="obsolete">Skapa alias på skrivbordet</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -727,7 +727,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation type="unfinished">Skapa genväg på skrivbordet</translation>
+        <translation type="obsolete">Skapa genväg på skrivbordet</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -743,7 +743,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished">Ta en skärmbild av den virtuella maskinen</translation>
+        <translation type="obsolete">Ta en skärmbild av den virtuella maskinen</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -791,7 +791,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation type="unfinished">Visa Hanterare för nätverksåtgärder</translation>
+        <translation type="obsolete">Visa Hanterare för nätverksåtgärder</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -803,388 +803,521 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation type="unfinished">Visa en dialogruta med produktinformation</translation>
+        <translation type="obsolete">Visa en dialogruta med produktinformation</translation>
     </message>
     <message>
         <source>&Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rename the selected virtual machine group</source>
+        <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>&VirtualBox Web Site...</source>
+        <translation type="unfinished">&VirtualBox webbplats...</translation>
+    </message>
+    <message>
+        <source>&Reset All Warnings</source>
+        <translation type="unfinished">&Nollställ alla varningar</translation>
+    </message>
+    <message>
+        <source>C&heck for Updates...</source>
+        <translation type="unfinished">Leta e&fter uppdateringar...</translation>
+    </message>
+    <message>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
-        <translation type="unfinished">&VirtualBox webbplats...</translation>
+        <source>Shared &Clipboard</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
-        <translation type="unfinished">&Nollställ alla varningar</translation>
+        <source>&Network Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
-        <translation type="unfinished">Leta e&fter uppdateringar...</translation>
+        <source>&Shared Folders Settings...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Network</source>
+        <translation type="obsolete">Nätverk</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
+        <translation type="unfinished">Visa lo&gg...</translation>
+    </message>
+    <message>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>&File</source>
+        <translation type="unfinished">&Arkiv</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Inställningar...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Nätverk</translation>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
-        <translation type="unfinished">Visa lo&gg...</translation>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Arkiv</translation>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Aktivera</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Inga enheter som stöds är anslutna till värdmaskinen</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1193,17 +1326,12 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation type="unfinished">Aktivera</translation>
-    </message>
-    <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Aktivera</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1220,6 +1348,29 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1273,15 +1424,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Styrkort för hårddisk (IDE)</translation>
+        <translation type="obsolete">Styrkort för hårddisk (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Styrkort för hårddisk (SATA)</translation>
+        <translation type="obsolete">Styrkort för hårddisk (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Styrkort för hårddisk (SCSI)</translation>
+        <translation type="obsolete">Styrkort för hårddisk (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1339,7 +1490,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Hårddiskstyrkort (SAS)</translation>
+        <translation type="obsolete">Hårddiskstyrkort (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1349,6 +1500,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>Ominiti&era MAC-adressen för alla nätverkskort</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2037,16 +2204,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2136,40 +2300,14 @@
     </message>
 </context>
 <context>
-    <name>UIDownloaderUserManual</name>
-    <message>
-        <source>Select folder to save User Manual to</source>
-        <translation>Välj en mapp att spara användarhandboken i</translation>
-    </message>
-    <message>
-        <source>VirtualBox User Manual</source>
-        <translation type="unfinished">Handbok för VirtualBox</translation>
-    </message>
-</context>
-<context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
+    <name>UIDownloaderUserManual</name>
+    <message>
+        <source>Select folder to save User Manual to</source>
+        <translation>Välj en mapp att spara användarhandboken i</translation>
+    </message>
+    <message>
+        <source>VirtualBox User Manual</source>
+        <translation type="unfinished">Handbok för VirtualBox</translation>
     </message>
 </context>
 <context>
@@ -3451,7 +3589,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished">Anger maximal bredd som vi vill använda för gästskärmen.</translation>
+        <translation type="obsolete">Anger maximal bredd som vi vill använda för gästskärmen.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -3459,7 +3597,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished">Anger maximal höjd som vi vill använda för gästskärmen.</translation>
+        <translation type="obsolete">Anger maximal höjd som vi vill använda för gästskärmen.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3493,11 +3631,19 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3525,11 +3671,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Lägg till paket</translation>
+        <translation type="obsolete">Lägg till paket</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Ta bort paket</translation>
+        <translation type="obsolete">Ta bort paket</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -3547,6 +3693,22 @@ p, li { white-space: pre-wrap; }
         <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -3607,15 +3769,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Inaktivera &skärmsläckare på värddatorn</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3670,11 +3832,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3854,15 +4016,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Lägg till endast-värd-nätverk</translation>
+        <translation type="obsolete">&Lägg till endast-värd-nätverk</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Ta bort endast-värd-nätverk</translation>
+        <translation type="obsolete">&Ta bort endast-värd-nätverk</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Redigera endast-värd-nätverk</translation>
+        <translation type="obsolete">&Redigera endast-värd-nätverk</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -4003,15 +4165,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Aktiv</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Remove Host-only Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4126,7 +4324,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Använd manuell konfiguration för detta endast-värd-nätverkskort.</translation>
+        <translation type="obsolete">Använd manuell konfiguration för detta endast-värd-nätverkskort.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -4170,7 +4368,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Indikerar huruvida DHCP-servern är aktiverad vid maskinens uppstart eller inte.</translation>
+        <translation type="obsolete">Indikerar huruvida DHCP-servern är aktiverad vid maskinens uppstart eller inte.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -4204,6 +4402,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Visar den övre adressgränsen som erbjuds av DHCP-servern som är verksam på nätverket som är associerat med detta endast-värd-kort.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -4216,10 +4422,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4244,32 +4446,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Öppnar dialogrutan för att hantera regler för omdirigering av portar.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">Omdirigering av &portar</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Öppnar dialogrutan för att hantera regler för omdirigering av portar.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">Omdirigering av &portar</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4303,7 +4513,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Ändrar proxyvärden.</translation>
+        <translation type="obsolete">Ändrar proxyvärden.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -4311,7 +4521,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Ändrar proxyporten.</translation>
+        <translation type="obsolete">Ändrar proxyporten.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4345,6 +4555,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4362,7 +4580,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Anger hur ofta kontroll av nya versioner ska genomföras. Observera att du kan tömma ovanstående kryssruta om du vill fullständigt inaktivera den här kontrollen.</translation>
+        <translation type="obsolete">Anger hur ofta kontroll av nya versioner ska genomföras. Observera att du kan tömma ovanstående kryssruta om du vill fullständigt inaktivera den här kontrollen.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4396,6 +4614,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Alla nya utgåvor och &förutgåvor</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4814,7 +5036,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Indikerar aktiviteten för virtuella hårddiskar:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Indikerar aktiviteten för virtuella hårddiskar:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4900,7 +5122,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Indikerar huruvida tangentbordet är fångat av gästoperativsystemet (<img src=:/hostkey_captured_16px.png/>) eller inte (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Indikerar huruvida tangentbordet är fångat av gästoperativsystemet (<img src=:/hostkey_captured_16px.png/>) eller inte (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4946,6 +5168,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4965,12 +5196,8 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete"> EXPERIMENTELL byggnation %1r%2 - %3</translation>
     </message>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>Snapshot %1</source>
-        <translation>Ögonblicksbild %1</translation>
+        <translation type="obsolete">Ögonblicksbild %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4997,33 +5224,13 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Inga diskettenheter anslutna</translation>
     </message>
     <message>
-        <source>No USB Devices Connected</source>
-        <translation></translation>
-    </message>
-    <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Inga enheter som stöds är anslutna till värdmaskinen</translation>
+        <translation type="obsolete">Inga enheter som stöds är anslutna till värdmaskinen</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished">Välj ett filnamn för skärmbilden ...</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -5041,7 +5248,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Kontrollerar drivrutinen för ljudutmatning. <b>Ingen ljuddrivrutin</b> gör att gästen ser ett ljudkort men varje åtkomst till det kommer att ignoreras.</translation>
+        <translation type="obsolete">Kontrollerar drivrutinen för ljudutmatning. <b>Ingen ljuddrivrutin</b> gör att gästen ser ett ljudkort men varje åtkomst till det kommer att ignoreras.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -5051,6 +5258,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Väljer typen för det virtuella ljudkortet. Beroende på detta värde kommer VirtualBox att tillhandahålla olika ljudmaskinvaror till den virtuella maskinen.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -5060,7 +5271,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -5116,7 +5327,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Definierar metoden för VRDP-autentisering.</translation>
+        <translation type="obsolete">Definierar metoden för VRDP-autentisering.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -5124,7 +5335,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Anger tidsgränsen för gästautentisering, i millisekunder.</translation>
+        <translation type="obsolete">Anger tidsgränsen för gästautentisering, i millisekunder.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -5140,7 +5351,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP-serverns portnummer. Du kan ange <tt>0</tt> (noll) för att välja port 3389 som är standardporten för RDP.</translation>
+        <translation type="obsolete">VRDP-serverns portnummer. Du kan ange <tt>0</tt> (noll) för att välja port 3389 som är standardporten för RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -5152,11 +5363,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Anger huruvida flera samtidiga anslutningar till den virtuella maskinen tillåts.</translation>
+        <translation type="obsolete">Anger huruvida flera samtidiga anslutningar till den virtuella maskinen tillåts.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -5195,46 +5406,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5243,10 +5426,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5298,10 +5477,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Minimal verktygsrad:</translation>
     </message>
@@ -5347,21 +5522,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">3D {100%?}</translation>
+        <translation type="obsolete">3D {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">3D {200%?}</translation>
+        <translation type="obsolete">3D {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5373,6 +5544,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5382,7 +5617,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Visar sökvägen där ögonblicksbilder av den virtuella maskinen lagras. Observera att ögonblicksbilder kan ta upp en hel del diskutrymme.</translation>
+        <translation type="obsolete">Visar sökvägen där ögonblicksbilder av den virtuella maskinen lagras. Observera att ögonblicksbilder kan ta upp en hel del diskutrymme.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5653,10 +5888,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5693,6 +5924,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5714,15 +5953,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Om kryssad, visa minimal verktygsrad i helskärmsläge och sömlöst läge.</translation>
+        <translation type="obsolete">Om kryssad, visa minimal verktygsrad i helskärmsläge och sömlöst läge.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">Visa i &helskärm/sömlöst läge</translation>
+        <translation type="obsolete">Visa i &helskärm/sömlöst läge</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Om kryssad kommer minimala verktygsraden att visas överst på skärmen istället för på dess standardposition längst ner på skärmen.</translation>
+        <translation type="obsolete">Om kryssad kommer minimala verktygsraden att visas överst på skärmen istället för på dess standardposition längst ner på skärmen.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5732,6 +5971,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5765,7 +6016,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Kontrollerar sättet på hur den här virtuella adaptern anslutits till det verkliga nätverket för värdoperativsystemet.</translation>
+        <translation type="obsolete">Kontrollerar sättet på hur den här virtuella adaptern anslutits till det verkliga nätverket för värdoperativsystemet.</translation>
     </message>
     <message>
         <source>&Network Name:</source>
@@ -5793,7 +6044,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Indikerar huruvida den virtuella nätverkskabeln är ansluten när maskinen startar upp eller inte.</translation>
+        <translation type="obsolete">Indikerar huruvida den virtuella nätverkskabeln är ansluten när maskinen startar upp eller inte.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5921,7 +6172,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Visar eller döljer ytterligare alternativ för nätverksadapter.</translation>
+        <translation type="obsolete">Visar eller döljer ytterligare alternativ för nätverksadapter.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5933,7 +6184,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Öppnar dialogrutan för att hantera regler för omdirigering av portar.</translation>
+        <translation type="obsolete">Öppnar dialogrutan för att hantera regler för omdirigering av portar.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5953,7 +6204,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Ange konfigurationsinställningar här för nätverksdrivrutinen som du ska använda. Inställningarna ska vara i formatet <b>namn=värde</b> och är beroende av drivrutinen. Använd <b>shift-enter</b> för att lägga till en ny post.</translation>
+        <translation type="obsolete">Ange konfigurationsinställningar här för nätverksdrivrutinen som du ska använda. Inställningarna ska vara i formatet <b>namn=värde</b> och är beroende av drivrutinen. Använd <b>shift-enter</b> för att lägga till en ny post.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5980,31 +6231,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No internal network name is currently specified.</source>
+        <source>No internal network name is currently specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No host-only network adapter is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No generic driver is currently selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No NAT network name is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No host-only network adapter is currently selected.</source>
+        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No generic driver is currently selected.</source>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The MAC address must be 12 hexadecimal digits long.</source>
+        <source>Shows additional network adapter options.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The second digit in the MAC address may not be odd as only unicast addresses are allowed.</source>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No NAT network name is currently specified.</source>
+        <source>When checked, the virtual network cable is plugged in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6171,21 +6442,6 @@ parallel ports</comment>
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Visar I/O-basportadressen för denna parallellport. Giltiga värden är heltal inom intervallet <tt>0</tt> till <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Dublett av portnummer har valts </translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Portsökväg har inte angivits </translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Dublett av portsökväg har angivits </translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -6208,6 +6464,21 @@ parallel ports</comment>
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Dublett av portnummer har valts </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Portsökväg har inte angivits </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Dublett av portsökväg har angivits </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsPortForwardingDlg</name>
     <message>
         <source>Port Forwarding Rules</source>
@@ -6215,27 +6486,27 @@ parallel ports</comment>
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Denna tabell innehåller en regellista för omdirigering av portar.</translation>
+        <translation type="obsolete">Denna tabell innehåller en regellista för omdirigering av portar.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Infoga ny regel</translation>
+        <translation type="obsolete">Infoga ny regel</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Kopiera markerad regel</translation>
+        <translation type="obsolete">Kopiera markerad regel</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Ta bort markerad regel</translation>
+        <translation type="obsolete">Ta bort markerad regel</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Denna knapp lägger till en ny regel för omdirigering av portar.</translation>
+        <translation type="obsolete">Denna knapp lägger till en ny regel för omdirigering av portar.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Denna knapp tar bort markerad regel för omdirigering av portar.</translation>
+        <translation type="obsolete">Denna knapp tar bort markerad regel för omdirigering av portar.</translation>
     </message>
 </context>
 <context>
@@ -6254,15 +6525,15 @@ parallel ports</comment>
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Lägger till en ny delad mappdefinition.</translation>
+        <translation type="obsolete">Lägger till en ny delad mappdefinition.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Redigerar den markerade delade mappdefinitionen.</translation>
+        <translation type="obsolete">Redigerar den markerade delade mappdefinitionen.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Tar bort den markerade delade mappdefinitionen.</translation>
+        <translation type="obsolete">Tar bort den markerade delade mappdefinitionen.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -6302,15 +6573,15 @@ parallel ports</comment>
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Lägg till delad mapp</translation>
+        <translation type="obsolete">&Lägg till delad mapp</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Redigera delad mapp</translation>
+        <translation type="obsolete">&Redigera delad mapp</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Ta bort delad mapp</translation>
+        <translation type="obsolete">&Ta bort delad mapp</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -6324,6 +6595,30 @@ parallel ports</comment>
         <source>Yes</source>
         <translation>Ja</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -6373,7 +6668,11 @@ parallel ports</comment>
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Om kryssad kommer denna delade mapp att vara permanent.</translation>
+        <translation type="obsolete">Om kryssad kommer denna delade mapp att vara permanent.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6422,7 +6721,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Kontrollerar arbetsläget för den här serieporten. Om du väljer <b>Frånkopplad</b> kommer gästoperativsystemet att identifiera serieporten men kommer inte kunna arbeta med den.</translation>
+        <translation type="obsolete">Kontrollerar arbetsläget för den här serieporten. Om du väljer <b>Frånkopplad</b> kommer gästoperativsystemet att identifiera serieporten men kommer inte kunna arbeta med den.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6458,10 +6757,6 @@ serial ports</comment>
         <translation>Visar I/O-basportadressen för denna serieport. Giltiga värden är heltal inom intervallet <tt>0</tt> till <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6473,20 +6768,13 @@ serial ports</comment>
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Dublett av portnummer har valts </translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Portsökväg har inte angivits </translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Dublett av portsökväg har angivits </translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6510,6 +6798,21 @@ serial ports</comment>
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Dublett av portnummer har valts </translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Portsökväg har inte angivits </translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Dublett av portsökväg har angivits </translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6593,11 +6896,11 @@ serial ports</comment>
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Fäll ut/in&nbsp;objekt</nobr></translation>
+        <translation type="obsolete"><nobr>Fäll ut/in&nbsp;objekt</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Lägg&nbsp;till&nbsp;hårddisk</nobr></translation>
+        <translation type="obsolete"><nobr>Lägg&nbsp;till&nbsp;hårddisk</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6661,19 +6964,19 @@ serial ports</comment>
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Lägger till ett nytt styrkort i slutet av lagringsträdet.</translation>
+        <translation type="obsolete">Lägger till ett nytt styrkort i slutet av lagringsträdet.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Tar bort markerat styrkort från lagringsträdet.</translation>
+        <translation type="obsolete">Tar bort markerat styrkort från lagringsträdet.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Lägger till en ny anslutning till lagringsträdet som använder markerat styrkort som förälder.</translation>
+        <translation type="obsolete">Lägger till en ny anslutning till lagringsträdet som använder markerat styrkort som förälder.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Tar bort anslutningen som är markerad i lagringsträdet.</translation>
+        <translation type="obsolete">Tar bort anslutningen som är markerad i lagringsträdet.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6709,7 +7012,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Innehåller alla lagringsstyrkort för denna maskin och virtuella avbildningar och värdenheter anslutna till dem.</translation>
+        <translation type="obsolete">Innehåller alla lagringsstyrkort för denna maskin och virtuella avbildningar och värdenheter anslutna till dem.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6729,7 +7032,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Ändrar namnet för lagringsstyrkortet som är markerat i lagringsträdet.</translation>
+        <translation type="obsolete">Ändrar namnet för lagringsstyrkortet som är markerat i lagringsträdet.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6797,7 +7100,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Tillåter användning av värdförmågor för in/ut-mellanlagring.</translation>
+        <translation type="obsolete">Tillåter användning av värdförmågor för in/ut-mellanlagring.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6829,7 +7132,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Image</source>
-        <translation>Avbildning</translation>
+        <translation type="obsolete">Avbildning</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6837,7 +7140,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Konfigurera den virtuella hårddisken</translation>
+        <translation type="obsolete">Konfigurera den virtuella hårddisken</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6861,15 +7164,15 @@ serial ports</comment>
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Konfigurera den virtuella diskettenheten</translation>
+        <translation type="obsolete">Konfigurera den virtuella diskettenheten</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Skapa en ny hårddisk...</translation>
+        <translation type="obsolete">Skapa en ny hårddisk...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Välj en virtuell hårddiskfil...</translation>
+        <translation type="obsolete">Välj en virtuell hårddiskfil...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6881,7 +7184,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Välj en virtuell diskettfil...</translation>
+        <translation type="obsolete">Välj en virtuell diskettfil...</translation>
     </message>
     <message>
         <source>When checked, it suppresses unmounting the medium when the guest OS ejects it.</source>
@@ -6939,11 +7242,11 @@ serial ports</comment>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>När kryssad kommer den virtuella disken inte att tas bort när gästsystemet matar ut den.</translation>
+        <translation type="obsolete">När kryssad kommer den virtuella disken inte att tas bort när gästsystemet matar ut den.</translation>
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>När kryssad kommer gästsystemet att se den virtuella disken som en Solid-State-enhet.</translation>
+        <translation type="obsolete">När kryssad kommer gästsystemet att se den virtuella disken som en Solid-State-enhet.</translation>
     </message>
     <message>
         <source>Controller: %1</source>
@@ -6970,47 +7273,112 @@ serial ports</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Avbildning</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7042,12 +7410,12 @@ serial ports</comment>
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;processor</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processor</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -7080,7 +7448,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Flytta nedåt (Ctrl-Ned)</translation>
+        <translation type="obsolete">Flytta nedåt (Ctrl-Ned)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -7088,7 +7456,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Flytta uppåt (Ctrl-Upp)</translation>
+        <translation type="obsolete">Flytta uppåt (Ctrl-Upp)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -7161,7 +7529,7 @@ serial ports</comment>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;processorer</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;processorer</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -7173,7 +7541,7 @@ serial ports</comment>
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Om kryssad kommer RTC-enheten att rapportera tiden i UTC, om inte i lokaltid (värd). Unix förväntar sig oftast att maskinvaruklockan ställs in i UTC.</translation>
+        <translation type="obsolete">Om kryssad kommer RTC-enheten att rapportera tiden i UTC, om inte i lokaltid (värd). Unix förväntar sig oftast att maskinvaruklockan ställs in i UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -7222,12 +7590,12 @@ serial ports</comment>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -7285,56 +7653,82 @@ serial ports</comment>
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Lägg till tomt filter</translation>
+        <translation type="obsolete">&Lägg till tomt filter</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Lä&gg till filter från enhet</translation>
+        <translation type="obsolete">Lä&gg till filter från enhet</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>R&edigera filter</translation>
+        <translation type="obsolete">R&edigera filter</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Ta bort filter</translation>
+        <translation type="obsolete">&Ta bort filter</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Flytta filtret uppåt</translation>
+        <translation type="obsolete">&Flytta filtret uppåt</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>F&lytta filtret nedåt</translation>
+        <translation type="obsolete">F&lytta filtret nedåt</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Lägger till ett nytt USB-filter med alla fält initialt inställda till tomma strängar. Observera att ett sådant filter kommer att matcha alla anslutna USB-enheter.</translation>
+        <translation type="obsolete">Lägger till ett nytt USB-filter med alla fält initialt inställda till tomma strängar. Observera att ett sådant filter kommer att matcha alla anslutna USB-enheter.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Lägger till ett nytt USB-filter med alla fält inställda till värdena för den markerade USB-enheten ansluten till värddatorn.</translation>
+        <translation type="obsolete">Lägger till ett nytt USB-filter med alla fält inställda till värdena för den markerade USB-enheten ansluten till värddatorn.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Redigerar markerat USB-filter.</translation>
+        <translation type="obsolete">Redigerar markerat USB-filter.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Tar bort markerat USB-filter.</translation>
+        <translation type="obsolete">Tar bort markerat USB-filter.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Flyttar markerat USB-filter uppåt.</translation>
+        <translation type="obsolete">Flyttar markerat USB-filter uppåt.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Flyttar markerat USB-filter nedåt.</translation>
+        <translation type="obsolete">Flyttar markerat USB-filter nedåt.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -7351,7 +7745,7 @@ serial ports</comment>
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>När kryssad kommer det virtuella USB EHCI-styrkortet på denna maskin att aktiveras. USB ECHI-styrkortet tillhandahåller stöd för USB 2.0.</translation>
+        <translation type="obsolete">När kryssad kommer det virtuella USB EHCI-styrkortet på denna maskin att aktiveras. USB ECHI-styrkortet tillhandahåller stöd för USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -7418,27 +7812,79 @@ serial ports</comment>
         <translation type="obsolete">USB 2.0 är för närvarande aktiverat för denna virtuella maskin. Dock kräver detta att <b>%1</b> installeras. Installera Extension Pack (tilläggspaket) från VirtualBox webbplats. Efter det kommer du att kunna återaktivera USB 2.0. Det kommer att vara inaktiverat under tiden såvida inte du avbryter de aktuella inställningsändringarna.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7473,7 +7919,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definierar filter för leverantörs-ID. Strängformatet för <i>exakt matchning</i> är <tt>XXXX</tt> där <tt>X</tt> är en hexadecimal siffra. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för leverantörs-ID. Strängformatet för <i>exakt matchning</i> är <tt>XXXX</tt> där <tt>X</tt> är en hexadecimal siffra. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7481,7 +7927,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Definierar filter för produkt-ID. Strängformatet för <i>exakt matchning</i> är <tt>XXXX</tt> där <tt>X</tt> är en hexadecimal siffra. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för produkt-ID. Strängformatet för <i>exakt matchning</i> är <tt>XXXX</tt> där <tt>X</tt> är en hexadecimal siffra. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7489,7 +7935,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Definierar filter för revisionsnummer. Strängformatet för <i>exakt matchning</i> är <tt>IIFF</tt> där <tt>I</tt> är en hexadecimal siffra av heltalsdelen och <tt>F</tt> är en decimal siffra av den mindre delen. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för revisionsnummer. Strängformatet för <i>exakt matchning</i> är <tt>IIFF</tt> där <tt>I</tt> är en hexadecimal siffra av heltalsdelen och <tt>F</tt> är en decimal siffra av den mindre delen. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7497,7 +7943,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definierar filter för tillverkare som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för tillverkare som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7505,7 +7951,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definierar filter för produktnamn som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för produktnamn som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7513,7 +7959,7 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definierar filter för serienummer som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för serienummer som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7521,27 +7967,59 @@ serial ports</comment>
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Definierar filter för värdmaskinens USB-portar som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
+        <translation type="obsolete">Definierar filter för värdmaskinens USB-portar som en <i>exakt matchande</i> sträng. En tom sträng kommer att matcha alla värden.</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>F&järr:</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">Definierar huruvida detta filter tillämpas på USB-enheter anslutna lokalt till värddatorn (<i>Nej</i>), till en VRDP-klients dator (<i>Ja</i>), eller båda (<i>Alla</i>).</translation>
+    </message>
+    <message>
+        <source>&Action:</source>
+        <translation type="obsolete">&Åtgärd:</translation>
+    </message>
+    <message>
+        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
+        <translation type="obsolete">Definierar en åtgärd som genomförs på värddatorn när en matchande enhet ansluts: ge den till värdoperativsystemet (<i>Ignorera</i>) eller fånga den för senare användning av virtuella maskiner (<i>Håll kvar</i>).</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>Detaljer för USB-filter</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>F&järr:</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Definierar huruvida detta filter tillämpas på USB-enheter anslutna lokalt till värddatorn (<i>Nej</i>), till en VRDP-klients dator (<i>Ja</i>), eller båda (<i>Alla</i>).</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Action:</source>
-        <translation type="obsolete">&Åtgärd:</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines an action performed by the host computer when a matching device is attached: give it up to the host OS (<i>Ignore</i>) or grab it for later usage by virtual machines (<i>Hold</i>).</source>
-        <translation type="obsolete">Definierar en åtgärd som genomförs på värddatorn när en matchande enhet ansluts: ge den till värdoperativsystemet (<i>Ignorera</i>) eller fånga den för senare användning av virtuella maskiner (<i>Håll kvar</i>).</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>Detaljer för USB-filter</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -7561,10 +8039,6 @@ serial ports</comment>
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7584,6 +8058,10 @@ serial ports</comment>
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -8149,7 +8627,7 @@ serial ports</comment>
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Kunde inte växla gästskärmen till helskärmsläge på grund av otillräckligt videominne.</p><p>Du bör konfigurera den virtuella maskinen till att ha minst <b>%1</b> videominne.</p><p>Tryck på <b>Ignorera</b> för att växla till helskärmsläge ändå eller tryck <b>Avbryt</b> för att avbryta åtgärden.</p></translation>
+        <translation type="obsolete"><p>Kunde inte växla gästskärmen till helskärmsläge på grund av otillräckligt videominne.</p><p>Du bör konfigurera den virtuella maskinen till att ha minst <b>%1</b> videominne.</p><p>Tryck på <b>Ignorera</b> för att växla till helskärmsläge ändå eller tryck <b>Avbryt</b> för att avbryta åtgärden.</p></translation>
     </message>
     <message>
         <source><p>Unable to obtain the new version information due to the following network error:</p><p><b>%1</b></p></source>
@@ -8267,7 +8745,7 @@ serial ports</comment>
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Vill du ta bort lagringsenheten för hårddisken <nobr><b>%1</b></nobr>?</p><p>Om du väljer <b>Ta bort</b> så kommer den angivna lagringsenheten att permanent tas bort. Denna åtgärd <b>kan inte ångras</b>.</p><p>Om du väljer <b>Behåll</b> så kommer hårddisken endast att tas bort från listan över kända hårddiskar men den kommer inte att röras, vilket gör det möjligt att lägga ti [...]
+        <translation type="obsolete"><p>Vill du ta bort lagringsenheten för hårddisken <nobr><b>%1</b></nobr>?</p><p>Om du väljer <b>Ta bort</b> så kommer den angivna lagringsenheten att permanent tas bort. Denna åtgärd <b>kan inte ångras</b>.</p><p>Om du väljer <b>Behåll</b> så kommer hårddisken endast att tas bort från listan över kända hårddiskar men den kommer inte att röras, vilket gör det möjl [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8524,7 +9002,7 @@ serial ports</comment>
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Genom att ta bort en ögonblicksbild så kommer tillståndsinformationen som lagrats i ögonblicksbilden att förkastas samt diskdata som spridits ut över flera avbildningsfiler som VirtualBox har skapat tillsammans med ögonblicksbilden, kommer att sammanfogas till en enda fil. Detta kan vara en tidskrävande process och informationen i ögonblicksbilden kommer inte att kunna återställas.</p></p>Är du säker på att du vill ta bort den markerade ögonblick [...]
+        <translation type="obsolete"><p>Genom att ta bort en ögonblicksbild så kommer tillståndsinformationen som lagrats i ögonblicksbilden att förkastas samt diskdata som spridits ut över flera avbildningsfiler som VirtualBox har skapat tillsammans med ögonblicksbilden, kommer att sammanfogas till en enda fil. Detta kan vara en tidskrävande process och informationen i ögonblicksbilden kommer inte att kunna återställas.</p></p>Är du säker på att du vill ta bort den mar [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8660,7 +9138,7 @@ serial ports</comment>
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Borttagning av ögonblicksbilden %1 kommer temporärt behöva mer diskutrymme. I värsta fall kommer storleken för avbildningen %2 att växa med %3, dock finns det bara %4 ledigt på detta filsystem.</p><p>Slut på diskutrymme under sammanslagningsåtgärden kan resultera i att avbildningen och konfigurationen skadas, alltså att den virtuella maskinen och dess data går förlorade.</p><p>Du kan fortsätta med borttagningen av ögonblicksbilden på  [...]
+        <translation type="obsolete"><p>Borttagning av ögonblicksbilden %1 kommer temporärt behöva mer diskutrymme. I värsta fall kommer storleken för avbildningen %2 att växa med %3, dock finns det bara %4 ledigt på detta filsystem.</p><p>Slut på diskutrymme under sammanslagningsåtgärden kan resultera i att avbildningen och konfigurationen skadas, alltså att den virtuella maskinen och dess data går förlorade.</p><p>Du kan fortsätta med borttagningen av ögon [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8831,7 +9309,7 @@ serial ports</comment>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Det virtuella maskinfönstret kommer nu att växlas till <b>helskärmsläge</b>. Du kan gå tillbaka till fönsterläge när som helst genom att trycka på <b>%1</b>.</p><p>Observera att <i>värd</i>tangenten för närvarande har definierats som <b>%2</b>.</p><p>Observera att huvudmenyraden döljs i helskärmsläget. Du kan komma åt den genom att trycka på <b>Värd+Home</b>.</p></translation>
+        <translation type="obsolete"><p>Det virtuella maskinfönstret kommer nu att växlas till <b>helskärmsläge</b>. Du kan gå tillbaka till fönsterläge när som helst genom att trycka på <b>%1</b>.</p><p>Observera att <i>värd</i>tangenten för närvarande har definierats som <b>%2</b>.</p><p>Observera att huvudmenyraden döljs i helskärmsläget. Du kan komma åt den genom att trycka på <b>Värd+Home</b>.& [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -9100,10 +9578,6 @@ serial ports</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9212,18 +9686,6 @@ serial ports</comment>
         <translation type="unfinished">&Välj disk</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -9263,30 +9725,6 @@ serial ports</comment>
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -9405,10 +9843,6 @@ serial ports</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9480,6 +9914,46 @@ serial ports</comment>
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -10486,27 +10960,82 @@ serial ports</comment>
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Namn</translation>
+        <translation type="obsolete">Namn</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokoll</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Värd-IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Värdport</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Gäst-IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Gästport</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Namn</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokoll</translation>
+        <translation type="unfinished">Protokoll</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Värd-IP</translation>
+        <translation type="unfinished">Värd-IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Värdport</translation>
+        <translation type="unfinished">Värdport</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Gäst-IP</translation>
+        <translation type="unfinished">Gäst-IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Gästport</translation>
+        <translation type="unfinished">Gästport</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10810,13 +11339,6 @@ serial ports</comment>
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10826,6 +11348,10 @@ serial ports</comment>
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -11354,96 +11880,96 @@ serial ports</comment>
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Copy</source>
         <translation type="unfinished">Kopiera</translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dynamiskt allokerad</translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">&Fast storlek</translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Dela upp i filer mindre än 2 GB</translation>
+    </message>
+    <message>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
+        <translation type="unfinished">%1_kopia</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dynamiskt allokerad</translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">&Fast storlek</translation>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Dela upp i filer mindre än 2 GB</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
-        <translation type="unfinished">%1_kopia</translation>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11486,10 +12012,6 @@ serial ports</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -11545,6 +12067,10 @@ serial ports</comment>
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11804,83 +12330,83 @@ serial ports</comment>
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Create</source>
         <translation type="unfinished">Skapa</translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation type="unfinished">&Dynamiskt allokerad</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation type="unfinished">&Fast storlek</translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source>&Split into files of less than 2GB</source>
+        <translation type="unfinished">&Dela upp i filer mindre än 2 GB</translation>
+    </message>
+    <message>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation type="unfinished">&Dynamiskt allokerad</translation>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation type="unfinished">&Fast storlek</translation>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation type="unfinished">&Dela upp i filer mindre än 2 GB</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation type="unfinished"><nobr>%1 (%2 B)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11931,32 +12457,32 @@ serial ports</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
-        <translation type="unfinished"></translation>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Välj en virtuell hårddiskfil...</translation>
     </message>
 </context>
 <context>
@@ -12816,7 +13342,7 @@ Version %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Öppnar en dialogruta för att välja en annan mapp.</translation>
+        <translation type="obsolete">Öppnar en dialogruta för att välja en annan mapp.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -12824,7 +13350,7 @@ Version %1</translation>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Öppnar en dialogruta för att välja en annan fil.</translation>
+        <translation type="obsolete">Öppnar en dialogruta för att välja en annan fil.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12836,16 +13362,32 @@ Version %1</translation>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Skriv in önskad mappsökväg här.</translation>
+        <translation type="obsolete">Skriv in önskad mappsökväg här.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Skriv in önskad filsökväg här.</translation>
+        <translation type="obsolete">Skriv in önskad filsökväg här.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -14058,7 +14600,7 @@ Version %1</translation>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Anslutning av denna hårddisk kommer att genomföras indirekt med en nyligen skapad skiljande hårddisk.</translation>
+        <translation type="unfinished">Anslutning av denna hårddisk kommer att genomföras indirekt med en nyligen skapad skiljande hårddisk.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -14068,7 +14610,7 @@ Version %1</translation>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Denna bashårddisk är indirekt ansluten med följande skiljande hårddisk:</translation>
+        <translation type="unfinished">Denna bashårddisk är indirekt ansluten med följande skiljande hårddisk:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -14622,14 +15164,6 @@ Version %1</translation>
         <translation type="unfinished">Beskrivning</translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -14670,10 +15204,6 @@ Version %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -14851,25 +15381,27 @@ Version %1</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -15860,7 +16392,7 @@ Version %1</translation>
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Visa detaljer för den markerade ögonblicksbilden</translation>
+        <translation type="obsolete">Visa detaljer för den markerade ögonblicksbilden</translation>
     </message>
     <message>
         <source>&Merge Snapshot with Parent</source>
@@ -15912,11 +16444,11 @@ Version %1</translation>
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Återställ markerad ögonblicksbild av den virtuella maskinen</translation>
+        <translation type="obsolete">Återställ markerad ögonblicksbild av den virtuella maskinen</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Ta bort markerad ögonblicksbild av den virtuella maskinen</translation>
+        <translation type="obsolete">Ta bort markerad ögonblicksbild av den virtuella maskinen</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15928,7 +16460,23 @@ Version %1</translation>
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Klona den markerade virtuella maskinen</translation>
+        <translation type="obsolete">Klona den markerade virtuella maskinen</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15963,6 +16511,10 @@ Version %1</translation>
             <numerusform>Varning: Du tar en ögonblicksbild av en körande maskin som har %n oföränderliga avbildningar anslutna till sig. Så länge som du arbetar från denna ögonblicksbild så kommer de oföränderliga avbildningarna inte att återställas för att förhindra att data förloras.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Ögonblicksbild %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
index 3378a70..c8186a5 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_tr.ts
@@ -297,7 +297,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Pencere yeniden boyutlandırıldığında misafir ekranını otomatik olarak yeniden boyutlandır (Misafir Eklentilerini gerektirir)</translation>
+        <translation type="obsolete">Pencere yeniden boyutlandırıldığında misafir ekranını otomatik olarak yeniden boyutlandır (Misafir Eklentilerini gerektirir)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -389,7 +389,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Sanal makineye ACPI Güç Düğmesine basma olayını gönder</translation>
+        <translation type="obsolete">Sanal makineye ACPI Güç Düğmesine basma olayını gönder</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -425,7 +425,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Ağ bağdaştırıcılarının ayarlarını değiştir</translation>
+        <translation type="obsolete">Ağ bağdaştırıcılarının ayarlarını değiştir</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -433,7 +433,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Paylaşılan klasörleri değiştir veya oluştur</translation>
+        <translation type="obsolete">Paylaşılan klasörleri değiştir veya oluştur</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -525,7 +525,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Sanal makine ayarlarını yönet</translation>
+        <translation type="obsolete">Sanal makine ayarlarını yönet</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -533,7 +533,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Seçilen sanal makinenin günlük dosyalarını göster</translation>
+        <translation type="obsolete">Seçilen sanal makinenin günlük dosyalarını göster</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -557,7 +557,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Ağ İşlemleri Yöneticisini göster</translation>
+        <translation type="obsolete">Ağ İşlemleri Yöneticisini göster</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -569,7 +569,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Ürün bilgisinin olduğu bir pencere göster</translation>
+        <translation type="obsolete">Ürün bilgisinin olduğu bir pencere göster</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -581,7 +581,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Sanal makinenin bir ekran görüntüsünü al</translation>
+        <translation type="obsolete">Sanal makinenin bir ekran görüntüsünü al</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -624,11 +624,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Tercihler...</translation>
+        <translation type="obsolete">&Tercihler...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Genel ayarlar penceresini görüntüle</translation>
+        <translation type="obsolete">Genel ayarlar penceresini görüntüle</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -644,15 +644,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Yeni bir sanal makine oluştur</translation>
+        <translation type="obsolete">Yeni bir sanal makine oluştur</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Mevcut bir sanal makine ekle</translation>
+        <translation type="obsolete">Mevcut bir sanal makine ekle</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Seçilen sanal makine grubunu yeniden adlandır</translation>
+        <translation type="obsolete">Seçilen sanal makine grubunu yeniden adlandır</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -672,27 +672,27 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Yenile...</translation>
+        <translation type="obsolete">&Yenile...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Seçilen sanal makinenin erişilebilirlik durumunu yenile</translation>
+        <translation type="obsolete">Seçilen sanal makinenin erişilebilirlik durumunu yenile</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Bulucuda göster</translation>
+        <translation type="obsolete">Bulucuda göster</translation>
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Gezginde göster</translation>
+        <translation type="obsolete">Gezginde göster</translation>
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Dosya Yöneticisinde göster</translation>
+        <translation type="obsolete">Dosya Yöneticisinde göster</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Dosya Yöneticisinde VirtualBox Makinesi Açıklama dosyasını göster</translation>
+        <translation type="obsolete">Dosya Yöneticisinde VirtualBox Makinesi Açıklama dosyasını göster</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -704,7 +704,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Seçilen öğelere dayalı yeni bir grup ekle</translation>
+        <translation type="obsolete">Seçilen öğelere dayalı yeni bir grup ekle</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -712,7 +712,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Seçilen sanal makineyi çoğalt</translation>
+        <translation type="obsolete">Seçilen sanal makineyi çoğalt</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -724,7 +724,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Kaydedilmiş durumdan v&azgeç...</translation>
+        <translation type="obsolete">Kaydedilmiş durumdan v&azgeç...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -756,67 +756,67 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Seçilen sanal makine grubunun öğelerini alfabetik olarak sırala</translation>
+        <translation type="obsolete">Seçilen sanal makine grubunun öğelerini alfabetik olarak sırala</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Seçilen sanal makineleri kaldır</translation>
+        <translation type="obsolete">Seçilen sanal makineleri kaldır</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Seçilen sanal makineleri başlat</translation>
+        <translation type="obsolete">Seçilen sanal makineleri başlat</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Seçilen sanal makinelerin pencerelerine değiştir</translation>
+        <translation type="obsolete">Seçilen sanal makinelerin pencerelerine değiştir</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Seçilen sanal makinelerin çalıştırılmasını askıya al</translation>
+        <translation type="obsolete">Seçilen sanal makinelerin çalıştırılmasını askıya al</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Seçilen sanal makineleri sıfırla</translation>
+        <translation type="obsolete">Seçilen sanal makineleri sıfırla</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Seçilen sanal makinelerin kaydedilmiş durumundan vazgeç</translation>
+        <translation type="obsolete">Seçilen sanal makinelerin kaydedilmiş durumundan vazgeç</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Bulucuda VirtualBox Makinesi Açıklama dosyasını göster</translation>
+        <translation type="obsolete">Bulucuda VirtualBox Makinesi Açıklama dosyasını göster</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Gezginde VirtualBox Makinesi Açıklama dosyasını göster</translation>
+        <translation type="obsolete">Gezginde VirtualBox Makinesi Açıklama dosyasını göster</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Masaüstüne Takma Ad oluştur</translation>
+        <translation type="obsolete">Masaüstüne Takma Ad oluştur</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Masaüstünüzde VirtualBox Makinesi Açıklama dosyasına bir takma ad dosyası oluşturur</translation>
+        <translation type="obsolete">Masaüstünüzde VirtualBox Makinesi Açıklama dosyasına bir takma ad dosyası oluşturur</translation>
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Masaüstüne Kısayol oluştur</translation>
+        <translation type="obsolete">Masaüstüne Kısayol oluştur</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Masaüstünüzde VirtualBox Makinesi Açıklama dosyasına bir kısayol dosyası oluşturur</translation>
+        <translation type="obsolete">Masaüstünüzde VirtualBox Makinesi Açıklama dosyasına bir kısayol dosyası oluşturur</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Durumu Kaydet</translation>
+        <translation type="obsolete">Durumu Kaydet</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Seçilen sanal makinelerin makine durumunu kaydet</translation>
+        <translation type="obsolete">Seçilen sanal makinelerin makine durumunu kaydet</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Seçilen sanal makinelere ACPI Güç Düğmesine basma olayını gönder</translation>
+        <translation type="obsolete">Seçilen sanal makinelere ACPI Güç Düğmesine basma olayını gönder</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -824,7 +824,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Seçilen sanal makinelerin gücünü kapat</translation>
+        <translation type="obsolete">Seçilen sanal makinelerin gücünü kapat</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -836,15 +836,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>Gru&plamayı kaldır...</translation>
+        <translation type="obsolete">Gru&plamayı kaldır...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Seçilen sanal makine grubunun öğelerinin grublamasını kaldır</translation>
+        <translation type="obsolete">Seçilen sanal makine grubunun öğelerinin grublamasını kaldır</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Sırala</translation>
+        <translation type="obsolete">Sırala</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -852,7 +852,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>İlk seçilen makinenin grubunu alfabetik olarak sırala</translation>
+        <translation type="obsolete">İlk seçilen makinenin grubunu alfabetik olarak sırala</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -864,7 +864,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>Sanal makinenin makine durumunu kaydet</translation>
+        <translation type="obsolete">Sanal makinenin makine durumunu kaydet</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -884,7 +884,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>Uzak masaüstü (RDP) bağlantılarını bu makineye değiştir</translation>
+        <translation type="obsolete">Uzak masaüstü (RDP) bağlantılarını bu makineye değiştir</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -892,7 +892,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>Görüntü yakalamayı değiştir</translation>
+        <translation type="obsolete">Görüntü yakalamayı değiştir</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -900,7 +900,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>Görüntü yakalama ayarlarını yapılandır</translation>
+        <translation type="obsolete">Görüntü yakalama ayarlarını yapılandır</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -908,7 +908,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>Oturum Bilgisi Penceresini Göster</translation>
+        <translation type="obsolete">Oturum Bilgisi Penceresini Göster</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -920,7 +920,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>Sanal sürücü içine Misafir Eklentileri disk dosyasını yerleştir</translation>
+        <translation type="obsolete">Sanal sürücü içine Misafir Eklentileri disk dosyasını yerleştir</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -936,7 +936,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>Menü çubuğunu yapılandırmak için pencere açar</translation>
+        <translation type="obsolete">Menü çubuğunu yapılandırmak için pencere açar</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -944,7 +944,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>Bu makine için menü çubuğu görünürlüğünü değiştir</translation>
+        <translation type="obsolete">Bu makine için menü çubuğu görünürlüğünü değiştir</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -956,7 +956,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>Durum çubuğunu yapılandırmak için pencere açar</translation>
+        <translation type="obsolete">Durum çubuğunu yapılandırmak için pencere açar</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -964,7 +964,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>Bu makine için durum çubuğu görünürlüğünü değiştir</translation>
+        <translation type="obsolete">Bu makine için durum çubuğu görünürlüğünü değiştir</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -980,7 +980,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>Kısayolları yapılandırmak için genel ayarlar penceresini görüntüle</translation>
+        <translation type="obsolete">Kısayolları yapılandırmak için genel ayarlar penceresini görüntüle</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -988,19 +988,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>&Sabit Sürücüler</translation>
+        <translation type="obsolete">&Sabit Sürücüler</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>&Sabit Sürücü Ayarları...</translation>
+        <translation type="obsolete">&Sabit Sürücü Ayarları...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>Sabit sürücülerin ayarlarını değiştir</translation>
+        <translation type="obsolete">Sabit sürücülerin ayarlarını değiştir</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>Ağ</translation>
+        <translation type="obsolete">Ağ</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -1008,7 +1008,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>US aygıtların ayarlarını değiştir</translation>
+        <translation type="obsolete">US aygıtların ayarlarını değiştir</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -1041,7 +1041,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>Aktif makine penceresini simge durumuna küçült</translation>
+        <translation type="obsolete">Aktif makine penceresini simge durumuna küçült</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -1061,7 +1061,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>%1 &Ekle</translation>
+        <translation type="obsolete">%1 &Ekle</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -1089,7 +1089,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>Sürükle ve Bırak</translation>
+        <translation type="obsolete">Sürükle ve Bırak</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1106,7 +1106,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>Seçilen sanal makineleri arka planda başlat</translation>
+        <translation type="obsolete">Seçilen sanal makineleri arka planda başlat</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1114,7 +1114,316 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>Seçilen sanal makineleri arka planda devam ettiren seçenek ile başlat</translation>
+        <translation type="obsolete">Seçilen sanal makineleri arka planda devam ettiren seçenek ile başlat</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">&Tercihler...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">%1 &Ekle</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished">&Sabit Diskler</translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">Etkinleştir</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">%1x%2 olarak yeniden boyutlandır</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Önizleme Monitörü %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Bağlı USB Aygıtlar Yok</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">Bağlı Web Kameraları Yok</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">Anamakine PC'ye bağlı desteklenen web kameraları yok</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">&Yenile</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1122,17 +1431,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>Etkinleştir</translation>
+        <translation type="obsolete">Etkinleştir</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>%1x%2 olarak yeniden boyutlandır</translation>
+        <translation type="obsolete">%1x%2 olarak yeniden boyutlandır</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>% %1</translation>
+        <translation type="obsolete">% %1</translation>
     </message>
 </context>
 <context>
@@ -1155,6 +1464,28 @@
             <numerusform>Bu sanal makine parola korumalıdır. Lütfen aşağıya %n şifreleme parolasını girin.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Durum</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">KİMLİK</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">Parola</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1208,15 +1539,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Sabit Disk Denetleyici (IDE)</translation>
+        <translation type="obsolete">Sabit Disk Denetleyici (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Sabit Disk Denetleyici (SATA)</translation>
+        <translation type="obsolete">Sabit Disk Denetleyici (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Sabit Disk Denetleyici (SCSI)</translation>
+        <translation type="obsolete">Sabit Disk Denetleyici (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1274,7 +1605,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Sabit Disk Denetleyici (SAS)</translation>
+        <translation type="obsolete">Sabit Disk Denetleyici (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1284,6 +1615,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>Tüm ağ kartlarının MAC adresini yeni&den başlat</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1759,7 +2106,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>Veri alınıyor...</translation>
+        <translation type="obsolete">Veri alınıyor...</translation>
     </message>
 </context>
 <context>
@@ -1768,6 +2115,10 @@
         <source>Dropping data ...</source>
         <translation>Veri kaldırılıyor...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">Veri alınıyor...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -1873,22 +2224,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>Durum</translation>
+        <translation type="obsolete">Durum</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>KİMLİK</translation>
+        <translation type="obsolete">KİMLİK</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>Parola</translation>
+        <translation type="obsolete">Parola</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>Aşağıdaki %n sabit sürücü(ler) tarafından kullanılır:</nobr><br>%1</numerusform>
         </translation>
     </message>
@@ -2730,7 +3081,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Misafirin kullanmasını isteyeceğimiz en fazla genişliği belirler.</translation>
+        <translation type="obsolete">Misafirin kullanmasını isteyeceğimiz en fazla genişliği belirler.</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -2738,7 +3089,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Misafirin kullanmasını isteyeceğimiz en fazla yüksekliği belirler.</translation>
+        <translation type="obsolete">Misafirin kullanmasını isteyeceğimiz en fazla yüksekliği belirler.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -2773,12 +3124,24 @@
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>Eğer işaretlendiyse, fare işaretçisi üzerilerine hareket ettiğinde makine pencereleri öne gelecektir.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, fare işaretçisi üzerilerine hareket ettiğinde makine pencereleri öne gelecektir.</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>Fare Altındaki Pencereyi Öne &Getir</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -2804,11 +3167,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>Paket ekle</translation>
+        <translation type="obsolete">Paket ekle</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Paketi kaldır</translation>
+        <translation type="obsolete">Paketi kaldır</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -2826,6 +3189,22 @@
         <source>&Extension Packages</source>
         <translation>&Genişletme Paketleri</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -2891,7 +3270,7 @@
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>&Anamakine Ekran Koruyucusu:</translation>
+        <translation type="obsolete">&Anamakine Ekran Koruyucusu:</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -2899,7 +3278,15 @@
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>Sanal Makineler Çalışırken Etkisizleştir</translation>
+        <translation type="obsolete">Sanal Makineler Çalışırken Etkisizleştir</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2946,11 +3333,19 @@
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>Yapılandırılabilir tüm mevcut kısayolları listeler.</translation>
+        <translation type="obsolete">Yapılandırılabilir tüm mevcut kısayolları listeler.</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>Kısayol listesini süzmek için bir sıralama girin.</translation>
+        <translation type="obsolete">Kısayol listesini süzmek için bir sıralama girin.</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3124,15 +3519,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>Sadece-anamakine ağı &ekle</translation>
+        <translation type="obsolete">Sadece-anamakine ağı &ekle</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>Sadece-anamakine ağını &kaldır</translation>
+        <translation type="obsolete">Sadece-anamakine ağını &kaldır</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>Sadece-anamakine ağını &düzenle</translation>
+        <translation type="obsolete">Sadece-anamakine ağını &düzenle</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -3265,15 +3660,63 @@
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>NAT ağı &ekle</translation>
+        <translation type="obsolete">NAT ağı &ekle</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>NAT ağını &kaldır</translation>
+        <translation type="obsolete">NAT ağını &kaldır</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>NAT ağını &düzenle</translation>
+        <translation type="obsolete">NAT ağını &düzenle</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3387,7 +3830,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>Bu sadece-anamakine ağı bağdaştırıcısı için elle yapılandırma kullan.</translation>
+        <translation type="obsolete">Bu sadece-anamakine ağı bağdaştırıcısı için elle yapılandırma kullan.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3431,7 +3874,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>DHCP Sunucusunun makine başlatılmasında etkinleştirilip etkinleştirilmeyeceğini gösterir.</translation>
+        <translation type="obsolete">DHCP Sunucusunun makine başlatılmasında etkinleştirilip etkinleştirilmeyeceğini gösterir.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3465,6 +3908,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>Bu sadece-anamakine bağdaştırıcısı ile ilişkilendirilmiş ağa hizmet eden DHCP sunucusu tarafından sunulmuş üst adres sınırını tutar.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3478,7 +3929,7 @@
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>Bu NAT ağını etkinleştir.</translation>
+        <translation type="obsolete">Bu NAT ağını etkinleştir.</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -3506,7 +3957,7 @@
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>Bu ağın DHCP'yi destekleyip desteklemeyeceğini belirler.</translation>
+        <translation type="obsolete">Bu ağın DHCP'yi destekleyip desteklemeyeceğini belirler.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -3514,7 +3965,7 @@
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>Bu ağın IPv6'yı destekleyip desteklemeyeceğini belirler.</translation>
+        <translation type="obsolete">Bu ağın IPv6'yı destekleyip desteklemeyeceğini belirler.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -3522,16 +3973,36 @@
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>Bu ağın varsayılan IPv6 yönlendirmesi olarak tanıtılıp tanıtılmamasını belirler.</translation>
+        <translation type="obsolete">Bu ağın varsayılan IPv6 yönlendirmesi olarak tanıtılıp tanıtılmamasını belirler.</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Bağlantı noktası yönlendirme kurallarını yönetmek için bir pencere açar.</translation>
+        <translation type="obsolete">Bağlantı noktası yönlendirme kurallarını yönetmek için bir pencere açar.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>&B.Noktası Yönlendirme</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -3564,7 +4035,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Proksi anamakinesini değiştirir.</translation>
+        <translation type="obsolete">Proksi anamakinesini değiştirir.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3572,7 +4043,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Proksi bağlantı noktasını değiştirir.</translation>
+        <translation type="obsolete">Proksi bağlantı noktasını değiştirir.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3606,6 +4077,14 @@
         <source>No proxy port is currently specified.</source>
         <translation>Şu anda hiç proksi bağlantı noktası belirtilmedi.</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3623,7 +4102,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Yeni sürüm kontrolünün ne sıklıkla yapılacağını belirler. Eğer bu kontrolü tamamen etkisizleştirmek istiyorsanız, sadece yukarıdaki işaretleme kutusunun işaretini kaldırmayı unutmayın.</translation>
+        <translation type="obsolete">Yeni sürüm kontrolünün ne sıklıkla yapılacağını belirler. Eğer bu kontrolü tamamen etkisizleştirmek istiyorsanız, sadece yukarıdaki işaretleme kutusunun işaretini kaldırmayı unutmayın.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3657,6 +4136,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>Tüm Yeni Yayımlar ve Ö&n-Yayımlar</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -3989,7 +4472,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Sanal sabit disklerin etkinliğini gösterir:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Sanal sabit disklerin etkinliğini gösterir:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4070,7 +4553,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Misafir İS tarafından klavyenin yakalanıp (<img src=:/hostkey_captured_16px.png/>) yakalanmadığını (<img src=:/hostkey_16px.png/>) gösterir.</translation>
+        <translation type="obsolete">Misafir İS tarafından klavyenin yakalanıp (<img src=:/hostkey_captured_16px.png/>) yakalanmadığını (<img src=:/hostkey_16px.png/>) gösterir.</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4116,6 +4599,15 @@
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>Disket sürücülerin etkinliğini gösterir:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4132,11 +4624,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Önizleme Monitörü %1</translation>
+        <translation type="obsolete">Önizleme Monitörü %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Anlık Görüntü %1</translation>
+        <translation type="obsolete">Anlık Görüntü %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -4156,11 +4648,11 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Bağlı USB Aygıtlar Yok</translation>
+        <translation type="obsolete">Bağlı USB Aygıtlar Yok</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Anamakine PC'ye bağlı desteklenen aygıtlar yok</translation>
+        <translation type="obsolete">Anamakine PC'ye bağlı desteklenen aygıtlar yok</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4168,19 +4660,19 @@
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>Bağlı Web Kameraları Yok</translation>
+        <translation type="obsolete">Bağlı Web Kameraları Yok</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>Anamakine PC'ye bağlı desteklenen web kameraları yok</translation>
+        <translation type="obsolete">Anamakine PC'ye bağlı desteklenen web kameraları yok</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>Ağ Bağdaştırıcısını Bağla</translation>
+        <translation type="obsolete">Ağ Bağdaştırıcısını Bağla</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>%1 Ağ Bağdaştırıcısını Bağla</translation>
+        <translation type="obsolete">%1 Ağ Bağdaştırıcısını Bağla</translation>
     </message>
 </context>
 <context>
@@ -4199,7 +4691,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Ses çıktı sürücüsünü denetler. <b>Belirsiz Ses Sürücüsü</b> misafirin bir ses kartı görmesini sağlar ancak bu karta yapılan her erişim yoksayılacaktır.</translation>
+        <translation type="obsolete">Ses çıktı sürücüsünü denetler. <b>Belirsiz Ses Sürücüsü</b> misafirin bir ses kartı görmesini sağlar ancak bu karta yapılan her erişim yoksayılacaktır.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4209,6 +4701,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Sanal ses kartının türünü seçer. Bu değere bağlı olarak, VirtualBox sanal makineye farklı ses donanımı sağlayacaktır.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4218,7 +4714,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4274,7 +4770,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>VRDP kimlik doğrulama yöntemini tanımlar.</translation>
+        <translation type="obsolete">VRDP kimlik doğrulama yöntemini tanımlar.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4282,7 +4778,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Misafir kimlik doğrulaması için zaman aşımı süresini milisaniye olarak belirler.</translation>
+        <translation type="obsolete">Misafir kimlik doğrulaması için zaman aşımı süresini milisaniye olarak belirler.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4298,7 +4794,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP Sunucusu bağlantı noktası numarasıdır. 3389 nolu bağlantı noktasını seçmek için <tt>0</tt> (sıfır) belirtebilirsiniz, RDP için standart bağlantı noktasıdır.</translation>
+        <translation type="obsolete">VRDP Sunucusu bağlantı noktası numarasıdır. 3389 nolu bağlantı noktasını seçmek için <tt>0</tt> (sıfır) belirtebilirsiniz, RDP için standart bağlantı noktasıdır.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4310,11 +4806,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>VM'e çoklu eşzamanlı bağlantılara izin verip vermeyeceğini belirler.</translation>
+        <translation type="obsolete">VM'e çoklu eşzamanlı bağlantılara izin verip vermeyeceğini belirler.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4350,7 +4846,7 @@
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>Bu ayar, kaydedilen içeriği saklamak için VirtualBox'ın kullandığı dosya adını belirler.</translation>
+        <translation type="obsolete">Bu ayar, kaydedilen içeriği saklamak için VirtualBox'ın kullandığı dosya adını belirler.</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -4358,15 +4854,15 @@
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>Bu ayar, kaydedilen görüntünün çözünürlüğünü (kare boyutu) belirler.</translation>
+        <translation type="obsolete">Bu ayar, kaydedilen görüntünün çözünürlüğünü (kare boyutu) belirler.</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>Bu ayar, kaydedilen görüntünün <b>yatay</b> çözünürlüğünü (kare genişliği) belirler.</translation>
+        <translation type="obsolete">Bu ayar, kaydedilen görüntünün <b>yatay</b> çözünürlüğünü (kare genişliği) belirler.</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>Bu ayar, kaydedilen görüntünün <b>dikey</b> çözünürlüğünü (kare yüksekliği) belirler.</translation>
+        <translation type="obsolete">Bu ayar, kaydedilen görüntünün <b>dikey</b> çözünürlüğünü (kare yüksekliği) belirler.</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -4374,7 +4870,7 @@
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>Bu ayar, <b>saniye başına kare</b> için en fazla sayısını belirler. İlave kareler atlanacaktır. Bu değeri azaltmak atlanan karelerin sayısını arttıracak ve dosya boyutunu düşürecek.</translation>
+        <translation type="obsolete">Bu ayar, <b>saniye başına kare</b> için en fazla sayısını belirler. İlave kareler atlanacaktır. Bu değeri azaltmak atlanan karelerin sayısını arttıracak ve dosya boyutunu düşürecek.</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -4382,11 +4878,11 @@
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Bu ayar <b>kaliteyi</b> belirler. Bu değeri arttırmak görüntüyü daha iyi görünür yapacak ama dosya boyutunun artmasına neden olacak.</translation>
+        <translation type="obsolete">Bu ayar <b>kaliteyi</b> belirler. Bu değeri arttırmak görüntüyü daha iyi görünür yapacak ama dosya boyutunun artmasına neden olacak.</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>Bu ayar bit oranında <b>saniye başına kilobitleri</b> belirler. Bu değeri arttırmak görüntüyü daha iyi görünür yapacak ama dosya boyutunun artmasına neden olacak.</translation>
+        <translation type="obsolete">Bu ayar bit oranında <b>saniye başına kilobitleri</b> belirler. Bu değeri arttırmak görüntüyü daha iyi görünür yapacak ama dosya boyutunun artmasına neden olacak.</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -4398,7 +4894,7 @@
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>Sanal makine şu anda, tam ekran ya da özgün kipine değiştirmek için gereken en az <b>%1</b> görüntü belleği miktarından azına atanmış.</translation>
+        <translation type="obsolete">Sanal makine şu anda, tam ekran ya da özgün kipine değiştirmek için gereken en az <b>%1</b> görüntü belleği miktarından azına atanmış.</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -4457,7 +4953,7 @@
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>Ekran %1 için görüntü kaydını etkinleştir.</translation>
+        <translation type="obsolete">Ekran %1 için görüntü kaydını etkinleştir.</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -4505,11 +5001,11 @@
     </message>
     <message>
         <source>100%</source>
-        <translation>% 100</translation>
+        <translation type="obsolete">% 100</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation>% 200</translation>
+        <translation type="obsolete">% 200</translation>
     </message>
     <message>
         <source>%</source>
@@ -4517,7 +5013,7 @@
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation>HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
     </message>
     <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
@@ -4531,6 +5027,70 @@
         <source>Acceleration:</source>
         <translation>Hızlandırma:</translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -4540,7 +5100,7 @@
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Bu sanal makinenin anlık görüntülerinin saklanacağı yerin yolunu tutar. Anlık görüntülerin oldukça disk alanı kaplayabileceğinden haberiniz olsun.</translation>
+        <translation type="obsolete">Bu sanal makinenin anlık görüntülerinin saklanacağı yerin yolunu tutar. Anlık görüntülerin oldukça disk alanı kaplayabileceğinden haberiniz olsun.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4752,7 +5312,7 @@
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>Sanal makine disklerini şifrelemek için kullanılacak şifreleyiciyi tutar.</translation>
+        <translation type="obsolete">Sanal makine disklerini şifrelemek için kullanılacak şifreleyiciyi tutar.</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -4791,6 +5351,14 @@
         <comment>cipher type</comment>
         <translation>Değiştirilmemiş Bırak</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4836,15 +5404,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>Eğer işaretlendiyse, Tam Ekran ve Özgün kiplerinde Küçük Araç Çubuğunu gösterir.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, Tam Ekran ve Özgün kiplerinde Küçük Araç Çubuğunu gösterir.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>&Tam Ekran/Özgün İçinde Göster</translation>
+        <translation type="obsolete">&Tam Ekran/Özgün İçinde Göster</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>Eğer işaretlendiyse, ekranın en altındaki varsayılan konumu yerine, ekranın en üstünde Küçük Araç Çubuğunu gösterir.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, ekranın en altındaki varsayılan konumu yerine, ekranın en üstünde Küçük Araç Çubuğunu gösterir.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -4854,6 +5422,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation>VM durum çubuğu içeriklerini değiştirmeye izin verir.</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -4887,7 +5467,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Bu sanal bağdaştırıcının Anamakine İS'nin gerçek ağına nasıl takıldığını denetler.</translation>
+        <translation type="obsolete">Bu sanal bağdaştırıcının Anamakine İS'nin gerçek ağına nasıl takıldığını denetler.</translation>
     </message>
     <message>
         <source>Holds the name of the internal network selected for this adapter.</source>
@@ -4911,7 +5491,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Sanal ağ kablosunun başlangıçta makineye takılı olup olmadığını gösterir.</translation>
+        <translation type="obsolete">Sanal ağ kablosunun başlangıçta makineye takılı olup olmadığını gösterir.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -4994,7 +5574,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>İlave ağ bağdaştırıcısı seçeneklerini gösterir veya gizler.</translation>
+        <translation type="obsolete">İlave ağ bağdaştırıcısı seçeneklerini gösterir veya gizler.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -5002,7 +5582,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Bağlantı noktası yönlendirme kurallarını yönetmek için bir pencere açar.</translation>
+        <translation type="obsolete">Bağlantı noktası yönlendirme kurallarını yönetmek için bir pencere açar.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5022,7 +5602,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Kullanacağınız, eklenti ağ sürücüsü için herhangi bir yapılandırma ayarını buraya girin. Ayarlar <b>adı=değer</b> biçiminde olmalıdır ve sürücüye bağlı olacaktır. Yeni bir giriş eklemek için <b>shift-enter</b> kullanın.</translation>
+        <translation type="obsolete">Kullanacağınız, eklenti ağ sürücüsü için herhangi bir yapılandırma ayarını buraya girin. Ayarlar <b>adı=değer</b> biçiminde olmalıdır ve sürücüye bağlı olacaktır. Yeni bir giriş eklemek için <b>shift-enter</b> kullanın.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5084,6 +5664,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>Bu ağ kartının bağlanacak olduğu NAT ağının adını tutar. Sanal makine yöneticisi penceresindeki genel ağ ayarlarını kullanarak ağları oluşturabilir ve kaldırabilirsiniz.</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5162,6 +5762,26 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Bu paralel bağlantı noktasının temel G/Ç bağlantı noktası adresini tutar. Geçerli değerler <tt>0</tt>'dan<tt>0xFFFF</tt> değerine kadar aralıktaki tam sayı numaralarıdır.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç IRQ yok.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -5179,23 +5799,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç IRQ yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç IRQ yok.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
+        <translation type="obsolete">İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
     </message>
 </context>
 <context>
@@ -5206,27 +5826,27 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Bu tablo bağlantı noktası yönlendirme kurallarının listesini içerir.</translation>
+        <translation type="obsolete">Bu tablo bağlantı noktası yönlendirme kurallarının listesini içerir.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Yeni kural ekle</translation>
+        <translation type="obsolete">Yeni kural ekle</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Seçilen kuralı kopyala</translation>
+        <translation type="obsolete">Seçilen kuralı kopyala</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Seçilen kuralı sil</translation>
+        <translation type="obsolete">Seçilen kuralı sil</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Bu düğme yeni bağlantı noktası yönlendirme kuralı ekler.</translation>
+        <translation type="obsolete">Bu düğme yeni bağlantı noktası yönlendirme kuralı ekler.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Bu düğme seçilen bağlantı noktası yönlendirme kuralını siler.</translation>
+        <translation type="obsolete">Bu düğme seçilen bağlantı noktası yönlendirme kuralını siler.</translation>
     </message>
 </context>
 <context>
@@ -5245,15 +5865,15 @@
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Yeni bir paylaşılan klasör açıklaması ekler.</translation>
+        <translation type="obsolete">Yeni bir paylaşılan klasör açıklaması ekler.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Seçilen paylaşılan klasör açıklamasını düzenler.</translation>
+        <translation type="obsolete">Seçilen paylaşılan klasör açıklamasını düzenler.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Seçilen paylaşılan klasör açıklamasını kaldırır.</translation>
+        <translation type="obsolete">Seçilen paylaşılan klasör açıklamasını kaldırır.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5289,15 +5909,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>Paylaşılan Klasör &ekle</translation>
+        <translation type="obsolete">Paylaşılan Klasör &ekle</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>Paylaşılan Klasörü &düzenle</translation>
+        <translation type="obsolete">Paylaşılan Klasörü &düzenle</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>Paylaşılan Klasörü &kaldır</translation>
+        <translation type="obsolete">Paylaşılan Klasörü &kaldır</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5311,6 +5931,30 @@
         <source>Yes</source>
         <translation>Evet</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5360,7 +6004,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Eğer işaretlendiyse, bu paylaşılan klasör kalıcı olacaktır.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, bu paylaşılan klasör kalıcı olacaktır.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5408,7 +6056,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Bu seri bağlantı noktasının çalışma kipini denetler. Eğer <b>Bağlı değil</b> seçerseniz, misafir İS seri bağlantı noktasını algılayacaktır ama çalıştırılamayacaktır.</translation>
+        <translation type="obsolete">Bu seri bağlantı noktasının çalışma kipini denetler. Eğer <b>Bağlı değil</b> seçerseniz, misafir İS seri bağlantı noktasını algılayacaktır ama çalıştırılamayacaktır.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5440,7 +6088,7 @@
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>Eğer işaretlendiyse, sanal makine <b>Yol/Adres</b> alanında belirtilmiş hat ya da yuvanın mevcut olduğunu varsayacak ve kullanmaya çalışacak. Aksi halde hat ya da yuva sanal makine tarafından başlatıldığında oluşturulacaktır.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, sanal makine <b>Yol/Adres</b> alanında belirtilmiş hat ya da yuvanın mevcut olduğunu varsayacak ve kullanmaya çalışacak. Aksi halde hat ya da yuva sanal makine tarafından başlatıldığında oluşturulacaktır.</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -5454,6 +6102,34 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p><b>Anamakine Hattı</b> kipinde: Anamakinedeki seri bağlantı noktasının hattı için yolu tutar. Örnek: "\\.\pipe\myvbox" veya "/tmp/myvbox", ayrı ayrı Windows ve UNIX-gibi sistemler için.</p><p><b>Anamakine Aygıtı</b> kipinde: Anamakine seri aygıt adını tutar. Örnek: "COM1" veya "/dev/ttyS0".</p><p><b>Ham Dosya</b> kipinde: Anamakine sistemindeki, seri çıktının  [...]
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç IRQ yok.</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -5471,23 +6147,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç IRQ yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç IRQ yok.</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç G/Ç bağlantı noktası yok.</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
+        <translation type="obsolete">İki ya da daha fazla bağlantı noktası aynı ayarlara sahip.</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş hiç bağlantı noktası yolu yok.</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
+        <translation type="obsolete">Şu anda belirtilmiş kopya bağlantı noktası yolu var.</translation>
     </message>
 </context>
 <context>
@@ -5526,11 +6202,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Öğeyi&nbsp;Genişlet/Daralt</nobr></translation>
+        <translation type="obsolete"><nobr>Öğeyi&nbsp;Genişlet/Daralt</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Sabit&nbsp;Disk&nbsp;Ekle</nobr></translation>
+        <translation type="obsolete"><nobr>Sabit&nbsp;Disk&nbsp;Ekle</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5590,19 +6266,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Depolama Ağacının sonuna yeni bir denetleyici ekler.</translation>
+        <translation type="obsolete">Depolama Ağacının sonuna yeni bir denetleyici ekler.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Depolama Ağacındaki vurgulanmış denetleyiciyi kaldırır.</translation>
+        <translation type="obsolete">Depolama Ağacındaki vurgulanmış denetleyiciyi kaldırır.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Temel olarak şu an seçilen denetleyiciyi kullanan Depolama Ağacına yeni bir eklenti ekler.</translation>
+        <translation type="obsolete">Temel olarak şu an seçilen denetleyiciyi kullanan Depolama Ağacına yeni bir eklenti ekler.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Depolama Ağacındaki vurgulanmış eklentiyi kaldırır.</translation>
+        <translation type="obsolete">Depolama Ağacındaki vurgulanmış eklentiyi kaldırır.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5630,7 +6306,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Bu makine ve sanal kalıplar için tüm depolama denetleyicilerini ve bunlara takılı anamakine sürücülerini içerir.</translation>
+        <translation type="obsolete">Bu makine ve sanal kalıplar için tüm depolama denetleyicilerini ve bunlara takılı anamakine sürücülerini içerir.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5650,7 +6326,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Depolama Ağacı içinde şu anda seçilen depolama denetleyicisinin adını değiştirir.</translation>
+        <translation type="obsolete">Depolama Ağacı içinde şu anda seçilen depolama denetleyicisinin adını değiştirir.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5698,7 +6374,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Anamakine G/Ç önbellekleme yeteneklerini kullanmaya izin verir.</translation>
+        <translation type="obsolete">Anamakine G/Ç önbellekleme yeteneklerini kullanmaya izin verir.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5722,7 +6398,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>Kalıp</translation>
+        <translation type="obsolete">Kalıp</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5730,7 +6406,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Sanal sabit diski ayarla</translation>
+        <translation type="obsolete">Sanal sabit diski ayarla</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5754,15 +6430,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Sanal disket sürücüyü ayarla</translation>
+        <translation type="obsolete">Sanal disket sürücüyü ayarla</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Yeni bir sabit disk oluştur...</translation>
+        <translation type="obsolete">Yeni bir sabit disk oluştur...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Sanal bir sabit disk dosyası seçin...</translation>
+        <translation type="obsolete">Sanal bir sabit disk dosyası seçin...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5774,11 +6450,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Sanal bir disket dosyası seçin...</translation>
+        <translation type="obsolete">Sanal bir disket dosyası seçin...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>İşaretlendiğinde, misafir sistem çıkarttığında sanal disk kaldırılmayacaktır.</translation>
+        <translation type="obsolete">İşaretlendiğinde, misafir sistem çıkarttığında sanal disk kaldırılmayacaktır.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5786,7 +6462,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>İşaretlendiğinde, misafir sistem sanal diski bir katı hal aygıtı (SSD) gibi görecek.</translation>
+        <translation type="obsolete">İşaretlendiğinde, misafir sistem sanal diski bir katı hal aygıtı (SSD) gibi görecek.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -5851,56 +6527,141 @@
         <translation><i>%1</i>, zaten <i>%2</i> için takılmış bir disk kullanıyor.</translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
-        <translation>Makine şu anda %1 yonga setinin desteklediğinden daha fazla depolama denetleyicisine atanmış. Lütfen Sistem ayarları sayfasındaki yonga seti türünü değiştirin ya da Depolama ayarları sayfasında belirtilen depolama denetleyicilerinin sayısını azaltın: %2</translation>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <translation>Makine şu anda %1 yonga setinin desteklediğinden daha fazla depolama denetleyicisine atanmış. Lütfen Sistem ayarları sayfasındaki yonga seti türünü değiştirin ya da Depolama ayarları sayfasında belirtilen depolama denetleyicilerinin sayısını azaltın: %2</translation>
+    </message>
+    <message>
+        <source>Add USB Controller</source>
+        <translation>USB Denetleyicisi ekle</translation>
+    </message>
+    <message>
+        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="obsolete">İşaretlendiğinde, misafir sistem sanal diski bir çalışırken-takılabilir aygıt gibi görecek.</translation>
+    </message>
+    <message>
+        <source>&Hot-pluggable</source>
+        <translation>Çalışırken-&takılabilir</translation>
+    </message>
+    <message>
+        <source>Choose a virtual optical disk file...</source>
+        <translation type="obsolete">Sanal bir optik disk dosyası seçin...</translation>
+    </message>
+    <message>
+        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <translation type="obsolete"><nobr>Optik&nbsp;Sürücü&nbsp;Ekle</nobr></translation>
+    </message>
+    <message>
+        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <translation type="obsolete"><nobr>Disket&nbsp;Sürücü&nbsp;Ekle</nobr></translation>
+    </message>
+    <message>
+        <source>Add Optical Drive</source>
+        <translation>Optik Sürücü ekle</translation>
+    </message>
+    <message>
+        <source>Add Floppy Drive</source>
+        <translation>Disket Sürücü ekle</translation>
+    </message>
+    <message>
+        <source>Optical &Drive:</source>
+        <translation>Optik &Sürücü:</translation>
+    </message>
+    <message>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <translation>Sanal sürücü ile kullanmak için sanal bir optik disk ya da fiziksel bir sürücü seçin. Sanal makine, dosyadaki veriyle sürücüye yerleştirilen bir diski veya fiziksel sürücüdeki diski, içerikleri gibi görecek.</translation>
+    </message>
+    <message>
+        <source>Set up the virtual optical drive</source>
+        <translation type="obsolete">Sanal optik sürücüyü ayarla</translation>
+    </message>
+    <message>
+        <source>Encrypted with key:</source>
+        <translation>Şu anahtar ile şifrelenmiş:</translation>
+    </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Kalıp</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
-        <translation>USB Denetleyicisi ekle</translation>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>İşaretlendiğinde, misafir sistem sanal diski bir çalışırken-takılabilir aygıt gibi görecek.</translation>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
-        <translation>Çalışırken-&takılabilir</translation>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
-        <translation>Sanal bir optik disk dosyası seçin...</translation>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>Optik&nbsp;Sürücü&nbsp;Ekle</nobr></translation>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>Disket&nbsp;Sürücü&nbsp;Ekle</nobr></translation>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
-        <translation>Optik Sürücü ekle</translation>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
-        <translation>Disket Sürücü ekle</translation>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
-        <translation>Optik &Sürücü:</translation>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
-        <translation>Sanal sürücü ile kullanmak için sanal bir optik disk ya da fiziksel bir sürücü seçin. Sanal makine, dosyadaki veriyle sürücüye yerleştirilen bir diski veya fiziksel sürücüdeki diski, içerikleri gibi görecek.</translation>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
-        <translation>Sanal optik sürücüyü ayarla</translation>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
-        <translation>Şu anahtar ile şifrelenmiş:</translation>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5931,12 +6692,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -5964,7 +6725,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Aşağı Taşı (Ctrl-AşağıOk)</translation>
+        <translation type="obsolete">Aşağı Taşı (Ctrl-AşağıOk)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5972,7 +6733,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Yurarı Taşı (Ctrl-YukarıOk)</translation>
+        <translation type="obsolete">Yurarı Taşı (Ctrl-YukarıOk)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6033,7 +6794,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6045,7 +6806,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Eğer işaretlendiyse, RTC aygıtı zamanı UTC olarak, aksi takdirde yerel (anamakine) zamanı bildirecek. Unix genellikle donanım saatinin UTC'ye ayarlanmasını bekler.</translation>
+        <translation type="obsolete">Eğer işaretlendiyse, RTC aygıtı zamanı UTC olarak, aksi takdirde yerel (anamakine) zamanı bildirecek. Unix genellikle donanım saatinin UTC'ye ayarlanmasını bekler.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6090,12 +6851,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>% %1</qt></translation>
+        <translation type="obsolete"><qt>% %1</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>% %1</qt></translation>
+        <translation type="obsolete"><qt>% %1</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6169,56 +6930,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>Donanım sanallaştırma şu an Sistem sayfasının Hızlandırma bölümünde etkinleştirilmedi. Bu, sizin bu VM için seçtiğiniz birden fazla sanal işlemciyi desteklemek için gereklidir. Eğer değişikliklerinizi onaylarsanız, bu otomatik olarak yapılacaktır.</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>Boş Süzgeç &Ekle</translation>
+        <translation type="obsolete">Boş Süzgeç &Ekle</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>&Aygıttan Süzgeç Ekle</translation>
+        <translation type="obsolete">&Aygıttan Süzgeç Ekle</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>Süzgeci &Düzenle</translation>
+        <translation type="obsolete">Süzgeci &Düzenle</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>Süzgeci &Kaldır</translation>
+        <translation type="obsolete">Süzgeci &Kaldır</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>Süzgeci &Yukarı Taşı</translation>
+        <translation type="obsolete">Süzgeci &Yukarı Taşı</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>Süzgeci &Aşağı Taşı</translation>
+        <translation type="obsolete">Süzgeci &Aşağı Taşı</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>İlk olarak boş dizgilere ayarlanan tüm alanlarla yeni bir USB süzgeci ekler. Böyle bir süzgecin herhangi bir takılı USB aygıtla eşleşeceğini unutmayın.</translation>
+        <translation type="obsolete">İlk olarak boş dizgilere ayarlanan tüm alanlarla yeni bir USB süzgeci ekler. Böyle bir süzgecin herhangi bir takılı USB aygıtla eşleşeceğini unutmayın.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Anamakine PC'ye takılmış seçilen USB aygıtın değerlerine ayarlanan tüm alanlar ile yeni bir USB süzgeci ekler.</translation>
+        <translation type="obsolete">Anamakine PC'ye takılmış seçilen USB aygıtın değerlerine ayarlanan tüm alanlar ile yeni bir USB süzgeci ekler.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Seçilen USB süzgecini düzenler.</translation>
+        <translation type="obsolete">Seçilen USB süzgecini düzenler.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Seçilen USB süzgecini kaldırır.</translation>
+        <translation type="obsolete">Seçilen USB süzgecini kaldırır.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Seçilen USB süzgecini yukarı taşır.</translation>
+        <translation type="obsolete">Seçilen USB süzgecini yukarı taşır.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Seçilen USB süzgecini aşağı taşır.</translation>
+        <translation type="obsolete">Seçilen USB süzgecini aşağı taşır.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6235,7 +7022,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>İşaretlendiğinde, bu makinenin sanal USB EHCI denetleyicisini etkinleştirir. USB EHCI denetleyicisi USB 2.0 desteği sağlar.</translation>
+        <translation type="obsolete">İşaretlendiğinde, bu makinenin sanal USB EHCI denetleyicisini etkinleştirir. USB EHCI denetleyicisi USB 2.0 desteği sağlar.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6303,7 +7090,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>İşaretlendiğinde, bu makinenin sanal USB OHCI denetleyicisini etkinleştirir. USB OHCI denetleyicisi USB 1.0 desteği sağlar.</translation>
+        <translation type="obsolete">İşaretlendiğinde, bu makinenin sanal USB OHCI denetleyicisini etkinleştirir. USB OHCI denetleyicisi USB 1.0 desteği sağlar.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -6315,7 +7102,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>İşaretlendiğinde, bu makinenin sanal USB xHCI denetleyicisini etkinleştirir. USB xHCI denetleyicisi USB 3.0 desteği sağlar.</translation>
+        <translation type="obsolete">İşaretlendiğinde, bu makinenin sanal USB xHCI denetleyicisini etkinleştirir. USB xHCI denetleyicisi USB 3.0 desteği sağlar.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -6325,6 +7112,66 @@
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0 bu sanal makine için şu an etkinleştirildi. Ancak bu, <b>%1</b> yüklenmesini gerektirir. Lütfen VirtualBox indirme sitesinden Genişletme Paketini yükleyin ya da makineyi başlatabilmek için USB 2.0/3.0'ı etkisizleştirin.</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished">Boş Filtre Ekle</translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished">Aygıttan Filtre Ekle</translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished">Filtreyi Kaldır</translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished">Filtreyi Yukarı Taşı</translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished">Filtreyi Aşağı Taşı</translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -6357,7 +7204,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Satıcı Kimliği süzgecini tanımlar. <tt>X</tt> değerinin onaltılık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>XXXX</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete">Satıcı Kimliği süzgecini tanımlar. <tt>X</tt> değerinin onaltılık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>XXXX</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6365,7 +7212,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Ürün Kimliği süzgecini tanımlar. <tt>X</tt> değerinin onaltılık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>XXXX</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete">Ürün Kimliği süzgecini tanımlar. <tt>X</tt> değerinin onaltılık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>XXXX</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6373,7 +7220,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Gözden geçirme numarası süzgecini tanımlar. <tt>I</tt> değerinin tam sayı kısmının ondalık bir rakam olduğu ve <tt>F</tt> değerinin kesirli kısmının ondalık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>IIFF</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete">Gözden geçirme numarası süzgecini tanımlar. <tt>I</tt> değerinin tam sayı kısmının ondalık bir rakam olduğu ve <tt>F</tt> değerinin kesirli kısmının ondalık bir rakam olduğu <i>tam eşleşme</i> dizgisi biçimi <tt>IIFF</tt>'dir. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6381,7 +7228,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>Tam eşleşme</i> dizgisi olarak üretici süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete"><i>Tam eşleşme</i> dizgisi olarak üretici süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6389,7 +7236,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>Tam eşleşme</i> dizgisi olarak ürün adı süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete"><i>Tam eşleşme</i> dizgisi olarak ürün adı süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6397,7 +7244,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>Tam eşleşme</i> dizgisi olarak seri numarası süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete"><i>Tam eşleşme</i> dizgisi olarak seri numarası süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6405,7 +7252,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation><i>Tam eşleşme</i> dizgisi olarak USB bağlantı noktası süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
+        <translation type="obsolete"><i>Tam eşleşme</i> dizgisi olarak USB bağlantı noktası süzgecini tanımlar. Boş bir dizgi herhangi bir değerle eşleşecektir.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6413,7 +7260,7 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Bu süzgecin anamakine bilgisayarına yerel olarak takılı USB aygıtlara (<i>Hayır</i>), VRDP istemcilerinin bilgisayarlarına (<i>Evet</i>) ya da her ikisine de (<i>Herhangi</i>) uygulanıp uygulanmayacağını tanımlar.</translation>
+        <translation type="obsolete">Bu süzgecin anamakine bilgisayarına yerel olarak takılı USB aygıtlara (<i>Hayır</i>), VRDP istemcilerinin bilgisayarlarına (<i>Evet</i>) ya da her ikisine de (<i>Herhangi</i>) uygulanıp uygulanmayacağını tanımlar.</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6427,6 +7274,38 @@
         <source>USB Filter Details</source>
         <translation>USB Süzgeci Ayrıntıları</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -6446,7 +7325,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>Sa&bit sürücüler</translation>
+        <translation type="obsolete">Sa&bit sürücüler</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -6468,6 +7347,10 @@
         <source>Removing medium...</source>
         <translation>Ortam kaldırılıyor...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7030,7 +7913,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Yetersiz misafir görüntü belleğinden dolayı misafir ekranı tam ekran kipine değiştirilemedi.</p><p>Sanal makineyi en az <b>%1</b> görüntü belleğine sahip olacak şekilde yapılandırmalısınz.</p><p>Yine de tam ekran kipine değiştirmek için <b>Yoksay</b> düğmesine basın ya da işlemi iptal etmek için <b>İptal</b> düğmesine basın.</p></translation>
+        <translation type="obsolete"><p>Yetersiz misafir görüntü belleğinden dolayı misafir ekranı tam ekran kipine değiştirilemedi.</p><p>Sanal makineyi en az <b>%1</b> görüntü belleğine sahip olacak şekilde yapılandırmalısınz.</p><p>Yine de tam ekran kipine değiştirmek için <b>Yoksay</b> düğmesine basın ya da işlemi iptal etmek için <b>İptal</b> düğmesine basın.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7132,7 +8015,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p><nobr><b>%1</b></nobr> sabit diskinin depolama birimini silmek istediğinize emin misiniz?</p><p>Eğer <b>Sil</b>'i seçerseniz sonrasında belirtilmiş depolama birimi kalıcı olarak silinecektir. Bu işlem <b>geri alınamaz</b>.</p><p>Eğer <b>Keep</b>'u seçerseniz sonrasında sabit disk sadece bilinen sabit diskler listesinden kaldırılacaktır ama daha sonra tekrar bu sabit [...]
+        <translation type="obsolete"><p><nobr><b>%1</b></nobr> sabit diskinin depolama birimini silmek istediğinize emin misiniz?</p><p>Eğer <b>Sil</b>'i seçerseniz sonrasında belirtilmiş depolama birimi kalıcı olarak silinecektir. Bu işlem <b>geri alınamaz</b>.</p><p>Eğer <b>Keep</b>'u seçerseniz sonrasında sabit disk sadece bilinen sabit diskler listesinden kaldırılacaktır ama daha sonra [...]
     </message>
     <message>
         <source>Delete</source>
@@ -7328,7 +8211,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Anlık görüntüyü silmek kaydedilmiş durum bilgisinin kaybolmasına neden olacak ve VirtualBox'ın anlık görüntüyle birlikte oluşturduğu birkaç kalıp dosyasına yayılmış disk verisi bir dosyanın içerisine birleştirilecek. Bu uzunca bir işlem olabilir ve anlık görüntüdeki bilgi kurtarılamaz.</p><p>Seçilen <b>%1</b> anlık görüntüsünü silmek istediğnize emin misiniz?</p></translation>
+        <translation type="obsolete"><p>Anlık görüntüyü silmek kaydedilmiş durum bilgisinin kaybolmasına neden olacak ve VirtualBox'ın anlık görüntüyle birlikte oluşturduğu birkaç kalıp dosyasına yayılmış disk verisi bir dosyanın içerisine birleştirilecek. Bu uzunca bir işlem olabilir ve anlık görüntüdeki bilgi kurtarılamaz.</p><p>Seçilen <b>%1</b> anlık görüntüsünü silmek istediğnize emin misiniz?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -7434,7 +8317,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>%1 anlık görüntüsünü silmek geçici olarak daha fazla disk alanı gerektirecek. En kötü halde %2 kalıbının boyutu %3 kadar büyüyecek ancak bu dosya sisteminde sadece %4 boşluk var.</p><p>Birleştirme işlemi sırasında yetersiz disk alanında çalışmak VM yapılandırmasının ve kalıbın bozulmasıyla sunuçlanabilir, yani VM'in ve verisinin kaybolması.</p><p>Riski size ait olan anlık görüntüyü silerek devam edebilirsiniz.</p></translation>
+        <translation type="obsolete"><p>%1 anlık görüntüsünü silmek geçici olarak daha fazla disk alanı gerektirecek. En kötü halde %2 kalıbının boyutu %3 kadar büyüyecek ancak bu dosya sisteminde sadece %4 boşluk var.</p><p>Birleştirme işlemi sırasında yetersiz disk alanında çalışmak VM yapılandırmasının ve kalıbın bozulmasıyla sunuçlanabilir, yani VM'in ve verisinin kaybolması.</p><p>Riski size ait olan anlık görüntüyü silerek devam edebilirsiniz.< [...]
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7578,7 +8461,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Sanal makine penceresi şimdi <b>Tam ekran</b> kipine değiştirilecektir. Her zaman <b>%1</b> tuşuna basarak pencereli kipe geri dönebilirsiniz.</p><p><i>Anamakine</i> tuşu şu an <b>%2</b> olarak tanımlıdır unutmayın.</p><p>Tam ekran kipinde ana menü çubuğu gizlenir unutmayın. <b>Anamakine+Home</b> tuş birleşimine basarak erişebilirsiniz.</p></translation>
+        <translation type="obsolete"><p>Sanal makine penceresi şimdi <b>Tam ekran</b> kipine değiştirilecektir. Her zaman <b>%1</b> tuşuna basarak pencereli kipe geri dönebilirsiniz.</p><p><i>Anamakine</i> tuşu şu an <b>%2</b> olarak tanımlıdır unutmayın.</p><p>Tam ekran kipinde ana menü çubuğu gizlenir unutmayın. <b>Anamakine+Home</b> tuş birleşimine basarak erişebilirsiniz.</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -7799,7 +8682,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>Sabit sürücü olmayan yeni bir sanal makine oluşturmak üzeresiniz. Bir tane ekleyene kadar makine üzerine bir işletim sistemi yükleyemeyeceksiniz. Bu arada sadece sanal optik diski kullanarak veya ağdan makineyi başlatabileceksiniz.</translation>
+        <translation type="obsolete">Sabit sürücü olmayan yeni bir sanal makine oluşturmak üzeresiniz. Bir tane ekleyene kadar makine üzerine bir işletim sistemi yükleyemeyeceksiniz. Bu arada sadece sanal optik diski kullanarak veya ağdan makineyi başlatabileceksiniz.</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -7919,15 +8802,15 @@
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p><nobr><b>%1</b></nobr> sanal sabit diski serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p><nobr><b>%1</b></nobr> sanal sabit diski serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p><nobr><b>%1</b></nobr> sanal optik diski serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p><nobr><b>%1</b></nobr> sanal optik diski serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p><nobr><b>%1</b></nobr> sanal disketi serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p><nobr><b>%1</b></nobr> sanal disketi serbest bırakmak istediğinize emin misiniz?</p><p>Bu, şurada belirtilen sanal makine(ler)den bunu çıkartacak: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -7971,27 +8854,27 @@
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation><nobr><b>%1</b></nobr> sabit disk dosyasını açma başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%1</b></nobr> sabit disk dosyasını açma başarısız.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation><nobr><b>%1</b></nobr> optik disk dosyasını açma başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%1</b></nobr> optik disk dosyasını açma başarısız.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation><nobr><b>%1</b></nobr> disket dosyasını açma başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%1</b></nobr> disket dosyasını açma başarısız.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation><nobr><b>%2</b></nobr> sabit disk dosyasını kapama başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%2</b></nobr> sabit disk dosyasını kapama başarısız.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation><nobr><b>%2</b></nobr> optik disk dosyasını kapama başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%2</b></nobr> optik disk dosyasını kapama başarısız.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation><nobr><b>%2</b></nobr> disket dosyasını kapama başarısız.</translation>
+        <translation type="obsolete"><nobr><b>%2</b></nobr> disket dosyasını kapama başarısız.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -8119,7 +9002,7 @@
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>Bir ya da daha fazla sanal sabit disk, optik disk veya disket kalıbı dosyası şu anda erişilebilir değil. Sonuç olarak, daha sonra erişilebilir olana kadar bu dosyaları kullanan sanal makineleri işletemeyceksiniz.</p><p>Sanal Ortam Yöneticisi penceresini açmak için <b>Kontrol et</b> düğmesine basın ve hangi dosyaların erişilemez olduğunu görün, ya da bu iletiyi yoksaymak için <b>Yoksay</b> düğmesine basın.</p></translation>
+        <translation type="obsolete"><p>Bir ya da daha fazla sanal sabit disk, optik disk veya disket kalıbı dosyası şu anda erişilebilir değil. Sonuç olarak, daha sonra erişilebilir olana kadar bu dosyaları kullanan sanal makineleri işletemeyceksiniz.</p><p>Sanal Ortam Yöneticisi penceresini açmak için <b>Kontrol et</b> düğmesine basın ve hangi dosyaların erişilemez olduğunu görün, ya da bu iletiyi yoksaymak için <b>Yoksay</b> düğmesine basın.&l [...]
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -8221,6 +9104,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation><b>%1</b> sanal makinesinden ağ bağdaştırıcısı kablosu bağlantısını kesme başarısız.</translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9003,27 +9926,82 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Adı</translation>
+        <translation type="obsolete">Adı</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Protokol</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Anamakine IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Anamakine B.Noktası</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Misafir IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Misafir B.Noktası</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Protokol</translation>
+        <translation type="unfinished">Protokol</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Anamakine IP</translation>
+        <translation type="unfinished">Anamakine IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Anamakine B.Noktası</translation>
+        <translation type="unfinished">Anamakine B.Noktası</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Misafir IP</translation>
+        <translation type="unfinished">Misafir IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Misafir B.Noktası</translation>
+        <translation type="unfinished">Misafir B.Noktası</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9246,7 +10224,7 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr>Gösterge varlığını değiştirmek için <b>tıklayın</b>.</nobr><br><nobr>Gösterge konumunu değiştirmek için <b>Sürükle ve Bırak</b>'ın.</nobr></translation>
+        <translation type="obsolete"><nobr>Gösterge varlığını değiştirmek için <b>tıklayın</b>.</nobr><br><nobr>Gösterge konumunu değiştirmek için <b>Sürükle ve Bırak</b>'ın.</nobr></translation>
     </message>
 </context>
 <context>
@@ -9259,6 +10237,10 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
         <source>Enable Status Bar</source>
         <translation>Durum Çubuğunu etkinleştir</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr>Gösterge varlığını değiştirmek için <b>tıklayın</b>.</nobr><br><nobr>Gösterge konumunu değiştirmek için <b>Sürükle ve Bırak</b>'ın.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -9787,7 +10769,7 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Sanal Sabit Sürücüyü Kopyala</translation>
+        <translation type="obsolete">Sanal Sabit Sürücüyü Kopyala</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -9795,43 +10777,43 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Kopyalamak için sabit sürücü</translation>
+        <translation type="obsolete">Kopyalamak için sabit sürücü</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Lütfen kopyalamak istediğiniz sanal sabit sürücü dosyası eğer seçilmediyse seçin. Ya listeden birisini seçebilirsiniz ya da birini seçmek için listenin yanındaki klasör simgesini kullanabilirsiniz.</p></translation>
+        <translation type="obsolete"><p>Lütfen kopyalamak istediğiniz sanal sabit sürücü dosyası eğer seçilmediyse seçin. Ya listeden birisini seçebilirsiniz ya da birini seçmek için listenin yanındaki klasör simgesini kullanabilirsiniz.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Kopyalamak için sanal sabit sürücü dosyasını seçin...</translation>
+        <translation type="obsolete">Kopyalamak için sanal sabit sürücü dosyasını seçin...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Sabit sürücü dosyası türü</translation>
+        <translation type="obsolete">Sabit sürücü dosyası türü</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Lütfen yeni sanal sabit sürücü için kullanmak istediğiniz dosyanın türünü seçin. Eğer diğer sanallaştırma yazılımları ile kullanmaya ihtiyacınız yoksa bu ayarı değiştirmeden bırakabilirsiniz.</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü için kullanmak istediğiniz dosyanın türünü seçin. Eğer diğer sanallaştırma yazılımları ile kullanmaya ihtiyacınız yoksa bu ayarı değiştirmeden bırakabilirsiniz.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Fiziksel sabit sürücü depolama</translation>
+        <translation type="obsolete">Fiziksel sabit sürücü depolama</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Lütfen yeni sanal sabit sürücü dosyasının kullanılmasına göre (değişken olarak ayrılan) büyüyüp büyümemesini ya da en fazla boyutunda (sabitlenmiş boyut) oluşturulup oluşturulmamalıysa seçin.</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü dosyasının kullanılmasına göre (değişken olarak ayrılan) büyüyüp büyümemesini ya da en fazla boyutunda (sabitlenmiş boyut) oluşturulup oluşturulmamalıysa seçin.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Değişken olarak ayrılan</b> sabit sürücü dosyası sadece fiziksel sabit sürücünüzdeki alanı doldurarak (en fazla <b>sabitlenmiş boyuta</b> kadar) kullanacak olmasına rağmen alan serbest kaldığında otomatik olarak tekrar küçülmeyecektir.</p></translation>
+        <translation type="obsolete"><p><b>Değişken olarak ayrılan</b> sabit sürücü dosyası sadece fiziksel sabit sürücünüzdeki alanı doldurarak (en fazla <b>sabitlenmiş boyuta</b> kadar) kullanacak olmasına rağmen alan serbest kaldığında otomatik olarak tekrar küçülmeyecektir.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>Sabitlenmiş boyutlu</b> sabit sürücü dosyasını oluşturmak bazı sistemlerde uzun sürebilir ama kullanması çoğu kez en hızlı olandır.</p></translation>
+        <translation type="obsolete"><p><b>Sabitlenmiş boyutlu</b> sabit sürücü dosyasını oluşturmak bazı sistemlerde uzun sürebilir ama kullanması çoğu kez en hızlı olandır.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Ayrıca sabit sürücü dosyasını her biri iki gigabayta kadar birkaç dosyaya <b>bölmeyi</b> seçebilirsiniz. Bu çoğunlukla eğer sanal makineyi kaldırılabilir USB aygıtlarda veya çok büyük dosyalarla başa çıkamayan bazı eski sistemlerde depolamak isterseniz faydalıdır.</translation>
+        <translation type="obsolete"><p>Ayrıca sabit sürücü dosyasını her biri iki gigabayta kadar birkaç dosyaya <b>bölmeyi</b> seçebilirsiniz. Bu çoğunlukla eğer sanal makineyi kaldırılabilir USB aygıtlarda veya çok büyük dosyalarla başa çıkamayan bazı eski sistemlerde depolamak isterseniz faydalıdır.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -9847,19 +10829,19 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Lütfen yeni sanal sabit sürücü dosyası için bir yer seçin</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü dosyası için bir yer seçin</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>Oluşturmak için yeni sabit sürücü</translation>
+        <translation type="obsolete">Oluşturmak için yeni sabit sürücü</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Lütfen aşağıdaki kutuya yeni sanal sabit sürücü dosyasının adını yazın ya da içine oluşturulacak farklı bir klasörü seçmek için klasör simgesine tıklayın.</translation>
+        <translation type="obsolete">Lütfen aşağıdaki kutuya yeni sanal sabit sürücü dosyasının adını yazın ya da içine oluşturulacak farklı bir klasörü seçmek için klasör simgesine tıklayın.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Yeni sanal sabit sürücü dosyası için bir yer seçin...</translation>
+        <translation type="obsolete">Yeni sanal sabit sürücü dosyası için bir yer seçin...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -9868,15 +10850,87 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>&Kopyalamak için sabit sürücü</translation>
+        <translation type="obsolete">&Kopyalamak için sabit sürücü</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>Oluşturmak için &yeni sabit sürücü</translation>
+        <translation type="obsolete">Oluşturmak için &yeni sabit sürücü</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Sabit sürücü dosyası &türü</translation>
+        <translation type="obsolete">Sabit sürücü dosyası &türü</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9919,7 +10973,7 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>Lütfen oluşturmak istediğiniz çoğaltma türünü seçin.</p><p>Eğer <b>Tam çoğaltma</b> seçerseniz, orijinal sanal makinenin tam bir kopyası (tüm sanal sabit sürücü dosyaları dahil) oluşturulacaktır.</p><p>Eğer <b>Birbirine bağlantılı çoğaltma</b> seçerseniz, yeni bir sanal makine oluşturulacaktır ama sanal sabit sürücü dosyaları orijinal makinenin sanal sabit sürücü dosyalarına bağlanacaktır ve yeni sanal makineyi [...]
+        <translation type="obsolete"><p>Lütfen oluşturmak istediğiniz çoğaltma türünü seçin.</p><p>Eğer <b>Tam çoğaltma</b> seçerseniz, orijinal sanal makinenin tam bir kopyası (tüm sanal sabit sürücü dosyaları dahil) oluşturulacaktır.</p><p>Eğer <b>Birbirine bağlantılı çoğaltma</b> seçerseniz, yeni bir sanal makine oluşturulacaktır ama sanal sabit sürücü dosyaları orijinal makinenin sanal sabit sürücü dosyalarına bağlanacaktır ve yen [...]
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -9977,6 +11031,10 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
         <source>&Linked Clone</source>
         <translation>&Birbirine Bağlantılı Çoğaltma</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -10253,7 +11311,7 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>Sanal Sabit Sürücü Oluştur</translation>
+        <translation type="obsolete">Sanal Sabit Sürücü Oluştur</translation>
     </message>
     <message>
         <source>Create</source>
@@ -10261,31 +11319,31 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Sabit sürücü dosyası türü</translation>
+        <translation type="obsolete">Sabit sürücü dosyası türü</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>Lütfen yeni sanal sabit sürücü için kullanmak istediğiniz dosyanın türünü seçin. Eğer diğer sanallaştırma yazılımları ile kullanmaya ihtiyacınız yoksa bu ayarı değiştirmeden bırakabilirsiniz.</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü için kullanmak istediğiniz dosyanın türünü seçin. Eğer diğer sanallaştırma yazılımları ile kullanmaya ihtiyacınız yoksa bu ayarı değiştirmeden bırakabilirsiniz.</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>Fiziksel sabit sürücüde depolama</translation>
+        <translation type="obsolete">Fiziksel sabit sürücüde depolama</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>Lütfen yeni sanal sabit sürücü dosyasının kullanılmasına göre (değişken olarak ayrılan) büyüyüp büyümemesini ya da en fazla boyutunda (sabitlenmiş boyut) oluşturulup oluşturulmamalıysa seçin.</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü dosyasının kullanılmasına göre (değişken olarak ayrılan) büyüyüp büyümemesini ya da en fazla boyutunda (sabitlenmiş boyut) oluşturulup oluşturulmamalıysa seçin.</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>Değişken olarak ayrılan</b> sabit sürücü dosyası sadece fiziksel sabit sürücünüzdeki alanı doldurarak (en fazla <b>sabitlenmiş boyuta</b> kadar) kullanacak olmasına rağmen alan serbest kaldığında otomatik olarak tekrar küçülmeyecektir.</p></translation>
+        <translation type="obsolete"><p><b>Değişken olarak ayrılan</b> sabit sürücü dosyası sadece fiziksel sabit sürücünüzdeki alanı doldurarak (en fazla <b>sabitlenmiş boyuta</b> kadar) kullanacak olmasına rağmen alan serbest kaldığında otomatik olarak tekrar küçülmeyecektir.</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>Sabitlenmiş boyutlu</b> sabit sürücü dosyasını oluşturmak bazı sistemlerde uzun sürebilir ama kullanması çoğu kez en hızlı olandır.</p></translation>
+        <translation type="obsolete"><p><b>Sabitlenmiş boyutlu</b> sabit sürücü dosyasını oluşturmak bazı sistemlerde uzun sürebilir ama kullanması çoğu kez en hızlı olandır.</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>Ayrıca sabit sürücü dosyasını her biri iki gigabayta kadar birkaç dosyaya <b>bölmeyi</b> seçebilirsiniz. Bu çoğunlukla eğer sanal makineyi kaldırılabilir USB aygıtlarda veya çok büyük dosyalarla başa çıkamayan bazı eski sistemlerde depolamak isterseniz faydalıdır.</translation>
+        <translation type="obsolete"><p>Ayrıca sabit sürücü dosyasını her biri iki gigabayta kadar birkaç dosyaya <b>bölmeyi</b> seçebilirsiniz. Bu çoğunlukla eğer sanal makineyi kaldırılabilir USB aygıtlarda veya çok büyük dosyalarla başa çıkamayan bazı eski sistemlerde depolamak isterseniz faydalıdır.</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -10309,15 +11367,15 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Lütfen aşağıdaki kutuya yeni sanal sabit sürücü dosyasının adını yazın ya da içine oluşturulacak farklı bir klasörü seçmek için klasör simgesine tıklayın.</translation>
+        <translation type="obsolete">Lütfen aşağıdaki kutuya yeni sanal sabit sürücü dosyasının adını yazın ya da içine oluşturulacak farklı bir klasörü seçmek için klasör simgesine tıklayın.</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Yeni sanal sabit sürücü dosyası için bir yer seçin...</translation>
+        <translation type="obsolete">Yeni sanal sabit sürücü dosyası için bir yer seçin...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>Megabayt olarak sanal sabit sürücünün boyutunu seçin. Bu boyut sabit sürücüdeki depolanabilecek bir sanal makine dosya verisinin miktarını sınırlandırır.</translation>
+        <translation type="obsolete">Megabayt olarak sanal sabit sürücünün boyutunu seçin. Bu boyut sabit sürücüdeki depolanabilecek bir sanal makine dosya verisinin miktarını sınırlandırır.</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -10329,7 +11387,55 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>Sabit sürücü dosyası &türü</translation>
+        <translation type="obsolete">Sabit sürücü dosyası &türü</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10380,15 +11486,15 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>Sabit sürücü</translation>
+        <translation type="obsolete">Sabit sürücü</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation>Eğer isterseniz yeni makineye sanal bir sabit sürücü ekleyebilirsiniz. Ya yeni bir sabit sürücü dosyası oluşturabilirsiniz ya da listeden veya klasör simgesini kullanarak başka bir yerden birini seçebilirsiniz.</p><p>Eğer daha karışık depolama ayarlamasına ihtiyacınız varsa bu adımı atlayabilir ve makine bir kere oluşturuldumu makine ayarlarından değişiklikleri yapabilirsiniz.</p><p>Sabit sürücü için önerilen boyut <b>%1</b>.</p [...]
+        <translation type="obsolete">Eğer isterseniz yeni makineye sanal bir sabit sürücü ekleyebilirsiniz. Ya yeni bir sabit sürücü dosyası oluşturabilirsiniz ya da listeden veya klasör simgesini kullanarak başka bir yerden birini seçebilirsiniz.</p><p>Eğer daha karışık depolama ayarlamasına ihtiyacınız varsa bu adımı atlayabilir ve makine bir kere oluşturuldumu makine ayarlarından değişiklikleri yapabilirsiniz.</p><p>Sabit sürücü için önerilen boyut <b>%1& [...]
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>Sanal sabit sürücü dosyası seçin...</translation>
+        <translation type="obsolete">Sanal sabit sürücü dosyası seçin...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -10396,15 +11502,39 @@ bu basamağı atlayarak sabit diskleri Sanal Makine Ayarları penceresinden ekle
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>Sanal bir sabit sürücü &ekleme</translation>
+        <translation type="obsolete">Sanal bir sabit sürücü &ekleme</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>Şimdi sanal bir sabit sürücü &oluştur</translation>
+        <translation type="obsolete">Şimdi sanal bir sabit sürücü &oluştur</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>Mevcut sanal bir sabit sürücü dosyası &kullan</translation>
+        <translation type="obsolete">Mevcut sanal bir sabit sürücü dosyası &kullan</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">Sanal bir sabit disk dosyası seçin...</translation>
     </message>
 </context>
 <context>
@@ -11352,7 +12482,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Farklı bir klasör seçmek için bir pencere açar.</translation>
+        <translation type="obsolete">Farklı bir klasör seçmek için bir pencere açar.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11360,7 +12490,7 @@ Version %1</source>
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Farklı bir dosya seçmek için bir pencere açar.</translation>
+        <translation type="obsolete">Farklı bir dosya seçmek için bir pencere açar.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -11372,16 +12502,32 @@ Version %1</source>
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Lütfen buraya klasör yolunu yazın.</translation>
+        <translation type="obsolete">Lütfen buraya klasör yolunu yazın.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Lütfen buraya dosya yolunu yazın.</translation>
+        <translation type="obsolete">Lütfen buraya dosya yolunu yazın.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>Gerçek varsayılan yol değeri, değişiklikler kabul edildikten ve bu pencere tekrar açıldıktan sonra görüntülenecektir.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -12533,7 +13679,7 @@ Version %1</source>
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Takılan bu sabit disk yeni olarak oluşturulmuş ayrımlanan sabit disk kullanımını dolaylı olarak gerçekleştirecektir.</translation>
+        <translation type="unfinished">Takılan bu sabit disk yeni olarak oluşturulmuş ayrımlanan sabit disk kullanımını dolaylı olarak gerçekleştirecektir.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -12543,7 +13689,7 @@ Version %1</source>
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Bu ana sabit disk aşağıdaki ayrımlanan sabit diskleri kullanarak dolaylı olarak takılır:</translation>
+        <translation type="unfinished">Bu ana sabit disk aşağıdaki ayrımlanan sabit diskleri kullanarak dolaylı olarak takılır:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -12988,11 +14134,11 @@ Version %1</source>
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Lütfen sanal bir sabit sürücü dosyası seçin</translation>
+        <translation type="obsolete">Lütfen sanal bir sabit sürücü dosyası seçin</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Tüm sanal sabit sürücü dosyaları (%1)</translation>
+        <translation type="obsolete">Tüm sanal sabit sürücü dosyaları (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -13036,7 +14182,7 @@ Version %1</source>
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Lütfen yeni sanal sabit sürücü dosyası için bir yer seçin</translation>
+        <translation type="obsolete">Lütfen yeni sanal sabit sürücü dosyası için bir yer seçin</translation>
     </message>
     <message>
         <source>Enabled</source>
@@ -13238,23 +14384,40 @@ Version %1</source>
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>Takılan bu sabit sürücü yeni olarak oluşturulmuş ayrımlanan sabit sürücüyü kullanarak dolaylı olarak gerçekleştirecektir.</translation>
+        <translation type="obsolete">Takılan bu sabit sürücü yeni olarak oluşturulmuş ayrımlanan sabit sürücüyü kullanarak dolaylı olarak gerçekleştirecektir.</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>Bu sabit sürücü zincirindeki dosyaların bazıları erişilemez. Lütfen bu dosyaları incelemek için Sanal Ortam Yönetcisi'ni kullanın.</translation>
+        <translation type="obsolete">Bu sabit sürücü zincirindeki dosyaların bazıları erişilemez. Lütfen bu dosyaları incelemek için Sanal Ortam Yönetcisi'ni kullanın.</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>Bu ana sabit sürücü aşağıdaki ayrımlanan sabit sürücüyü kullanarak dolaylı olarak takılır:</translation>
+        <translation type="obsolete">Bu ana sabit sürücü aşağıdaki ayrımlanan sabit sürücüyü kullanarak dolaylı olarak takılır:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation>Şifrelenmiş</translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14875,7 +16038,7 @@ Bu özellik Misafir Eklentilerinin yüklü olmasını gerektirir.</qt></tr
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Seçilen anlık görüntünün ayrıntılarını göster</translation>
+        <translation type="obsolete">Seçilen anlık görüntünün ayrıntılarını göster</translation>
     </message>
     <message>
         <source>Ctrl+Space</source>
@@ -14895,11 +16058,11 @@ Bu özellik Misafir Eklentilerinin yüklü olmasını gerektirir.</qt></tr
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Sanal makinenin seçilen anlık görüntüsünü geri yükle</translation>
+        <translation type="obsolete">Sanal makinenin seçilen anlık görüntüsünü geri yükle</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Sanal makinenin seçilen anlık görüntüsünü sil</translation>
+        <translation type="obsolete">Sanal makinenin seçilen anlık görüntüsünü sil</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -14911,7 +16074,23 @@ Bu özellik Misafir Eklentilerinin yüklü olmasını gerektirir.</qt></tr
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Seçilen sanal makineyi çoğalt</translation>
+        <translation type="obsolete">Seçilen sanal makineyi çoğalt</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -14965,6 +16144,10 @@ Bu özellik Misafir Eklentilerinin yüklü olmasını gerektirir.</qt></tr
             <numerusform>Uyarı: Takılı %n sabit kalıba sahip çalışan makinenin anlık görüntüsünü alıyorsunuz. Bu anlık görüntüyle çalıştığınız sürece sabit kalıp(lar) veri kaybını önlemek için sıfırlanmayacaktır.</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Anlık Görüntü %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
index 9f3b55d..f581504 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts
@@ -260,7 +260,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>Авторозмір гостьового екрану при зміненні розміру вікна (вимагається гостьові доповнення)</translation>
+        <translation type="obsolete">Авторозмір гостьового екрану при зміненні розміру вікна (вимагається гостьові доповнення)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -344,7 +344,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>Відправити сигнал ACPI вимикання живлення віртуальній машині</translation>
+        <translation type="obsolete">Відправити сигнал ACPI вимикання живлення віртуальній машині</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -380,7 +380,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>Змінити налаштування мережевих адаптерів</translation>
+        <translation type="obsolete">Змінити налаштування мережевих адаптерів</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -388,7 +388,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>Відкрити діалог для керування спільними теками</translation>
+        <translation type="obsolete">Відкрити діалог для керування спільними теками</translation>
     </message>
     <message>
         <source>Enable or disable remote desktop (RDP) connections to this machine</source>
@@ -533,7 +533,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>Керувати налаштуваннями віртуальної машини</translation>
+        <translation type="obsolete">Керувати налаштуваннями віртуальної машини</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -576,11 +576,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>&Налаштування...</translation>
+        <translation type="obsolete">&Налаштування...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>Показати вікно загальних налаштувань</translation>
+        <translation type="obsolete">Показати вікно загальних налаштувань</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -596,7 +596,7 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>Створити нову віртуальну машину</translation>
+        <translation type="obsolete">Створити нову віртуальну машину</translation>
     </message>
     <message>
         <source>&Add...</source>
@@ -604,7 +604,7 @@
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>Додати наявну віртуальну машину</translation>
+        <translation type="obsolete">Додати наявну віртуальну машину</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -612,7 +612,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Клонувати вибрану віртуальну машину</translation>
+        <translation type="obsolete">Клонувати вибрану віртуальну машину</translation>
     </message>
     <message>
         <source>&Remove</source>
@@ -652,11 +652,11 @@
     </message>
     <message>
         <source>Re&fresh</source>
-        <translation type="obsolete">&Оновити</translation>
+        <translation type="unfinished">&Оновити</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>Оновити доступність стану вибраної віртуальної машини</translation>
+        <translation type="obsolete">Оновити доступність стану вибраної віртуальної машини</translation>
     </message>
     <message>
         <source>Show &Log...</source>
@@ -664,11 +664,11 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>Показати файли журналу вибраної віртуальної машини</translation>
+        <translation type="obsolete">Показати файли журналу вибраної віртуальної машини</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>Показувати в пошуку</translation>
+        <translation type="obsolete">Показувати в пошуку</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -676,7 +676,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>Показувати в переглядачі</translation>
+        <translation type="obsolete">Показувати в переглядачі</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -684,15 +684,15 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>Показувати у файловому менеджері</translation>
+        <translation type="obsolete">Показувати у файловому менеджері</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>Показувати визначення файла віртуальної машин у файловому менеджері</translation>
+        <translation type="obsolete">Показувати визначення файла віртуальної машин у файловому менеджері</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>Створити назву на стільниці</translation>
+        <translation type="obsolete">Створити назву на стільниці</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -700,7 +700,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>Створити скорочення на стільниці</translation>
+        <translation type="obsolete">Створити скорочення на стільниці</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -716,7 +716,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>Зробити знімок віртуальної машини</translation>
+        <translation type="obsolete">Зробити знімок віртуальної машини</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -772,7 +772,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>Показати керування мережевими операціями</translation>
+        <translation type="obsolete">Показати керування мережевими операціями</translation>
     </message>
     <message>
         <source>C&heck for Updates...</source>
@@ -788,7 +788,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>Показати вікно з інформацією про продукцію</translation>
+        <translation type="obsolete">Показати вікно з інформацією про продукцію</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -812,23 +812,23 @@
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>Перейменувати вибрану групу віртуальних машин</translation>
+        <translation type="obsolete">Перейменувати вибрану групу віртуальних машин</translation>
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>&Розгрупувати…</translation>
+        <translation type="obsolete">&Розгрупувати…</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>Розгрупувати пункти вибраної групи віртуальних машин</translation>
+        <translation type="obsolete">Розгрупувати пункти вибраної групи віртуальних машин</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>Упорядкувати</translation>
+        <translation type="obsolete">Упорядкувати</translation>
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>Впорядкувати пункти вибраної групи віртуальних машин за алфавітом</translation>
+        <translation type="obsolete">Впорядкувати пункти вибраної групи віртуальних машин за алфавітом</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -836,7 +836,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>Додати нові групи, основані на пунктах вибраного</translation>
+        <translation type="obsolete">Додати нові групи, основані на пунктах вибраного</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -844,75 +844,71 @@
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>Вилучити вибрані віртуальні машини</translation>
+        <translation type="obsolete">Вилучити вибрані віртуальні машини</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>Запустити вибрану віртуальну машину</translation>
+        <translation type="obsolete">Запустити вибрану віртуальну машину</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>Перемкнутись до вікон вибраних віртуальних машин</translation>
+        <translation type="obsolete">Перемкнутись до вікон вибраних віртуальних машин</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>Призупинити виконання вибраних віртуальних машин</translation>
+        <translation type="obsolete">Призупинити виконання вибраних віртуальних машин</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>Перезапустити вибрані віртуальні машини</translation>
+        <translation type="obsolete">Перезапустити вибрані віртуальні машини</translation>
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>Від&кинути збережений стан…</translation>
+        <translation type="obsolete">Від&кинути збережений стан…</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>Відкинути збережений стан вибраних віртуальних машин</translation>
+        <translation type="obsolete">Відкинути збережений стан вибраних віртуальних машин</translation>
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>&Оновити…</translation>
+        <translation type="obsolete">&Оновити…</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>Показувати файл визначення віртуальної машини у пошуку</translation>
+        <translation type="obsolete">Показувати файл визначення віртуальної машини у пошуку</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>Показувати файл визначення віртуальної машини у переглядачі</translation>
+        <translation type="obsolete">Показувати файл визначення віртуальної машини у переглядачі</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Створює файл назви для файла визначення віртуальної машини на вашій стільниці</translation>
+        <translation type="obsolete">Створює файл назви для файла визначення віртуальної машини на вашій стільниці</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>Створює файл скорочення для файла визначення віртуальної машини на вашій стільниці</translation>
+        <translation type="obsolete">Створює файл скорочення для файла визначення віртуальної машини на вашій стільниці</translation>
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>Упорядкувати групи перших вибраних машин за алфавітом</translation>
+        <translation type="obsolete">Упорядкувати групи перших вибраних машин за алфавітом</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>Зберегти стан</translation>
+        <translation type="obsolete">Зберегти стан</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>Зберегти стан вибраної віртуальної машини </translation>
+        <translation type="obsolete">Зберегти стан вибраної віртуальної машини </translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>Надіслати натиск кнопки живлення ACPI до вибраної віртуальної машини</translation>
+        <translation type="obsolete">Надіслати натиск кнопки живлення ACPI до вибраної віртуальної машини</translation>
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>Вимкнути вибрану віртуальну машину</translation>
-    </message>
-    <message>
-        <source>Save the machine state of the virtual machine</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Вимкнути вибрану віртуальну машину</translation>
     </message>
     <message>
         <source>&Network Settings...</source>
@@ -927,242 +923,294 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Network</source>
+        <translation type="obsolete">Мережа</translation>
+    </message>
+    <message>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>&File</source>
+        <translation type="unfinished">&Файл</translation>
+    </message>
+    <message>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
-        <translation type="unfinished">Мережа</translation>
+        <source>Enable host mouse pointer integration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Logging</source>
         <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
-        <translation type="unfinished">&Файл</translation>
+        <source>&Detachable Start</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
@@ -1174,9 +1222,181 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">Перегляд монітору %1 </translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">Не під'єднано жодного пристрою USB</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">Нема підтримки пристроїв, які під'єднанні до головного комп'ютера</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIActionPoolRuntime</name>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="obsolete">Ввімкнути</translation>
+    </message>
+    <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation type="unfinished">%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1194,6 +1414,30 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1247,15 +1491,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>Контролер жорсткого диска IDE</translation>
+        <translation type="obsolete">Контролер жорсткого диска IDE</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>Контролер жорсткого диска SATA</translation>
+        <translation type="obsolete">Контролер жорсткого диска SATA</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>Контролер жорсткого диска SCSI</translation>
+        <translation type="obsolete">Контролер жорсткого диска SCSI</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1313,7 +1557,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>Контролер жорсткого диска (SAS)</translation>
+        <translation type="obsolete">Контролер жорсткого диска (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1323,6 +1567,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>Пере&запустити адреси MAC усіх мережевих плат</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -2011,18 +2271,15 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
-    <message>
-        <source>Retrieving data ...</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIDnDHandler</name>
     <message>
         <source>Dropping data ...</source>
         <translation>Викидання даних …</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -2100,33 +2357,6 @@
     </message>
 </context>
 <context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>ID</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>password table field</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
-</context>
-<context>
     <name>UIExportApplianceWzd</name>
     <message>
         <source>Select a file to export into</source>
@@ -3142,7 +3372,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>Вказує максимальну висоту, яку слід використоувати у гостьовій системі.</translation>
+        <translation type="obsolete">Вказує максимальну висоту, яку слід використоувати у гостьовій системі.</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -3173,18 +3403,26 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>Вказує максимальну ширину, яку слід використовувати в гостьовій системі.</translation>
+        <translation type="obsolete">Вказує максимальну ширину, яку слід використовувати в гостьовій системі.</translation>
     </message>
     <message>
         <source>Machine Windows:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3212,26 +3450,42 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Add package</source>
-        <translation>Додати пакунок</translation>
+        <translation type="obsolete">Додати пакунок</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>Вилучити пакунок</translation>
+        <translation type="obsolete">Вилучити пакунок</translation>
+    </message>
+    <message>
+        <source>Select an extension package file</source>
+        <translation>Виберіть файл пакунка розширення</translation>
+    </message>
+    <message>
+        <source>Extension package files (%1)</source>
+        <translation>Файл пакунка розширення (%1)</translation>
+    </message>
+    <message>
+        <source>Extensions</source>
+        <translation>Розширення</translation>
+    </message>
+    <message>
+        <source>&Extension Packages</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
-        <translation>Виберіть файл пакунка розширення</translation>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
-        <translation>Файл пакунка розширення (%1)</translation>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
-        <translation>Розширення</translation>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3290,15 +3544,15 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">Вимкнути &зберігач головного екрана</translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3353,11 +3607,11 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3537,15 +3791,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>&Додати лише головну мережу</translation>
+        <translation type="obsolete">&Додати лише головну мережу</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>&Вилучити лише головну мережу</translation>
+        <translation type="obsolete">&Вилучити лише головну мережу</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>&Редагувати лише головну мережу</translation>
+        <translation type="obsolete">&Редагувати лише головну мережу</translation>
     </message>
     <message>
         <source>Performing</source>
@@ -3686,15 +3940,51 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">Активні</translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3809,7 +4099,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished">Використати ручне налаштування для цього адаптера лише головної мережі.</translation>
+        <translation type="obsolete">Використати ручне налаштування для цього адаптера лише головної мережі.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3853,7 +4143,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished">Визначає, чи сервер DHCP увімкнутий при запуску машини.</translation>
+        <translation type="obsolete">Визначає, чи сервер DHCP увімкнутий при запуску машини.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3887,6 +4177,14 @@ p, li { white-space: pre-wrap; }
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished">Показує верхню межу адреси, яка пропонується сервером DHCP, забезпечуючи мережу, яка пов'язана з лише головним адаптером.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3899,10 +4197,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3927,32 +4221,40 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>Opens a window to manage port forwarding rules.</source>
+        <translation type="obsolete">Відкриває діалог, щоб установити правила переадресування порту.</translation>
+    </message>
+    <message>
+        <source>&Port Forwarding</source>
+        <translation type="unfinished">&Переадресування порту</translation>
+    </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished">Відкриває діалог, щоб установити правила переадресування порту.</translation>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
-        <translation type="unfinished">&Переадресування порту</translation>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3986,7 +4288,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>Змінити вузол проксі.</translation>
+        <translation type="obsolete">Змінити вузол проксі.</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3994,7 +4296,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>Змінити порт проксі.</translation>
+        <translation type="obsolete">Змінити порт проксі.</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -4028,6 +4330,14 @@ p, li { white-space: pre-wrap; }
         <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -4045,7 +4355,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>Визначає, як часто слід здійснювати перевірку нової версії. Майте на увазі, якщо ви бажаєте повністю відмовитись від перевірки, просто зніміть мітку.</translation>
+        <translation type="obsolete">Визначає, як часто слід здійснювати перевірку нової версії. Майте на увазі, якщо ви бажаєте повністю відмовитись від перевірки, просто зніміть мітку.</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -4079,6 +4389,10 @@ p, li { white-space: pre-wrap; }
         <source>All New Releases and &Pre-Releases</source>
         <translation>Усі н&ові випуски і підготовчі випуски</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -4497,7 +4811,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>Індикатори активності віртуальних жорстких дисків:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>Індикатори активності віртуальних жорстких дисків:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4583,7 +4897,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>Показує, чи захоплена клавіатура гостьовою операційною системою (<img src=:/hostkey_captured_16px.png/>), чи ні (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">Показує, чи захоплена клавіатура гостьовою операційною системою (<img src=:/hostkey_captured_16px.png/>), чи ні (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4629,6 +4943,15 @@ p, li { white-space: pre-wrap; }
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4649,11 +4972,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>Перегляд монітору %1 </translation>
+        <translation type="obsolete">Перегляд монітору %1 </translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>Зріз %1</translation>
+        <translation type="obsolete">Зріз %1</translation>
     </message>
     <message>
         <source>More CD/DVD Images...</source>
@@ -4689,32 +5012,16 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>Не під'єднано жодного пристрою USB</translation>
+        <translation type="obsolete">Не під'єднано жодного пристрою USB</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>Нема підтримки пристроїв, які під'єднанні до головного комп'ютера</translation>
+        <translation type="obsolete">Нема підтримки пристроїв, які під'єднанні до головного комп'ютера</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
         <translation>Вибрати назву для файла змінку…</translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -4732,7 +5039,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>Контролює вихідний аудіодрайвер.<b>Фіктивний аудіодрайвер</b> дозволить гостю бачити аудіоплату, проте будь-який доступ буде відмовлений.</translation>
+        <translation type="obsolete">Контролює вихідний аудіодрайвер.<b>Фіктивний аудіодрайвер</b> дозволить гостю бачити аудіоплату, проте будь-який доступ буде відмовлений.</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4742,6 +5049,10 @@ p, li { white-space: pre-wrap; }
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>Вибирає тип віртуальної звукової плати. Залежно від значення, VirtualBox буде забезпечувати різну аудіо апаратуру для віртуальної машини.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4751,7 +5062,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4807,7 +5118,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>Описує метод засвідчення VRDP.</translation>
+        <translation type="obsolete">Описує метод засвідчення VRDP.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4815,7 +5126,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>Показує час очікування засвідчення гостя, в мілісекундах.</translation>
+        <translation type="obsolete">Показує час очікування засвідчення гостя, в мілісекундах.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4831,7 +5142,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>Номер порту сервера VRDP. Ви можете вказати <tt>0</tt> (нуль), щоб вибрати порт 3389, який є стандартним для RDP.</translation>
+        <translation type="obsolete">Номер порту сервера VRDP. Ви можете вказати <tt>0</tt> (нуль), щоб вибрати порт 3389, який є стандартним для RDP.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4843,11 +5154,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>Вказує, чи дозволено багато одночасних з'єднаннь до віртуальної машини.</translation>
+        <translation type="obsolete">Вказує, чи дозволено багато одночасних з'єднаннь до віртуальної машини.</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4886,46 +5197,18 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4934,10 +5217,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4989,10 +5268,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Mini ToolBar:</source>
         <translation type="obsolete">Зменшена панель інструментів:</translation>
     </message>
@@ -5038,21 +5313,17 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">Просторове {100%?}</translation>
+        <translation type="obsolete">Просторове {100%?}</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">Просторове {200%?}</translation>
+        <translation type="obsolete">Просторове {200%?}</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5064,6 +5335,70 @@ p, li { white-space: pre-wrap; }
         <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsGeneral</name>
@@ -5073,7 +5408,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>Показує шлях, де будуть зберігатися зрізи цієї машини. Майте на увазі, зрізи можуть займати доволі чимало дискового простору.</translation>
+        <translation type="obsolete">Показує шлях, де будуть зберігатися зрізи цієї машини. Майте на увазі, зрізи можуть займати доволі чимало дискового простору.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -5316,10 +5651,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5356,6 +5687,14 @@ p, li { white-space: pre-wrap; }
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -5377,15 +5716,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation type="unfinished">Якщо це позначено, показувати зменшену панель інструментів в повноекранному і ціловикроєному режимі.</translation>
+        <translation type="obsolete">Якщо це позначено, показувати зменшену панель інструментів в повноекранному і ціловикроєному режимі.</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation type="unfinished">&Показувати в повноекранному/ціловикроєному</translation>
+        <translation type="obsolete">&Показувати в повноекранному/ціловикроєному</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation type="unfinished">Якщо це позначено, показувати зменшену панель інструментів зверху екрана, а не, як типово, знизу.</translation>
+        <translation type="obsolete">Якщо це позначено, показувати зменшену панель інструментів зверху екрана, а не, як типово, знизу.</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -5395,6 +5734,18 @@ p, li { white-space: pre-wrap; }
         <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -5456,7 +5807,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>Визначає, чи буде з'єднано віртуальний мережевий кабель під час запуску, чи ні.</translation>
+        <translation type="obsolete">Визначає, чи буде з'єднано віртуальний мережевий кабель під час запуску, чи ні.</translation>
     </message>
     <message>
         <source>Ca&ble Connected</source>
@@ -5521,7 +5872,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>Контролює, як цей віртуальний адаптер під'єднаний до справжньої мережі головної операційної системи.</translation>
+        <translation type="obsolete">Контролює, як цей віртуальний адаптер під'єднаний до справжньої мережі головної операційної системи.</translation>
     </message>
     <message>
         <source>Open additional options dialog for current attachment type.</source>
@@ -5541,7 +5892,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>Показує або ховає вдосконалені налаштування мережевого адаптера.</translation>
+        <translation type="obsolete">Показує або ховає вдосконалені налаштування мережевого адаптера.</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -5553,7 +5904,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>Відкриває діалог, щоб установити правила переадресування порту.</translation>
+        <translation type="obsolete">Відкриває діалог, щоб установити правила переадресування порту.</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -5573,7 +5924,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>Введіть будь-які налаштування для мережевого під'єднання драйвера, котрий ви використовуватимете. Налаштування слід записувати у формі <b>назва=значення</b> і це залежно від драйвера. Використайте <b>shift-enter</b>, щоб додати новий запис.</translation>
+        <translation type="obsolete">Введіть будь-які налаштування для мережевого під'єднання драйвера, котрий ви використовуватимете. Налаштування слід записувати у формі <b>назва=значення</b> і це залежно від драйвера. Використайте <b>shift-enter</b>, щоб додати новий запис.</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -5635,6 +5986,26 @@ p, li { white-space: pre-wrap; }
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetworkDetails</name>
@@ -5729,21 +6100,6 @@ p, li { white-space: pre-wrap; }
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>Показує базову адресу порту В/В цього паралельного порту. Правильне значення — ціле число від <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Цей номер порту вже використовується</translation>
-    </message>
-    <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Шлях до порту не вказаний</translation>
-    </message>
-    <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Цей шлях до порту вже використовується</translation>
-    </message>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -5761,8 +6117,23 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>There are currently duplicate port paths specified.</source>
-        <translation type="unfinished"></translation>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIMachineSettingsParallelPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Цей номер порту вже використовується</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Шлях до порту не вказаний</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Цей шлях до порту вже використовується</translation>
     </message>
 </context>
 <context>
@@ -5773,27 +6144,27 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>Ця таблиця містить перелік правил переадресування портів.</translation>
+        <translation type="obsolete">Ця таблиця містить перелік правил переадресування портів.</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>Встановлення нового правила</translation>
+        <translation type="obsolete">Встановлення нового правила</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>Скопіювати вибране правило</translation>
+        <translation type="obsolete">Скопіювати вибране правило</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>Вилучити вибране правило</translation>
+        <translation type="obsolete">Вилучити вибране правило</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>Ця кнопка додає нове правило переадресування порту.</translation>
+        <translation type="obsolete">Ця кнопка додає нове правило переадресування порту.</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>Ця кнопка вилучає вибране правило переадресування порту.</translation>
+        <translation type="obsolete">Ця кнопка вилучає вибране правило переадресування порту.</translation>
     </message>
 </context>
 <context>
@@ -5812,15 +6183,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>Додає означення спільної теки.</translation>
+        <translation type="obsolete">Додає означення спільної теки.</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>Редагує означення спільної теки.</translation>
+        <translation type="obsolete">Редагує означення спільної теки.</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>Вилучає означення спільної теки.</translation>
+        <translation type="obsolete">Вилучає означення спільної теки.</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5860,15 +6231,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>&Долучити спільну теку</translation>
+        <translation type="obsolete">&Долучити спільну теку</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>&Редагувати спільну теку</translation>
+        <translation type="obsolete">&Редагувати спільну теку</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>&Вилучити спільну теку</translation>
+        <translation type="obsolete">&Вилучити спільну теку</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5882,6 +6253,30 @@ p, li { white-space: pre-wrap; }
         <source>Yes</source>
         <translation>Так</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5931,7 +6326,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>Якщо це позначено, ця спільна тека буде незмінною.</translation>
+        <translation type="obsolete">Якщо це позначено, ця спільна тека буде незмінною.</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5979,7 +6378,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>Контролює режим роботи послідовного порту. Якщо ви вибрали <b>Від'єднаний</b>, гостьова операційна система розпізнає послідовний порт, але не зможе керувати ним.</translation>
+        <translation type="obsolete">Контролює режим роботи послідовного порту. Якщо ви вибрали <b>Від'єднаний</b>, гостьова операційна система розпізнає послідовний порт, але не зможе керувати ним.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -6010,10 +6409,6 @@ p, li { white-space: pre-wrap; }
         <translation>Показує базову адресу порту В/В цього послідовного порту. Правильне значення — ціле число від <tt>0</tt> до <tt>0xFFFF</tt>.</translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
@@ -6025,20 +6420,13 @@ p, li { white-space: pre-wrap; }
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
-    <message>
-        <source>Duplicate port number selected </source>
-        <translation type="obsolete">Цей номер порту вже використовується</translation>
-    </message>
     <message>
-        <source>Port path not specified </source>
-        <translation type="obsolete">Шлях до порту не вказаний</translation>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Duplicate port path entered </source>
-        <translation type="obsolete">Цей шлях до порту вже використовується</translation>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
@@ -6062,6 +6450,21 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
+    <name>UIMachineSettingsSerialPage</name>
+    <message>
+        <source>Duplicate port number selected </source>
+        <translation type="obsolete">Цей номер порту вже використовується</translation>
+    </message>
+    <message>
+        <source>Port path not specified </source>
+        <translation type="obsolete">Шлях до порту не вказаний</translation>
+    </message>
+    <message>
+        <source>Duplicate port path entered </source>
+        <translation type="obsolete">Цей шлях до порту вже використовується</translation>
+    </message>
+</context>
+<context>
     <name>UIMachineSettingsStorage</name>
     <message>
         <source>No hard disk is selected for <i>%1</i></source>
@@ -6141,11 +6544,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>Збільшити/зменшити&nbsp;пункт</nobr></translation>
+        <translation type="obsolete"><nobr>Збільшити/зменшити&nbsp;пункт</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>Додати&nbsp;жорсткий&nbsp;диск</nobr></translation>
+        <translation type="obsolete"><nobr>Додати&nbsp;жорсткий&nbsp;диск</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -6209,19 +6612,19 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>Додає новий контролер в кінець дерева пам'яті.</translation>
+        <translation type="obsolete">Додає новий контролер в кінець дерева пам'яті.</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>Вилучає контролер, який виділений у дереві пам'яті.</translation>
+        <translation type="obsolete">Вилучає контролер, який виділений у дереві пам'яті.</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>Додає нове долучення до дерева пам'яті, використовуючи поточно вибраний контролер як основний.</translation>
+        <translation type="obsolete">Додає нове долучення до дерева пам'яті, використовуючи поточно вибраний контролер як основний.</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>Вилучає долучення, яке виділене в дереві пам'яті.</translation>
+        <translation type="obsolete">Вилучає долучення, яке виділене в дереві пам'яті.</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -6257,7 +6660,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>Містить всі контролери пам'яті для цієї машини і віртуальні образи та головні драйвери, які долучено до них.</translation>
+        <translation type="obsolete">Містить всі контролери пам'яті для цієї машини і віртуальні образи та головні драйвери, які долучено до них.</translation>
     </message>
     <message>
         <source>Information</source>
@@ -6277,7 +6680,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>Змінює назву контролера пам'яті, який поточно вибрано в дереві пам'яті.</translation>
+        <translation type="obsolete">Змінює назву контролера пам'яті, який поточно вибрано в дереві пам'яті.</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -6345,7 +6748,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>Дозволяє використовувати можливості кешування головного В/В.</translation>
+        <translation type="obsolete">Дозволяє використовувати можливості кешування головного В/В.</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -6377,7 +6780,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Image</source>
-        <translation>Образ</translation>
+        <translation type="obsolete">Образ</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -6385,7 +6788,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>Налаштувати віртуальний жорсткий диск</translation>
+        <translation type="obsolete">Налаштувати віртуальний жорсткий диск</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -6409,15 +6812,15 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>Налаштувати віртуальний носій дискет</translation>
+        <translation type="obsolete">Налаштувати віртуальний носій дискет</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>Створити новий жорсткий диск…</translation>
+        <translation type="obsolete">Створити новий жорсткий диск…</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>Вибрати файл віртуального жорсткого диска…</translation>
+        <translation type="obsolete">Вибрати файл віртуального жорсткого диска…</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -6429,11 +6832,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>Вибрати файл віртуальної дискети…</translation>
+        <translation type="obsolete">Вибрати файл віртуальної дискети…</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>Якщо позначено, віртуальний диск не буде вилучено, коли його витягнуто з гостьової системи.</translation>
+        <translation type="obsolete">Якщо позначено, віртуальний диск не буде вилучено, коли його витягнуто з гостьової системи.</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -6441,7 +6844,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>Якщо позначено, гостьова система бачитиме віртуальні диск як твердотільний пристрій.</translation>
+        <translation type="obsolete">Якщо позначено, гостьова система бачитиме віртуальні диск як твердотільний пристрій.</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -6510,47 +6913,112 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>Add Floppy Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">Образ</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6582,12 +7050,12 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;МБ</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;МБ</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;процесор</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;процесор</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
@@ -6620,7 +7088,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>Пересунути нижче (Ctrl-Down)</translation>
+        <translation type="obsolete">Пересунути нижче (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -6628,7 +7096,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>Пересунути вище (Ctrl-Up)</translation>
+        <translation type="obsolete">Пересунути вище (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -6701,7 +7169,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;процесорів</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;процесорів</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -6713,7 +7181,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>Якщо це позначено, пристрій RTC буде доповідати про час в UTC, якщо ні, то в локальному часі головної машини. Unix переважно використовує апаратний годинник для встановлення UTC.</translation>
+        <translation type="obsolete">Якщо це позначено, пристрій RTC буде доповідати про час в UTC, якщо ні, то в локальному часі головної машини. Unix переважно використовує апаратний годинник для встановлення UTC.</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -6762,12 +7230,12 @@ p, li { white-space: pre-wrap; }
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -6825,56 +7293,82 @@ p, li { white-space: pre-wrap; }
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 МБ</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>&Додати порожній фільтр</translation>
+        <translation type="obsolete">&Додати порожній фільтр</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>Д&одати фільтр з пристрою</translation>
+        <translation type="obsolete">Д&одати фільтр з пристрою</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>&Редагувати фільтр</translation>
+        <translation type="obsolete">&Редагувати фільтр</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>&Вилучити фільтр</translation>
+        <translation type="obsolete">&Вилучити фільтр</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>&Пересунути фільтр вверх</translation>
+        <translation type="obsolete">&Пересунути фільтр вверх</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>П&ересунути фільтр вниз</translation>
+        <translation type="obsolete">П&ересунути фільтр вниз</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>Додає новий фільтр USB з порожніми початковими значеннями полів. Зауважте, що такий фільтр відповідатиме будь-якому з'єднаному пристрою USB.</translation>
+        <translation type="obsolete">Додає новий фільтр USB з порожніми початковими значеннями полів. Зауважте, що такий фільтр відповідатиме будь-якому з'єднаному пристрою USB.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>Додає новий фільтр USB з початковими значеннями полів, вибраним для пристрою USB, з'єднаного з головним комп'ютером.</translation>
+        <translation type="obsolete">Додає новий фільтр USB з початковими значеннями полів, вибраним для пристрою USB, з'єднаного з головним комп'ютером.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>Редагує вибраний фільтр USB.</translation>
+        <translation type="obsolete">Редагує вибраний фільтр USB.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>Вилучає вибраний фільтр USB.</translation>
+        <translation type="obsolete">Вилучає вибраний фільтр USB.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>Пересуває вибраний фільтр USB вгору.</translation>
+        <translation type="obsolete">Пересуває вибраний фільтр USB вгору.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>Пересуває вибраний фільтр USB вниз.</translation>
+        <translation type="obsolete">Пересуває вибраний фільтр USB вниз.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -6891,7 +7385,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>Якщо це позначено, на цій машині буде увімкнено віртуальний контролер USB EHCI. Контролер USB EHCI забезпечує підтримку USB 2.0.</translation>
+        <translation type="obsolete">Якщо це позначено, на цій машині буде увімкнено віртуальний контролер USB EHCI. Контролер USB EHCI забезпечує підтримку USB 2.0.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6958,27 +7452,79 @@ p, li { white-space: pre-wrap; }
         <translation type="obsolete">USB 2.0 тепер увімкнуто для цієї віртуальної машини. Однак, це потребує встановити <b>%1</b>. Будь ласка, встановіть пакунок розширень із сайту звантаження VirtualBox. Після цього ви зможете перезапустити USB 2.0. Покищо це вимкнуто, поки ви не скасуєте поточні зміни налаштувань.</translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7013,7 +7559,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Описує фільтр за ID продавця. Формат рядка <i>точна відповідність</i> — <tt>XXXX</tt>, де <tt>X</tt> — шістнадцяткова цифра. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр за ID продавця. Формат рядка <i>точна відповідність</i> — <tt>XXXX</tt>, де <tt>X</tt> — шістнадцяткова цифра. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -7021,7 +7567,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>Описує фільтр за ID продукту. Формат рядка <i>точна відповідність</i> — <tt>XXXX</tt>, де <tt>X</tt> — шістнадцяткова цифра. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр за ID продукту. Формат рядка <i>точна відповідність</i> — <tt>XXXX</tt>, де <tt>X</tt> — шістнадцяткова цифра. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -7029,7 +7575,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>Описує номер перегляду фільтра. Формат рядка <i>точна відповідність</i> — <tt>IIFF</tt>, де <tt>I</tt> — десяткове число цілої частини та <tt>F</tt> — десяткове число дробової частини. Пустий рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує номер перегляду фільтра. Формат рядка <i>точна відповідність</i> — <tt>IIFF</tt>, де <tt>I</tt> — десяткове число цілої частини та <tt>F</tt> — десяткове число дробової частини. Пустий рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -7037,7 +7583,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Описує фільтр виробника як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр виробника як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -7045,7 +7591,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Описує фільтр продукту як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр продукту як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -7053,7 +7599,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Описує фільтр серійного номера як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр серійного номера як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -7061,7 +7607,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>Описує фільтр головного порту USB як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
+        <translation type="obsolete">Описує фільтр головного порту USB як рядок <i>точна відповідність</i>. Порожній рядок відповідає будь-якому значенню.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -7069,7 +7615,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>Описує, чи цей фільтр застосовується до пристроїв USB локально під'єднаних до головного комп'ютера (<i>Ні</i>), чи до комп'ютера клієнта VRDP (<i>Так</i>), або до (<i>Обох</i>).</translation>
+        <translation type="obsolete">Описує, чи цей фільтр застосовується до пристроїв USB локально під'єднаних до головного комп'ютера (<i>Ні</i>), чи до комп'ютера клієнта VRDP (<i>Так</i>), або до (<i>Обох</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -7083,6 +7629,38 @@ p, li { white-space: pre-wrap; }
         <source>USB Filter Details</source>
         <translation>Подробиці про фільтр USB</translation>
     </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineWindow</name>
@@ -7102,7 +7680,7 @@ p, li { white-space: pre-wrap; }
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>&Жорсткі диски</translation>
+        <translation type="obsolete">&Жорсткі диски</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -7124,6 +7702,10 @@ p, li { white-space: pre-wrap; }
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -7588,7 +8170,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>Не вдалось перемкнути гостьовий екран у повноекранний режим через недостатній обсяг гостьової відеопам'яті.</p><p>Вам необхідно вказати мінімум <b>%1</b> відеопам'яті.</p><p>Натисніть <b>Ігнорувати</b>, щоб все одно перемкнутись у повноекранний режим або натисніть <b>Скасувати</b>, щоб скасувати операцію.</p></translation>
+        <translation type="obsolete"><p>Не вдалось перемкнути гостьовий екран у повноекранний режим через недостатній обсяг гостьової відеопам'яті.</p><p>Вам необхідно вказати мінімум <b>%1</b> відеопам'яті.</p><p>Натисніть <b>Ігнорувати</b>, щоб все одно перемкнутись у повноекранний режим або натисніть <b>Скасувати</b>, щоб скасувати операцію.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -7702,7 +8284,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>Бажаєте вилучити блок пам'яті жорсткого диска <nobr><b>%1</b></nobr>?</p><p>Якщо ви виберете <b>Вилучити</b>, вказаний блок пам'яті буде безповоротно вилучено. Цю операцію <b>неможливо скасувати</b>.</p><p>Якщо ви виберете <b>Затримати</b>, жорсткий диск буде вилучено лише зі списку жорстких дисків, але блок пам'яті залишиться недоторканим, що дозволить додати  [...]
+        <translation type="obsolete"><p>Бажаєте вилучити блок пам'яті жорсткого диска <nobr><b>%1</b></nobr>?</p><p>Якщо ви виберете <b>Вилучити</b>, вказаний блок пам'яті буде безповоротно вилучено. Цю операцію <b>неможливо скасувати</b>.</p><p>Якщо ви виберете <b>Затримати</b>, жорсткий диск буде вилучено лише зі списку жорстких дисків, але блок пам'яті залишиться недоторканим, що д [...]
     </message>
     <message>
         <source>Delete</source>
@@ -8078,11 +8660,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>Вилучення зрізу призведе до втрати збереженої інформації, і дані диска поширюються на кілька файлів, які було створено разом із іншими за допомогою об'єднання в один файл. Це може бути тривалим процесом, й інформація про зріз не може бути відновленою.</p></p>Упевнені, що бажаєте вилучити вибраний зріз <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>Вилучення зрізу призведе до втрати збереженої інформації, і дані диска поширюються на кілька файлів, які було створено разом із іншими за допомогою об'єднання в один файл. Це може бути тривалим процесом, й інформація про зріз не може бути відновленою.</p></p>Упевнені, що бажаєте вилучити вибраний зріз <b>%1</b>?</p></translation>
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>Вилучення зрізу %1 потребувати більше місця диска на деякий час. У найгіршому випадку розмір образу %2 може сягнути %3, утім на файловій системі вільно лише %4.</p><p>Брак місця протягом об'єднання може викривити образ і налаштування віртуальної машини, наприклад, втрата віртуальної машини і її даних.</p><p>Ви можете й надалі вилучати зріз на свій ризик.</p></translation>
+        <translation type="obsolete"><p>Вилучення зрізу %1 потребувати більше місця диска на деякий час. У найгіршому випадку розмір образу %2 може сягнути %3, утім на файловій системі вільно лише %4.</p><p>Брак місця протягом об'єднання може викривити образ і налаштування віртуальної машини, наприклад, втрата віртуальної машини і її даних.</p><p>Ви можете й надалі вилучати зріз на свій ризик.</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -8275,7 +8857,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>Вікно віртуальної машини буде перемкнуто на <b>повноекранний</b> режим. Можете повернутись до віконного режим у будь-який момент через натиснення <b>%1</b>.</p><p>Зауважте, <i>головну</i> клавішу визначено як <b>%2</b>.</p><p>Зауважте, що панель головного меню сховано в повноекранному режимі. Ви можете дістатись до неї через натиснення <b>головна клавіша+Home</b>.</p></ [...]
+        <translation type="obsolete"><p>Вікно віртуальної машини буде перемкнуто на <b>повноекранний</b> режим. Можете повернутись до віконного режим у будь-який момент через натиснення <b>%1</b>.</p><p>Зауважте, <i>головну</i> клавішу визначено як <b>%2</b>.</p><p>Зауважте, що панель головного меню сховано в повноекранному режимі. Ви можете дістатись до неї через натиснення <b>головна клавіша+Home</b& [...]
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -8585,10 +9167,6 @@ p, li { white-space: pre-wrap; }
         <translation><p>Неможливо створити теку машини <b>%1</b> в батьківській теці <nobr><b>%2</b>.</nobr></p><p>Ця тека вже існує і ймовірно належить іншій машині.</p></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not start the machine <b>%1</b> because the following physical network interfaces were not found:</p><p><b>%2</b></p><p>You can either change the machine's network settings or stop the machine.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8657,18 +9235,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished">&Вибрати диск</translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -8681,55 +9247,31 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Would you like to try to force insertion of this disk?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Would you like to try to force ejection of this disk?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
+        <source><p>Are you sure you want to remove the virtual floppy disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to insert the virtual optical disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Would you like to try to force insertion of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
+        <source><p>Unable to eject the virtual optical disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Would you like to try to force ejection of this disk?</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to insert the virtual floppy disk <nobr><b>%1</b></nobr> into the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
+        <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
@@ -8851,10 +9393,6 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8926,6 +9464,46 @@ p, li { white-space: pre-wrap; }
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetAdditions</name>
@@ -9860,27 +10438,82 @@ p, li { white-space: pre-wrap; }
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>Назва</translation>
+        <translation type="obsolete">Назва</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">Протокол</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">Головний IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">Головний порт</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">Гостьовий IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">Гостьовий порт</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">Назва</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>Протокол</translation>
+        <translation type="unfinished">Протокол</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>Головний IP</translation>
+        <translation type="unfinished">Головний IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>Головний порт</translation>
+        <translation type="unfinished">Головний порт</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>Гостьовий IP</translation>
+        <translation type="unfinished">Гостьовий IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>Гостьовий порт</translation>
+        <translation type="unfinished">Гостьовий порт</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10184,13 +10817,6 @@ p, li { white-space: pre-wrap; }
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -10200,6 +10826,10 @@ p, li { white-space: pre-wrap; }
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -10725,7 +11355,7 @@ p, li { white-space: pre-wrap; }
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>Скопіювати віртуальний жорсткий пристрій </translation>
+        <translation type="obsolete">Скопіювати віртуальний жорсткий пристрій </translation>
     </message>
     <message>
         <source>Copy</source>
@@ -10733,88 +11363,136 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>Жорсткий пристрій для копіювання</translation>
+        <translation type="obsolete">Жорсткий пристрій для копіювання</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>Виберіть файл жорсткого диска, який би ви бажали скопіювати, якщо ще не вибрано жодного. Можете вибрати один зі списку або скористатись піктограмою теки біля списку, щоб його вибрати.</p></translation>
+        <translation type="obsolete"><p>Виберіть файл жорсткого диска, який би ви бажали скопіювати, якщо ще не вибрано жодного. Можете вибрати один зі списку або скористатись піктограмою теки біля списку, щоб його вибрати.</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>Вибрати файл віртуального жорсткого диска для копіювання…</translation>
+        <translation type="obsolete">Вибрати файл віртуального жорсткого диска для копіювання…</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>Тип файла жорсткого диска</translation>
+        <translation type="obsolete">Тип файла жорсткого диска</translation>
+    </message>
+    <message>
+        <source>&Dynamically allocated</source>
+        <translation>&Динамічно визначено</translation>
+    </message>
+    <message>
+        <source>&Fixed size</source>
+        <translation>&Фіксований розмір</translation>
+    </message>
+    <message>
+        <source>&Split into files of less than 2GB</source>
+        <translation>&Розділити між файлами меншими за 2 ГБ</translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard drive file</source>
+        <translation type="obsolete">Виберіть адресу для нового файла віртуального жорсткого диска</translation>
+    </message>
+    <message>
+        <source>New hard drive to create</source>
+        <translation type="obsolete">Новий жорсткий диск для створення</translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="obsolete">Уведіть назву нового файла віртуального жорсткого диска в поле нижче або натисніть на піктограму теки, щоб вибрати іншу теку для створення в ній файла.</translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard drive file...</source>
+        <translation type="obsolete">Вибрати адресу для файла нового віртуального жорсткого диска…</translation>
+    </message>
+    <message>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
+        <translation>%1_копія</translation>
+    </message>
+    <message>
+        <source>Hard drive to &copy</source>
+        <translation type="obsolete">Жорсткий диск для &копіювання</translation>
+    </message>
+    <message>
+        <source>&New hard drive to create</source>
+        <translation type="obsolete">&Новий жорсткий диск для створення</translation>
+    </message>
+    <message>
+        <source>Hard drive file &type</source>
+        <translation type="obsolete">&Тип файла жорсткого диска</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation>&Динамічно визначено</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation>&Фіксований розмір</translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation>&Розділити між файлами меншими за 2 ГБ</translation>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Виберіть адресу для нового файла віртуального жорсткого диска</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
-        <translation>Новий жорсткий диск для створення</translation>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>Уведіть назву нового файла віртуального жорсткого диска в поле нижче або натисніть на піктограму теки, щоб вибрати іншу теку для створення в ній файла.</translation>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
-        <translation>Вибрати адресу для файла нового віртуального жорсткого диска…</translation>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
-        <translation>%1_копія</translation>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
-        <translation>Жорсткий диск для &копіювання</translation>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
-        <translation>&Новий жорсткий диск для створення</translation>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
-        <translation>&Тип файла жорсткого диска</translation>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -10856,10 +11534,6 @@ p, li { white-space: pre-wrap; }
         <translation>Тип клона</translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -10915,6 +11589,10 @@ p, li { white-space: pre-wrap; }
         <source>&Linked Clone</source>
         <translation>&Сполучений клон</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -11186,84 +11864,100 @@ p, li { white-space: pre-wrap; }
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation type="unfinished">Тип файла жорсткого диска</translation>
+        <translation type="obsolete">Тип файла жорсткого диска</translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation type="unfinished"></translation>
+        <source>&Dynamically allocated</source>
+        <translation>&Динамічно визначено</translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
-        <translation type="unfinished"></translation>
+        <source>&Fixed size</source>
+        <translation>&Фіксований розмір</translation>
+    </message>
+    <message>
+        <source>&Split into files of less than 2GB</source>
+        <translation>&Розділяти між файлами меншими за 2 ГБ</translation>
+    </message>
+    <message>
+        <source><nobr>%1 (%2 B)</nobr></source>
+        <translation><nobr>%1 (%2 Б)</nobr></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="obsolete">Уведіть назву нового файла віртуального жорсткого диска в поле нижче або натисніть на піктограму теки, щоб вибрати іншу теку для створення в ній файла.</translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard drive file...</source>
+        <translation type="obsolete">Вибрати адресу для файла нового віртуального жорсткого диска…</translation>
+    </message>
+    <message>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Hard drive file &type</source>
+        <translation type="obsolete">&Тип файла жорсткого диска</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
-        <translation>&Динамічно визначено</translation>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
-        <translation>&Фіксований розмір</translation>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
-        <translation>&Розділяти між файлами меншими за 2 ГБ</translation>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
-        <translation><nobr>%1 (%2 Б)</nobr></translation>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation type="unfinished">Уведіть назву нового файла віртуального жорсткого диска в поле нижче або натисніть на піктограму теки, щоб вибрати іншу теку для створення в ній файла.</translation>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
-        <translation type="unfinished">Вибрати адресу для файла нового віртуального жорсткого диска…</translation>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
-        <translation type="unfinished">&Тип файла жорсткого диска</translation>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -11313,31 +12007,31 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -11983,7 +12677,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>Відкриває діалог, щоб вибрати іншу теку. </translation>
+        <translation type="obsolete">Відкриває діалог, щоб вибрати іншу теку. </translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -11991,7 +12685,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>Відкриває діалог, щоб вибрати інший файл.</translation>
+        <translation type="obsolete">Відкриває діалог, щоб вибрати інший файл.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -12003,16 +12697,32 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>Будь ласка, введіть тут шлях до теки.</translation>
+        <translation type="obsolete">Будь ласка, введіть тут шлях до теки.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>Будь ласка, введіть тут шлях до файла.</translation>
+        <translation type="obsolete">Будь ласка, введіть тут шлях до файла.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGLSettingsDlg</name>
@@ -13165,7 +13875,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">Під'єднання цього жорсткого диска буде здійснюватись непрямим чином, використовуючи новостворені обчислення жорсткого диска.</translation>
+        <translation type="unfinished">Під'єднання цього жорсткого диска буде здійснюватись непрямим чином, використовуючи новостворені обчислення жорсткого диска.</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -13175,7 +13885,7 @@ p, li { white-space: pre-wrap; }
     <message>
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
-        <translation type="obsolete">Цей базовий жорсткий диск не напряму під'єднано, використовуючи такі обчислення жорсткого диска:</translation>
+        <translation type="unfinished">Цей базовий жорсткий диск не напряму під'єднано, використовуючи такі обчислення жорсткого диска:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -13736,11 +14446,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>Виберіть файл віртуального жорсткого диска</translation>
+        <translation type="obsolete">Виберіть файл віртуального жорсткого диска</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>Усі файли віртуального жорсткого диска (%1)</translation>
+        <translation type="obsolete">Усі файли віртуального жорсткого диска (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -13784,7 +14494,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>Виберіть адресу для нового файла віртуального жорсткого диска</translation>
+        <translation type="obsolete">Виберіть адресу для нового файла віртуального жорсткого диска</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -13964,25 +14674,27 @@ p, li { white-space: pre-wrap; }
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
-        <comment>medium</comment>
+        <source>Please choose a virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
-        <comment>medium</comment>
+        <source>All virtual hard disk files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -14969,7 +15681,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>Показати деталі вибраного зрізу</translation>
+        <translation type="obsolete">Показати деталі вибраного зрізу</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -15017,11 +15729,11 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>Відновити вибраний зріз віртуальної машини</translation>
+        <translation type="obsolete">Відновити вибраний зріз віртуальної машини</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>Вилучити вибраний зріз віртуальної машини</translation>
+        <translation type="obsolete">Вилучити вибраний зріз віртуальної машини</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -15033,7 +15745,23 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>Клонувати вибрану віртуальну машину </translation>
+        <translation type="obsolete">Клонувати вибрану віртуальну машину </translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -15069,6 +15797,10 @@ p, li { white-space: pre-wrap; }
             <numerusform>Обережно: ви робите зріз із запущеної машини, яка має %n сталих образів, приєднаний до нього. Поки ви працюватимете з цього зрізу, сталі образи не буде скинуто, щоб уникнути втрат даних. </numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">Зріз %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxTrayIcon</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
index b7cafde..e53ef76 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts
@@ -159,10 +159,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Adjust Window Size</source>
         <translation type="unfinished"></translation>
     </message>
@@ -195,10 +191,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Close...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -215,14 +207,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of network adapters</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Create or modify shared folders</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>De&bug</source>
         <translation type="unfinished"></translation>
     </message>
@@ -269,10 +253,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Manage the virtual machine settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Session I&nformation...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -297,10 +277,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Network Operations Manager</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Check for a new VirtualBox version</source>
         <translation type="unfinished"></translation>
     </message>
@@ -309,10 +285,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show a window with product information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Take Sn&apshot...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -321,10 +293,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take a screenshot of the virtual machine</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&File</source>
         <comment>Mac OS X version</comment>
         <translation type="unfinished"></translation>
@@ -359,508 +327,570 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Preferences...</source>
-        <comment>global settings</comment>
+        <source>E&xit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window</source>
+        <source>Close application</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xit</source>
+        <source>&Group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close application</source>
+        <source>S&tart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Group</source>
+        <source>S&how</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new virtual machine</source>
+        <source>&New...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add an existing virtual machine</source>
+        <source>&Add...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rename the selected virtual machine group</source>
+        <source>Cl&one...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&tart</source>
+        <source>&Remove...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&how</source>
+        <source>Discard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Re&fresh...</source>
+        <source>&Close</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Refresh the accessibility state of the selected virtual machine</source>
+        <source>Show &Log...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Finder</source>
+        <source>&VirtualBox Web Site...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in Explorer</source>
+        <source>&Reset All Warnings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in File Manager</source>
+        <source>C&heck for Updates...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in the File Manager</source>
+        <source>Rena&me Group...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New...</source>
+        <source>Po&wer Off</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add...</source>
+        <source>&New Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a new group based on the items selected</source>
+        <source>&Add Machine...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cl&one...</source>
+        <source>Gro&up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Shared &Clipboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove...</source>
+        <source>Power off the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard</source>
+        <source>&Network Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>D&iscard saved state...</source>
+        <source>&Shared Folders Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Close</source>
+        <source>R&emote Display</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
+        <source>&Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox Web Site...</source>
+        <source>&Video Capture Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reset All Warnings</source>
+        <source>Popup Menu</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>C&heck for Updates...</source>
+        <source>&Webcams</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rena&me Group...</source>
+        <source>&Insert Guest Additions CD image...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the items of the selected virtual machine group alphabetically</source>
+        <source>&VirtualBox</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove the selected virtual machines</source>
+        <source>&Menu Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines</source>
+        <source>&Menu Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch to the windows of the selected virtual machines</source>
+        <source>Show Menu &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Suspend the execution of the selected virtual machines</source>
+        <source>&Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reset the selected virtual machines</source>
+        <source>&Status Bar Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Discard the saved state of the selected virtual machines</source>
+        <source>Show Status &Bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Finder</source>
+        <source>&Input</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the VirtualBox Machine Definition file in Explorer</source>
+        <source>&Keyboard</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Alias on Desktop</source>
+        <source>&Keyboard Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create Shortcut on Desktop</source>
+        <source>&USB Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
+        <source>&Shared Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save State</source>
+        <source>Show &Log...</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the selected virtual machines</source>
+        <source>E&xtra Data Manager...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the ACPI Power Button press event to the selected virtual machines</source>
+        <source>Display the Extra Data Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Po&wer Off</source>
+        <source>&File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the selected virtual machines</source>
+        <source>&Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the log files of the selected virtual machine</source>
+        <source>&Minimize</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New Machine...</source>
+        <source>&Full-screen Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Machine...</source>
+        <source>Switch between normal and full-screen mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Ungroup...</source>
+        <source>Seam&less Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Ungroup items of the selected virtual machine group</source>
+        <source>S&caled Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort</source>
+        <source>S&cale Factor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Gro&up</source>
+        <source>Send the %1 sequence to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sort the group of the first selected machine alphabetically</source>
+        <source>&Mouse Integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shared &Clipboard</source>
+        <source>Enable host mouse pointer integration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save the machine state of the virtual machine</source>
+        <source>&Optical Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Power off the virtual machine</source>
+        <source>&Floppy Drives</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Network Settings...</source>
+        <source>&USB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders Settings...</source>
+        <source>&Logging</source>
+        <comment>debug action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote Display</source>
+        <source>&Normal Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle remote desktop (RDP) connections to this machine</source>
+        <source>&Headless Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle video capture</source>
+        <source>Minimize active window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Video Capture Settings...</source>
+        <source>Display the Network Operations Manager window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Configure video capture settings</source>
+        <source>Display a window with product information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Popup Menu</source>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Session Information Window</source>
+        <source>Display the global preferences window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Webcams</source>
+        <source>Display the virtual machine settings window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert Guest Additions CD image...</source>
+        <source>Display the virtual machine session information window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Insert the Guest Additions disk file into the virtual drive</source>
+        <source>&Save State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&VirtualBox</source>
+        <source>Save the state of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar</source>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Menu Bar Settings...</source>
+        <source>&Minimize Window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure menu-bar</source>
+        <source>Automatically resize the guest display when the window is resized</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Menu &Bar</source>
+        <source>Take a guest display screenshot</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle menu-bar visibility for this machine</source>
+        <source>Display the virtual machine settings window to configure video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar</source>
+        <source>Enable guest display video capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Status Bar Settings...</source>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens window to configure status-bar</source>
+        <source>Display the window to configure menu-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Status &Bar</source>
+        <source>Enable menu-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle status-bar visibility for this machine</source>
+        <source>Display the window to configure status-bar</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Input</source>
+        <source>Enable status-bar visibility</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard</source>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Keyboard Settings...</source>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the global settings window to configure shortcuts</source>
+        <source>&Hard Disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse</source>
+        <source>&Hard Disk Settings...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drives</source>
+        <source>Display the virtual machine settings window to configure hard disks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hard Drive Settings...</source>
+        <source>&Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of hard drives</source>
+        <source>Display the virtual machine settings window to configure network adapters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Network</source>
+        <source>Display the virtual machine settings window to configure USB devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB Settings...</source>
+        <source>&Drag and Drop</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Change the settings of USB devices</source>
+        <source>Display the virtual machine settings window to configure shared folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Shared Folders</source>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show &Log...</source>
-        <comment>debug action</comment>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>E&xtra Data Manager...</source>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Display the Extra Data Manager window</source>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&File</source>
+        <source>Preview Monitor %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Window</source>
+        <source>&Connect Network Adapter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Minimize</source>
+        <source>Connect Network Adapter &%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Minimize active machine-window</source>
+        <source>No USB Devices Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Full-screen Mode</source>
+        <source>No supported devices connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Switch between normal and full-screen mode</source>
+        <source>No Webcams Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Seam&less Mode</source>
+        <source>No supported webcams connected to the host PC</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&caled Mode</source>
+        <source>Create new virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>S&cale Factor</source>
+        <source>Add existing virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Insert %1</source>
+        <source>Rename selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Send the %1 sequence to the virtual machine</source>
+        <source>&Ungroup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Mouse Integration</source>
+        <source>Ungroup the items of selected virtual machine group</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable host mouse pointer integration</source>
+        <source>&Sort</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Optical Drives</source>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Floppy Drives</source>
+        <source>Add new group based on selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&USB</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Drag and Drop</source>
+        <source>Remove selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Logging</source>
-        <comment>debug action</comment>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Normal Start</source>
+        <source>Switch to the windows of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Headless Start</source>
+        <source>Start selected virtual machines in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Suspend the execution of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Reset selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIActionPoolRuntime</name>
     <message>
-        <source>Enable</source>
-        <comment>Virtual Screen</comment>
+        <source>D&iscard Saved State...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resize to %1x%2</source>
-        <comment>Virtual Screen</comment>
+        <source>Discard the saved state of selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1%</source>
-        <comment>scale-factor</comment>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -877,6 +907,28 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -929,18 +981,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard Disk Controller (IDE)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hard Disk Controller (SATA)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Hard Disk Controller (SCSI)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>DVD</source>
         <translation type="unfinished"></translation>
     </message>
@@ -981,15 +1021,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard Disk Controller (SAS)</source>
+        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
+        <source>&Reinitialize the MAC address of all network cards</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Reinitialize the MAC address of all network cards</source>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1012,16 +1064,13 @@
     </message>
 </context>
 <context>
-    <name>UIDnDDrag</name>
+    <name>UIDnDHandler</name>
     <message>
-        <source>Retrieving data ...</source>
+        <source>Dropping data ...</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIDnDHandler</name>
     <message>
-        <source>Dropping data ...</source>
+        <source>Retrieving data ...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1054,45 +1103,20 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>VirtualBox Extension Pack</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIDownloaderUserManual</name>
-    <message>
-        <source>Select folder to save User Manual to</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>VirtualBox User Manual</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>UIEncryptionDataModel</name>
-    <message>
-        <source>Status</source>
-        <comment>password table field</comment>
+        <source>VirtualBox Extension Pack</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIDownloaderUserManual</name>
     <message>
-        <source>ID</source>
-        <comment>password table field</comment>
+        <source>Select folder to save User Manual to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Password</source>
-        <comment>password table field</comment>
+        <source>VirtualBox User Manual</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
-        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-        </translation>
-    </message>
 </context>
 <context>
     <name>UIGChooserItemGroup</name>
@@ -1550,18 +1574,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Height:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Automatic</source>
         <comment>Maximum Guest Screen Size</comment>
         <translation type="unfinished"></translation>
@@ -1593,11 +1609,19 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <source>&Raise Window Under Mouse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Raise Window Under Mouse</source>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1620,27 +1644,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add package</source>
+        <source>Select an extension package file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Extension package files (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove package</source>
+        <source>Extensions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select an extension package file</source>
+        <source>&Extension Packages</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extension package files (%1)</source>
+        <source>Add Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Extensions</source>
+        <source>Remove Package</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Extension Packages</source>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1663,15 +1695,15 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Host Screensaver:</source>
+        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
+        <source>Host Screensaver:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Disable When Running Virtual Machines</source>
+        <source>&Disable When Running Virtual Machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1702,11 +1734,11 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all the available shortcuts which can be configured.</source>
+        <source>Lists all available shortcuts which can be configured.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter a sequence to filter the shortcut list.</source>
+        <source>Holds a sequence to filter the shortcut list.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1848,18 +1880,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>&Remove host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>&Edit host-only network</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Lists all available host-only networks.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1985,15 +2005,51 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add NAT network</source>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove NAT network</source>
+        <source>Removes selected NAT network.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit NAT network</source>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2012,10 +2068,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use manual configuration for this host-only network adapter.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&IPv4 Address:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2056,10 +2108,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Server Add&ress:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2091,6 +2139,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -2103,10 +2159,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable this NAT network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Network &Name:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2131,31 +2183,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports DHCP.</source>
+        <source>Supports &IPv6</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Supports &IPv6</source>
+        <source>Advertise Default IPv6 &Route</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network supports IPv6.</source>
+        <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Advertise Default IPv6 &Route</source>
+        <source>When checked, this network will be enabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Determines whether this network should be advertised as the default IPv6 route.</source>
+        <source>When checked, this network will support DHCP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
+        <source>When checked, this network will support IPv6.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Forwarding</source>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2189,23 +2245,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy host.</source>
+        <source>&Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port:</source>
+        <source>No proxy host is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the proxy port.</source>
+        <source>No proxy port is currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy host is currently specified.</source>
+        <source>Holds the proxy host.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No proxy port is currently specified.</source>
+        <source>Holds the proxy port.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2224,10 +2280,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Next Check:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2259,6 +2311,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -2398,11 +2454,6 @@
 <context>
     <name>UIIndicatorsPool</name>
     <message>
-        <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
-        <comment>HDD tooltip</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
         <comment>Network adapters tooltip</comment>
         <translation type="unfinished"></translation>
@@ -2457,10 +2508,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2491,6 +2538,15 @@
         <comment>FD tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -2502,41 +2558,9 @@
 <context>
     <name>UIMachineLogic</name>
     <message>
-        <source>Preview Monitor %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Snapshot %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No USB Devices Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported devices connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Select a filename for the screenshot ...</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>No Webcams Connected</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>No supported webcams connected to the host PC</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Connect Network Adapter %1</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsAudio</name>
@@ -2553,25 +2577,21 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <source>Audio &Controller:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Audio &Controller:</source>
+        <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
     <message>
-        <source><qt>%1&nbsp;MB</qt></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Video &Memory:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2616,18 +2636,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the VRDP authentication method.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Authentication &Timeout:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2636,211 +2648,211 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <source>Mo&nitor Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Mo&nitor Count:</source>
+        <source>Controls the amount of virtual monitors provided to the virtual machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls the amount of virtual monitors provided to the virtual machine.</source>
+        <source>&Allow Multiple Connections</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1</qt></source>
+        <source>Video &Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
+        <source>When checked, VirtualBox will record the virtual machine session as a video file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Allow Multiple Connections</source>
+        <source>&Enable Video Capture</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Video &Capture</source>
+        <source>File &Path:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, VirtualBox will record the virtual machine session as a video file.</source>
+        <source>Frame &Size:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Enable Video Capture</source>
+        <source>&Frame Rate:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &Path:</source>
+        <source>&Quality:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
+        <source>&Screens:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Frame &Size:</source>
+        <source>The virtual machine is set up to use hardware graphics acceleration. However the host system does not currently provide this, so you will not be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the resolution (frame size) of the recorded video.</source>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <source>The virtual machine is set up to use Video Stream Acceleration. As this feature only works with Windows guest systems it will be disabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <source>The VRDE server port value is not currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Frame Rate:</source>
+        <source>The VRDE authentication timeout value is not currently specified.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <source>User Defined</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Quality:</source>
+        <source>%1 fps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <source>fps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <source>low</source>
+        <comment>quality</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Screens:</source>
+        <source>medium</source>
+        <comment>quality</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is set up to use hardware graphics acceleration. However the host system does not currently provide this, so you will not be able to start the machine.</source>
+        <source>high</source>
+        <comment>quality</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
+        <source>kbps</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
+        <source>Screen %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is set up to use Video Stream Acceleration. As this feature only works with Windows guest systems it will be disabled.</source>
+        <source><i>About %1MB per 5 minute video</i></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDE server port value is not currently specified.</source>
+        <source>Remote Display is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site as otherwise your VM will be started with Remote Display disabled.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The VRDE authentication timeout value is not currently specified.</source>
+        <source>The virtual machine is set up to use hardware graphics acceleration and the operating system hint is set to Windows Vista or later. For best performance you should set the machine's video memory to at least <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>User Defined</source>
+        <source>&Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 fps</source>
+        <source>Scale Factor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>fps</source>
+        <source>Controls the guest screen scale factor.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>low</source>
-        <comment>quality</comment>
+        <source>%</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>medium</source>
-        <comment>quality</comment>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>high</source>
-        <comment>quality</comment>
+        <source>Use &Unscaled HiDPI Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>kbps</source>
+        <source>Acceleration:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Screen %1</source>
+        <source>HiDPI Support:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable video recording for screen %1.</source>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>About %1MB per 5 minute video</i></source>
+        <source>Selects the VRDP authentication method.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remote Display is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site as otherwise your VM will be started with Remote Display disabled.</source>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The virtual machine is set up to use hardware graphics acceleration and the operating system hint is set to Windows Vista or later. For best performance you should set the machine's video memory to at least <b>%1</b>.</source>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Screen</source>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Scale Factor:</source>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls the guest screen scale factor.</source>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>100%</source>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>200%</source>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%</source>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HiDPI:</source>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
+        <source>%1 MB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>%1%</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsGeneral</name>
     <message>
-        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Basi&c</source>
         <translation type="unfinished"></translation>
@@ -2902,10 +2914,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>E&nter New Password:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2942,6 +2950,14 @@
         <comment>cipher type</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -2954,23 +2970,23 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
+        <source>Show at &Top of Screen</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show in &Fullscreen/Seamless</source>
+        <source>Allows to modify VM status-bar contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show at &Top of Screen</source>
+        <source>Show in &Full-screen/Seamless</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to modify VM status-bar contents.</source>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2993,10 +3009,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Adapter &Type:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3014,10 +3026,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Shows or hides additional network adapter options.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3026,18 +3034,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Cable Connected</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to manage port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Port Forwarding</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3054,10 +3054,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3109,6 +3105,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -3157,9 +3173,6 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsParallelPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -3187,99 +3200,75 @@
         <source>Port Forwarding Rules</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>This table contains a list of port forwarding rules.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Insert new rule</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Copy selected rule</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Delete selected rule</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This button adds new port forwarding rule.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>This button deletes selected port forwarding rule.</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
-        <source>Adds a new shared folder definition.</source>
+        <source> Machine Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edits the selected shared folder definition.</source>
+        <source> Transient Folders</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Removes the selected shared folder definition.</source>
+        <source>Full</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> Machine Folders</source>
+        <source>Read-only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> Transient Folders</source>
+        <source>Lists all shared folders accessible to this machine. Use 'net use x: \\vboxsvr\share' to access a shared folder named <i>share</i> from a DOS-like OS, or 'mount -t vboxsf share mount_point' to access it from a Linux OS. This feature requires Guest Additions.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Full</source>
+        <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Read-only</source>
+        <source>Path</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all shared folders accessible to this machine. Use 'net use x: \\vboxsvr\share' to access a shared folder named <i>share</i> from a DOS-like OS, or 'mount -t vboxsf share mount_point' to access it from a Linux OS. This feature requires Guest Additions.</source>
+        <source>Access</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Name</source>
+        <source>&Folders List</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Path</source>
+        <source>Auto-mount</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Access</source>
+        <source>Yes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Add Shared Folder</source>
+        <source>Add Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Shared Folder</source>
+        <source>Edit Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Shared Folder</source>
+        <source>Remove Shared Folder</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Folders List</source>
+        <source>Adds new shared folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Auto-mount</source>
+        <source>Edits selected shared folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Yes</source>
+        <source>Removes selected shared folder.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3326,7 +3315,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, this shared folder will be permanent.</source>
+        <source>When checked, this shared folder will be permanent.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -3366,36 +3355,33 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <source>Holds the IRQ number of this serial port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the IRQ number of this serial port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
+        <source>Holds the base I/O port address of this serial port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Holds the base I/O port address of this serial port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
+        <source>&Connect to existing pipe/socket</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <source>&Path/Address:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Connect to existing pipe/socket</source>
+        <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Path/Address:</source>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSerialPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
         <translation type="unfinished"></translation>
@@ -3424,14 +3410,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Add Controller</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3468,22 +3446,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hard &Disk:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3492,10 +3454,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3512,10 +3470,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Type:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3560,10 +3514,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allows to use host I/O caching capabilities.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Use Host I/O Cache</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3580,168 +3530,192 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Image</source>
+        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
+        <source>Floppy &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual hard disk</source>
+        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Floppy &Drive:</source>
+        <source>Remove disk from virtual drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source>&Live CD/DVD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual floppy drive</source>
+        <source>&Solid-state Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create a new hard disk...</source>
+        <source>Details:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard disk file...</source>
+        <source>at most one supported</source>
+        <comment>controller</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove disk from virtual drive</source>
+        <source>up to %1 supported</source>
+        <comment>controllers</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual floppy disk file...</source>
+        <source>&Port Count:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
+        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Live CD/DVD</source>
+        <source>Controller: %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a solid state device.</source>
+        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Solid-state Drive</source>
+        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Details:</source>
+        <source>No hard disk is selected for <i>%1</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>at most one supported</source>
-        <comment>controller</comment>
+        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>up to %1 supported</source>
-        <comment>controllers</comment>
+        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Port Count:</source>
+        <source>Add USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selects the port count of the SATA storage controller currently selected in the Storage Tree. This must be at least one more than the highest port number you need to use.</source>
+        <source>&Hot-pluggable</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Controller: %1</source>
+        <source>Add Optical Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No name is currently specified for the controller at position <b>%1</b>.</source>
+        <source>Add Floppy Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The controller at position <b>%1</b> has the same name as the controller at position <b>%2</b>.</source>
+        <source>Optical &Drive:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No hard disk is selected for <i>%1</i>.</source>
+        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><i>%1</i> is using a disk that is already attached to <i>%2</i>.</source>
+        <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The machine currently has more storage controllers assigned than a %1 chipset supports. Please change the chipset type on the System settings page or reduce the number of the following storage controllers on the Storage settings page: %2</source>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add USB Controller</source>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Hot-pluggable</source>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk file...</source>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
+        <source>Choose a virtual disk image file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Optical Drive</source>
+        <source>Image</source>
+        <comment>storage image</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Floppy Drive</source>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Optical &Drive:</source>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual optical disk or a physical drive to use with the virtual drive. The virtual machine will see a disk inserted into the drive with the data in the file or on the disk in the physical drive as its contents.</source>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set up the virtual optical drive</source>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted with key:</source>
+        <source>Adds new storage controller.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>UIMachineSettingsSystem</name>
     <message>
-        <source><qt>%1&nbsp;MB</qt></source>
+        <source>Removes selected storage controller.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPU</qt></source>
-        <comment>%1 is 1 for now</comment>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>UIMachineSettingsSystem</name>
+    <message>
         <source>&Motherboard</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3766,18 +3740,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move Down (Ctrl-Down)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Moves the selected boot device down.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move Up (Ctrl-Up)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Moves the selected boot device up.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3834,11 +3800,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1&nbsp;CPUs</qt></source>
-        <comment>%1 is host cpu count * 2 for now</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3847,10 +3808,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Hardware Clock in &UTC Time</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3875,16 +3832,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><qt>%1%</qt></source>
-        <comment>Min CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><qt>%1%</qt></source>
-        <comment>Max CPU execution cap in %</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Pointing Device:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3936,148 +3883,174 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
-        <source>&Add Empty Filter</source>
+        <source>New Filter %1</source>
+        <comment>usb</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>A&dd Filter From Device</source>
+        <source>When checked, enables the virtual USB controller of this machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Edit Filter</source>
+        <source>Enable &USB Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Remove Filter</source>
+        <source>USB Device &Filters</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Move Filter Up</source>
+        <source>Lists all USB filters of this machine. The checkbox to the left defines whether the particular filter is enabled or not. Use the context menu or buttons to the right to add or remove USB filters.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>M&ove Filter Down</source>
+        <source>[filter]</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <source><nobr>Vendor ID: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <source><nobr>Product ID: %2</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edits the selected USB filter.</source>
+        <source><nobr>Revision: %3</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Removes the selected USB filter.</source>
+        <source><nobr>Product: %4</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Moves the selected USB filter up.</source>
+        <source><nobr>Manufacturer: %5</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Moves the selected USB filter down.</source>
+        <source><nobr>Serial No.: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New Filter %1</source>
-        <comment>usb</comment>
+        <source><nobr>Port: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB controller of this machine.</source>
+        <source><nobr>State: %1</nobr></source>
+        <comment>USB filter tooltip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable &USB Controller</source>
+        <source>USB &1.1 (OHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <source>USB &2.0 (EHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Device &Filters</source>
+        <source>USB &3.0 (xHCI) Controller</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Lists all USB filters of this machine. The checkbox to the left defines whether the particular filter is enabled or not. Use the context menu or buttons to the right to add or remove USB filters.</source>
+        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>[filter]</source>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Vendor ID: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product ID: %2</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Revision: %3</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Add Empty Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Product: %4</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Add Filter From Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Manufacturer: %5</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Edit Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Serial No.: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Remove Filter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>Port: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Move Filter Up</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>State: %1</nobr></source>
-        <comment>USB filter tooltip</comment>
+        <source>Move Filter Down</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &1.1 (OHCI) Controller</source>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &2.0 (EHCI) Controller</source>
+        <source>Edits selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <source>Removes selected USB filter.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB &3.0 (xHCI) Controller</source>
+        <source>Moves selected USB filter up.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
+        <source>Moves selected USB filter down.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4111,67 +4084,67 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Product ID:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Product ID:</source>
+        <source>&Revision:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <source>&Manufacturer:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Revision:</source>
+        <source>Pro&duct:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <source>&Serial No.:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Manufacturer:</source>
+        <source>Por&t:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>R&emote:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Pro&duct:</source>
+        <source>USB Filter Details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Serial No.:</source>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4192,10 +4165,6 @@
 <context>
     <name>UIMediumManager</name>
     <message>
-        <source>&Hard drives</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>&Optical disks</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4207,6 +4176,10 @@
         <source>Removing medium...</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -4492,10 +4465,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>You are already running the most recent version of VirtualBox.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4526,10 +4495,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <comment>hard disk storage</comment>
         <translation type="unfinished"></translation>
@@ -4628,10 +4593,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Delete</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4661,10 +4622,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -4737,10 +4694,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -4920,10 +4873,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to discard the saved state of the following virtual machines?</p><p><b>%1</b></p><p>This operation is equivalent to resetting or powering off the machine without doing a proper shutdown of the guest OS.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -5028,18 +4977,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -5079,30 +5016,6 @@
         <source><p>Unable to eject the virtual floppy disk <nobr><b>%1</b></nobr> from the machine <b>%2</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many machines are in the list and doesn't need to be told).</comment>
@@ -5220,10 +5133,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Failed to save the settings.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5295,6 +5204,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
@@ -5443,7 +5392,7 @@
     </message>
 </context>
 <context>
-    <name>UIPortForwardingModel</name>
+    <name>UIPortForwardingTable</name>
     <message>
         <source>Name</source>
         <translation type="unfinished"></translation>
@@ -5468,6 +5417,34 @@
         <source>Guest Port</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIProgressDialog</name>
@@ -5666,13 +5643,6 @@
     </message>
 </context>
 <context>
-    <name>UIStatusBarEditorButton</name>
-    <message>
-        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
     <name>UIStatusBarEditorWidget</name>
     <message>
         <source>Close</source>
@@ -5682,6 +5652,10 @@
         <source>Enable Status Bar</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -6030,96 +6004,96 @@
 <context>
     <name>UIWizardCloneVD</name>
     <message>
-        <source>Copy Virtual Hard Drive</source>
+        <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to copy</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file to copy...</source>
+        <source>%1_copy</source>
+        <comment>copied virtual hard drive name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>Copy Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>Hard disk to copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>Choose a virtual hard disk file to copy...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New hard drive to create</source>
+        <source>Please choose a location for new virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source>New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1_copy</source>
-        <comment>copied virtual hard drive name</comment>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive to &copy</source>
+        <source>Hard disk to &copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&New hard drive to create</source>
+        <source>&New hard disk to create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6162,10 +6136,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
         <translation type="unfinished"></translation>
     </message>
@@ -6221,6 +6191,10 @@
         <source>&Linked Clone</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -6476,83 +6450,83 @@
 <context>
     <name>UIWizardNewVD</name>
     <message>
-        <source>Create Virtual Hard Drive</source>
+        <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create</source>
+        <source>&Dynamically allocated</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file type</source>
+        <source>&Fixed size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <source>&Split into files of less than 2GB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Storage on physical hard drive</source>
+        <source><nobr>%1 (%2 B)</nobr></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <source>File location and size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <source>File &location</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
+        <source>File &size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <source>Create Virtual Hard Disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Dynamically allocated</source>
+        <source>Hard disk file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Fixed size</source>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Split into files of less than 2GB</source>
+        <source>Storage on physical hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><nobr>%1 (%2 B)</nobr></source>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File location and size</source>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a location for new virtual hard drive file...</source>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &location</source>
+        <source>Choose a location for new virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File &size</source>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive file &type</source>
+        <source>Hard disk file &type</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6583,31 +6557,31 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hard drive</source>
+        <source>&Memory size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
+        <source>Hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose a virtual hard drive file...</source>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Memory size</source>
+        <source>&Do not add a virtual hard disk</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Do not add a virtual hard drive</source>
+        <source>&Create a virtual hard disk now</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Create a virtual hard drive now</source>
+        <source>&Use an existing virtual hard disk file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Use an existing virtual hard drive file</source>
+        <source>Choose a virtual hard disk file...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -6656,35 +6630,35 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to select a different folder.</source>
+        <source>Resets the folder path to the default value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resets the folder path to the default value.</source>
+        <source>Resets the file path to the default value.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Opens a window to select a different file.</source>
+        <source>&Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Resets the file path to the default value.</source>
+        <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Copy</source>
+        <source>Displays a window to select a different folder.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the folder path here.</source>
+        <source>Displays a window to select a different file.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please type the file path here.</source>
+        <source>Holds the folder path.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
+        <source>Holds the file path.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -7878,14 +7852,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>All virtual hard drive files (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Please choose a virtual optical disk file</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7926,10 +7892,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please choose a location for new virtual hard drive file</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Unrestricted Execution</source>
         <comment>details report</comment>
         <translation type="unfinished"></translation>
@@ -8107,25 +8069,37 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
+        <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Encrypted</source>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -8382,10 +8356,6 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show the details of the selected snapshot</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source> (%1)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8398,23 +8368,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Restore the selected snapshot of the virtual machine</source>
+        <source> (%1 ago)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete the selected snapshot of the virtual machine</source>
+        <source>&Clone...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> (%1 ago)</source>
+        <source>Restore selected snapshot of the virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Clone...</source>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clone the selected virtual machine</source>
+        <source>Clone selected virtual machine</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -8438,6 +8412,10 @@
             <numerusform></numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
index 0b21f61..fc66d19 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts
@@ -207,7 +207,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>当窗口大小变动时自动调整虚拟电脑内的显示尺寸(需要在虚拟电脑上安装增强功能包)</translation>
+        <translation type="obsolete">当窗口大小变动时自动调整虚拟电脑内的显示尺寸(需要在虚拟电脑上安装增强功能包)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -275,7 +275,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>发送ACPI电源按钮关闭信号到虚拟电脑</translation>
+        <translation type="obsolete">发送ACPI电源按钮关闭信号到虚拟电脑</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -311,7 +311,7 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>更改网络连接设置</translation>
+        <translation type="obsolete">更改网络连接设置</translation>
     </message>
     <message>
         <source>&Shared Folders...</source>
@@ -319,7 +319,7 @@
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>打开共享文件夹对话框</translation>
+        <translation type="obsolete">打开共享文件夹对话框</translation>
     </message>
     <message>
         <source>&Install Guest Additions...</source>
@@ -406,7 +406,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>设置所选的虚拟电脑</translation>
+        <translation type="obsolete">设置所选的虚拟电脑</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -414,7 +414,7 @@
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>显示所选的虚拟电脑的日志文件</translation>
+        <translation type="obsolete">显示所选的虚拟电脑的日志文件</translation>
     </message>
     <message>
         <source>&Contents...</source>
@@ -438,7 +438,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>显示网络操作管理器</translation>
+        <translation type="obsolete">显示网络操作管理器</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -450,7 +450,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>显示产品信息的对话框</translation>
+        <translation type="obsolete">显示产品信息的对话框</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -462,7 +462,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>为当前虚拟电脑生成一个屏幕截图</translation>
+        <translation type="obsolete">为当前虚拟电脑生成一个屏幕截图</translation>
     </message>
     <message>
         <source>Ins&ert Ctrl-Alt-Backspace</source>
@@ -505,11 +505,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>全局设定(&P)...</translation>
+        <translation type="obsolete">全局设定(&P)...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>打开全局设定界面</translation>
+        <translation type="obsolete">打开全局设定界面</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -525,15 +525,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>新建虚拟电脑</translation>
+        <translation type="obsolete">新建虚拟电脑</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>注册一个已经存在的虚拟电脑</translation>
+        <translation type="obsolete">注册一个已经存在的虚拟电脑</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>重命名所选的虚拟电脑编组</translation>
+        <translation type="obsolete">重命名所选的虚拟电脑编组</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -553,15 +553,15 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>刷新(&F)...</translation>
+        <translation type="obsolete">刷新(&F)...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>刷新所选虚拟电脑的当前状态</translation>
+        <translation type="obsolete">刷新所选虚拟电脑的当前状态</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>在查找框中显示</translation>
+        <translation type="obsolete">在查找框中显示</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder.</source>
@@ -569,7 +569,7 @@
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>在资源管理器中显示</translation>
+        <translation type="obsolete">在资源管理器中显示</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer.</source>
@@ -577,11 +577,11 @@
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>用文件管理器查看</translation>
+        <translation type="obsolete">用文件管理器查看</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>在文件管理器中显示虚拟电脑的有关文件</translation>
+        <translation type="obsolete">在文件管理器中显示虚拟电脑的有关文件</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -593,7 +593,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>从所选的项目创建新编组</translation>
+        <translation type="obsolete">从所选的项目创建新编组</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -601,7 +601,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>复制所选的虚拟电脑</translation>
+        <translation type="obsolete">复制所选的虚拟电脑</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -617,7 +617,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>清除保存的状态(&I)...</translation>
+        <translation type="obsolete">清除保存的状态(&I)...</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machine</source>
@@ -625,7 +625,7 @@
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>在桌面上创建别名</translation>
+        <translation type="obsolete">在桌面上创建别名</translation>
     </message>
     <message>
         <source>Creates an Alias file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -633,7 +633,7 @@
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>创建桌面快捷方式</translation>
+        <translation type="obsolete">创建桌面快捷方式</translation>
     </message>
     <message>
         <source>Creates an Shortcut file to the VirtualBox Machine Definition file on your Desktop.</source>
@@ -665,59 +665,59 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>将选中的虚拟电脑编组中的项目按字母排序</translation>
+        <translation type="obsolete">将选中的虚拟电脑编组中的项目按字母排序</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>删除所选的虚拟电脑</translation>
+        <translation type="obsolete">删除所选的虚拟电脑</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>启动所选的虚拟电脑</translation>
+        <translation type="obsolete">启动所选的虚拟电脑</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>切换到所选的虚拟电脑窗口</translation>
+        <translation type="obsolete">切换到所选的虚拟电脑窗口</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>将正在运行的虚拟电脑暂停</translation>
+        <translation type="obsolete">将正在运行的虚拟电脑暂停</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>重启所选的虚拟电脑</translation>
+        <translation type="obsolete">重启所选的虚拟电脑</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>清除所选的虚拟电脑的休眠状态</translation>
+        <translation type="obsolete">清除所选的虚拟电脑的休眠状态</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>在查找框中显示虚拟电脑的定义文件</translation>
+        <translation type="obsolete">在查找框中显示虚拟电脑的定义文件</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>在资源管理器中显示虚拟电脑的定义文件</translation>
+        <translation type="obsolete">在资源管理器中显示虚拟电脑的定义文件</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>在桌面上创建虚拟电脑的别名</translation>
+        <translation type="obsolete">在桌面上创建虚拟电脑的别名</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>在桌面上创建启动虚拟电脑的快捷方式</translation>
+        <translation type="obsolete">在桌面上创建启动虚拟电脑的快捷方式</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>保存休眠状态</translation>
+        <translation type="obsolete">保存休眠状态</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>保存所选的虚拟电脑的休眠状态</translation>
+        <translation type="obsolete">保存所选的虚拟电脑的休眠状态</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>发送ACPI电源按钮关闭信号到选中的虚拟电脑</translation>
+        <translation type="obsolete">发送ACPI电源按钮关闭信号到选中的虚拟电脑</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -726,7 +726,7 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>关闭所选的虚拟电脑的电源</translation>
+        <translation type="obsolete">关闭所选的虚拟电脑的电源</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -738,15 +738,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>取消编组(&U)...</translation>
+        <translation type="obsolete">取消编组(&U)...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>解散选中的虚拟电脑编组</translation>
+        <translation type="obsolete">解散选中的虚拟电脑编组</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>排序</translation>
+        <translation type="obsolete">排序</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -755,7 +755,7 @@
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
         <translatorcomment>TODO</translatorcomment>
-        <translation>将选中的第一个虚拟电脑的编组中的项目按字母排序</translation>
+        <translation type="obsolete">将选中的第一个虚拟电脑的编组中的项目按字母排序</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -767,7 +767,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>保存虚拟电脑的状态</translation>
+        <translation type="obsolete">保存虚拟电脑的状态</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -787,7 +787,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>切换到当前虚拟电脑的远程桌面(RDP)连接</translation>
+        <translation type="obsolete">切换到当前虚拟电脑的远程桌面(RDP)连接</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -795,7 +795,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>切换录像</translation>
+        <translation type="obsolete">切换录像</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -803,7 +803,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>设定录像选项</translation>
+        <translation type="obsolete">设定录像选项</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -811,7 +811,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>显示当前运行状态信息</translation>
+        <translation type="obsolete">显示当前运行状态信息</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -823,7 +823,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>打开增强功能包所在虚拟光盘</translation>
+        <translation type="obsolete">打开增强功能包所在虚拟光盘</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -839,7 +839,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>打开对话框选配置菜单栏</translation>
+        <translation type="obsolete">打开对话框选配置菜单栏</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -847,7 +847,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>切换菜单栏</translation>
+        <translation type="obsolete">切换菜单栏</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -859,7 +859,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>打开对话框选配置状态栏</translation>
+        <translation type="obsolete">打开对话框选配置状态栏</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -867,7 +867,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>切换状态栏</translation>
+        <translation type="obsolete">切换状态栏</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -883,7 +883,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>打开全局设定界面设置热键</translation>
+        <translation type="obsolete">打开全局设定界面设置热键</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -891,19 +891,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>虚拟硬盘(&H)</translation>
+        <translation type="obsolete">虚拟硬盘(&H)</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>虚拟硬盘设置(&H)...</translation>
+        <translation type="obsolete">虚拟硬盘设置(&H)...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>更改虚拟硬盘设置</translation>
+        <translation type="obsolete">更改虚拟硬盘设置</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>网络</translation>
+        <translation type="obsolete">网络</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -911,7 +911,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>更改USB设置</translation>
+        <translation type="obsolete">更改USB设置</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -946,7 +946,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>当前虚拟电脑窗口最小化</translation>
+        <translation type="obsolete">当前虚拟电脑窗口最小化</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -970,7 +970,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>载入 %1 (&I)</translation>
+        <translation type="obsolete">载入 %1 (&I)</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -998,7 +998,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>拖放</translation>
+        <translation type="obsolete">拖放</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -1015,7 +1015,7 @@
     </message>
     <message>
         <source>Start the selected virtual machines in the background</source>
-        <translation>在后台运行选中的虚拟电脑</translation>
+        <translation type="obsolete">在后台运行选中的虚拟电脑</translation>
     </message>
     <message>
         <source>&Detachable Start</source>
@@ -1023,7 +1023,316 @@
     </message>
     <message>
         <source>Start the selected virtual machines with the option of continuing them in the background</source>
-        <translation>启动所选虚拟电脑,并允许其可在后台继续运行</translation>
+        <translation type="obsolete">启动所选虚拟电脑,并允许其可在后台继续运行</translation>
+    </message>
+    <message>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">全局设定(&P)...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">载入 %1 (&I)</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">启用</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">重设为 %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">预览监视器 %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">没有连接 USB 设备</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">没有可用设备连接到主机</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">没有连接摄像头</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">没有可用摄像头连接到主机</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1031,17 +1340,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>启用</translation>
+        <translation type="obsolete">启用</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>重设为 %1x%2</translation>
+        <translation type="obsolete">重设为 %1x%2</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -1057,6 +1366,28 @@
             <numerusform>虚拟电脑已加密码保护。请在下面输入密码。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">状态</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">密码</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -1110,15 +1441,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>IDE 硬盘控制器</translation>
+        <translation type="obsolete">IDE 硬盘控制器</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>SATA 硬盘控制器</translation>
+        <translation type="obsolete">SATA 硬盘控制器</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>SCSI 硬盘控制器</translation>
+        <translation type="obsolete">SCSI 硬盘控制器</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -1162,7 +1493,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>硬盘控制器 (SAS)</translation>
+        <translation type="obsolete">硬盘控制器 (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -1172,6 +1503,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>重新初始化所有网卡的 MAC 地址(&R)</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1830,7 +2177,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>获取数据...</translation>
+        <translation type="obsolete">获取数据...</translation>
     </message>
 </context>
 <context>
@@ -1839,6 +2186,10 @@
         <source>Dropping data ...</source>
         <translation>丢弃数据...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">获取数据...</translation>
+    </message>
 </context>
 <context>
     <name>UIDnDMimeData</name>
@@ -1896,22 +2247,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>状态</translation>
+        <translation type="obsolete">状态</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>密码</translation>
+        <translation type="obsolete">密码</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>用于如下 %n 个硬盘:</nobr><br>%1</numerusform>
         </translation>
     </message>
@@ -2809,7 +3160,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>设定虚拟机的最大屏幕宽度。</translation>
+        <translation type="obsolete">设定虚拟机的最大屏幕宽度。</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -2817,7 +3168,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>设定虚拟机的最大屏幕高度。</translation>
+        <translation type="obsolete">设定虚拟机的最大屏幕高度。</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -2852,12 +3203,24 @@
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>选中时, 鼠标移到虚拟机窗口上则该窗口变为前置窗口。</translation>
+        <translation type="obsolete">选中时, 鼠标移到虚拟机窗口上则该窗口变为前置窗口。</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>鼠标前置窗口(&R)</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -2883,11 +3246,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>添加包</translation>
+        <translation type="obsolete">添加包</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>移除包</translation>
+        <translation type="obsolete">移除包</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -2905,6 +3268,22 @@
         <source>&Extension Packages</source>
         <translation>扩展包(&E)</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -2946,7 +3325,7 @@
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>主机的屏幕保护程序(&S):</translation>
+        <translation type="obsolete">主机的屏幕保护程序(&S):</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -2954,7 +3333,15 @@
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>虚拟机正在运行时禁用</translation>
+        <translation type="obsolete">虚拟机正在运行时禁用</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3001,11 +3388,19 @@
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>列出所有可配置的快捷键。</translation>
+        <translation type="obsolete">列出所有可配置的快捷键。</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>输入内容过滤快捷键列表。</translation>
+        <translation type="obsolete">输入内容过滤快捷键列表。</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3179,15 +3574,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>添加仅主机(Host-Only)网络(&A)</translation>
+        <translation type="obsolete">添加仅主机(Host-Only)网络(&A)</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>删除仅主机(Host-Only)网络(&R)</translation>
+        <translation type="obsolete">删除仅主机(Host-Only)网络(&R)</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>编辑仅主机(Host-Only)网络(&E)</translation>
+        <translation type="obsolete">编辑仅主机(Host-Only)网络(&E)</translation>
     </message>
     <message>
         <source>&Host-only Networks:</source>
@@ -3320,15 +3715,63 @@
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>添加NAT网络(&A)</translation>
+        <translation type="obsolete">添加NAT网络(&A)</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>移除NAT网络(&R)</translation>
+        <translation type="obsolete">移除NAT网络(&R)</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>编辑NAT网络(&E)</translation>
+        <translation type="obsolete">编辑NAT网络(&E)</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3443,7 +3886,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>为该仅主机(Host-Only)网络连接使用手动配置.</translation>
+        <translation type="obsolete">为该仅主机(Host-Only)网络连接使用手动配置.</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -3487,7 +3930,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>指示DHCP服务器在电脑开机时是否启用.</translation>
+        <translation type="obsolete">指示DHCP服务器在电脑开机时是否启用.</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -3521,6 +3964,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>显示 DHCP 服务器提供的最大地址.</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -3534,7 +3985,7 @@
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>启用此NAT网络。</translation>
+        <translation type="obsolete">启用此NAT网络。</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -3562,7 +4013,7 @@
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>确定网络是否支持DHCP.</translation>
+        <translation type="obsolete">确定网络是否支持DHCP.</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -3570,7 +4021,7 @@
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>确定网络是否支持IPv6.</translation>
+        <translation type="obsolete">确定网络是否支持IPv6.</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -3578,16 +4029,36 @@
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>确定是否将此网络建议为默认 IPv6 路径。</translation>
+        <translation type="obsolete">确定是否将此网络建议为默认 IPv6 路径。</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>打开管理端口转发规则的对话框。</translation>
+        <translation type="obsolete">打开管理端口转发规则的对话框。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>端口转发(&P)</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -3620,7 +4091,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>更改代理主机。</translation>
+        <translation type="obsolete">更改代理主机。</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -3628,7 +4099,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>更改代理端口。</translation>
+        <translation type="obsolete">更改代理端口。</translation>
     </message>
     <message>
         <source>When checked the authentication supplied will be used with the proxy server.</source>
@@ -3662,6 +4133,14 @@
         <source>No proxy port is currently specified.</source>
         <translation>未指定代理端口。</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -3679,7 +4158,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>指定应执行新版本检查的频率。请注意,如果您要完全禁用此检查,只需清除上面的复选框。</translation>
+        <translation type="obsolete">指定应执行新版本检查的频率。请注意,如果您要完全禁用此检查,只需清除上面的复选框。</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -3713,6 +4192,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>所有新发布和预发布的版本(&P)</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -3963,7 +4446,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>指示虚拟硬盘活动状态:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>指示虚拟硬盘活动状态:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the CD/DVD devices:</nobr>%1</p></source>
@@ -4036,7 +4519,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>指示键盘已被虚拟电脑捕获 (<img src=:/hostkey_captured_16px.png/>) 或未被捕获 (<img src=:/hostkey_16px.png/>).</translation>
+        <translation type="obsolete">指示键盘已被虚拟电脑捕获 (<img src=:/hostkey_captured_16px.png/>) 或未被捕获 (<img src=:/hostkey_16px.png/>).</translation>
     </message>
     <message>
         <source>Indicates whether the Remote Desktop Server is enabled (<img src=:/vrdp_16px.png/>) or not (<img src=:/vrdp_disabled_16px.png/>).</source>
@@ -4082,6 +4565,15 @@
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>指示软驱活动状态:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -4098,11 +4590,11 @@
     </message>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>预览监视器 %1</translation>
+        <translation type="obsolete">预览监视器 %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>备份 %1</translation>
+        <translation type="obsolete">备份 %1</translation>
     </message>
     <message>
         <source>No CD/DVD Devices Attached</source>
@@ -4122,11 +4614,11 @@
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>没有连接 USB 设备</translation>
+        <translation type="obsolete">没有连接 USB 设备</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>没有可用设备连接到主机</translation>
+        <translation type="obsolete">没有可用设备连接到主机</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -4134,19 +4626,19 @@
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>没有连接摄像头</translation>
+        <translation type="obsolete">没有连接摄像头</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>没有可用摄像头连接到主机</translation>
+        <translation type="obsolete">没有可用摄像头连接到主机</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>启用网络连接</translation>
+        <translation type="obsolete">启用网络连接</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>启用网络连接 %1</translation>
+        <translation type="obsolete">启用网络连接 %1</translation>
     </message>
 </context>
 <context>
@@ -4165,7 +4657,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>选择声卡类型。选项  <b>虚空音频驱动</b> 让虚拟电脑拥有一张声卡,但其输出的声音将被忽略。</translation>
+        <translation type="obsolete">选择声卡类型。选项  <b>虚空音频驱动</b> 让虚拟电脑拥有一张声卡,但其输出的声音将被忽略。</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -4175,6 +4667,10 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>指定声卡类型。根据这个值, VirtualBox 将为该虚拟电脑提供不同的声卡.</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
@@ -4184,7 +4680,7 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -4236,7 +4732,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>定义 VRDP 认证方式.</translation>
+        <translation type="obsolete">定义 VRDP 认证方式.</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -4244,7 +4740,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>指定客户认证超时时间,以毫秒为单位.</translation>
+        <translation type="obsolete">指定客户认证超时时间,以毫秒为单位.</translation>
     </message>
     <message>
         <source>you have assigned less than <b>%1</b> of video memory which is the minimum amount required for HD Video to be played efficiently.</source>
@@ -4260,7 +4756,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP 服务器端口号. 指定 <tt>0</tt> (零) 将使用默认的端口号3389.</translation>
+        <translation type="obsolete">VRDP 服务器端口号. 指定 <tt>0</tt> (零) 将使用默认的端口号3389.</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -4272,11 +4768,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>指定是否允许多个并发连接到虚拟电脑。</translation>
+        <translation type="obsolete">指定是否允许多个并发连接到虚拟电脑。</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -4314,7 +4810,7 @@
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>将录制内容保存到的文件名。</translation>
+        <translation type="obsolete">将录制内容保存到的文件名。</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -4322,15 +4818,11 @@
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>设定录像视频的分辨率(帧大小)。</translation>
+        <translation type="obsolete">设定录像视频的分辨率(帧大小)。</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>录像的<b>水平</b> 分辨率 (帧宽度) 。</translation>
-    </message>
-    <message>
-        <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation></translation>
+        <translation type="obsolete">录像的<b>水平</b> 分辨率 (帧宽度) 。</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -4338,7 +4830,7 @@
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>设置最大的 <b>每秒帧数</b>。会跳过多余帧。设定小一点的值会跳过更多帧,文件会小些。</translation>
+        <translation type="obsolete">设置最大的 <b>每秒帧数</b>。会跳过多余帧。设定小一点的值会跳过更多帧,文件会小些。</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -4346,11 +4838,11 @@
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>录像的 <b>品质</b>。增加此值可使录像看起来好些,但文件会大些。</translation>
+        <translation type="obsolete">录像的 <b>品质</b>。增加此值可使录像看起来好些,但文件会大些。</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>比特率 <b>千比特每秒</b>。增加此值可使录像看起来好些,但文件会大些。</translation>
+        <translation type="obsolete">比特率 <b>千比特每秒</b>。增加此值可使录像看起来好些,但文件会大些。</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -4362,7 +4854,7 @@
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>您分配了少于 <b>%1</b> 的显存,这会导致虚拟电脑无法切换到全屏模式或无缝模式。</translation>
+        <translation type="obsolete">您分配了少于 <b>%1</b> 的显存,这会导致虚拟电脑无法切换到全屏模式或无缝模式。</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -4421,7 +4913,7 @@
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>启用屏幕 %1 录像。</translation>
+        <translation type="obsolete">启用屏幕 %1 录像。</translation>
     </message>
     <message>
         <source>Mini ToolBar:</source>
@@ -4469,11 +4961,11 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
@@ -4481,18 +4973,82 @@
     </message>
     <message>
         <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <translation type="obsolete">HiDPI:</translation>
+    </message>
+    <message>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Use &Unscaled HiDPI Output</source>
+        <translation type="unfinished">用原始 HiDPI 输出(&U)</translation>
+    </message>
+    <message>
+        <source>Acceleration:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished">用原始 HiDPI 输出(&U)</translation>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -4500,7 +5056,7 @@
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>指定用于存放备份的文件夹。需要注意的是备份会占用一定的磁盘空间.</translation>
+        <translation type="obsolete">指定用于存放备份的文件夹。需要注意的是备份会占用一定的磁盘空间.</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -4608,7 +5164,7 @@
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>显示加密虚拟硬盘所用算法。</translation>
+        <translation type="obsolete">显示加密虚拟硬盘所用算法。</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -4647,6 +5203,14 @@
         <comment>cipher type</comment>
         <translation>不更改</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -4693,15 +5257,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>选中,将在全屏或无缝模式显示小工具栏。</translation>
+        <translation type="obsolete">选中,将在全屏或无缝模式显示小工具栏。</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>在全屏或无缝模式显示(&F)</translation>
+        <translation type="obsolete">在全屏或无缝模式显示(&F)</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>选中,小工具栏将出现在屏幕的顶部,而不是默认的底部位置。</translation>
+        <translation type="obsolete">选中,小工具栏将出现在屏幕的顶部,而不是默认的底部位置。</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -4711,6 +5275,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation>允许修改状态栏。</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -4732,7 +5308,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>设置虚拟电脑内的网络连接以何种方式接入到主机上的真实网络.</translation>
+        <translation type="obsolete">设置虚拟电脑内的网络连接以何种方式接入到主机上的真实网络.</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -4765,7 +5341,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>显示或隐藏额外的网络设置选项。</translation>
+        <translation type="obsolete">显示或隐藏额外的网络设置选项。</translation>
     </message>
     <message>
         <source>&Mac Address:</source>
@@ -4781,7 +5357,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>指示虚拟网线在启动时是否连接.</translation>
+        <translation type="obsolete">指示虚拟网线在启动时是否连接.</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -4789,7 +5365,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>打开管理端口转发规则的对话框。</translation>
+        <translation type="obsolete">打开管理端口转发规则的对话框。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -4810,7 +5386,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>在此输入将要使用的网络附件的任何配置设置。设置项的格式为<b>名称=值</b>,具体取值取决于驱动程序。使用 <b>shift-enter</b> 键来添加新项目。</translation>
+        <translation type="obsolete">在此输入将要使用的网络附件的任何配置设置。设置项的格式为<b>名称=值</b>,具体取值取决于驱动程序。使用 <b>shift-enter</b> 键来添加新项目。</translation>
     </message>
     <message>
         <source>no generic driver is selected</source>
@@ -4878,6 +5454,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>显示将连接到的NAT网络。可在全局设定中创建、删除全局网络设置。</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -4926,6 +5522,26 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>显示该并口的 I/O 端口地址,正确的数值为从 <tt>0</tt> 到 <tt>0xFFFF</tt>的整数.</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">未指定IRQ。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">未指定I/O端口。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">多个端口有同样的设置。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">未指定端口路径。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">重复指定了端口路径。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
@@ -4943,23 +5559,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>未指定IRQ。</translation>
+        <translation type="obsolete">未指定IRQ。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>未指定I/O端口。</translation>
+        <translation type="obsolete">未指定I/O端口。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>多个端口有同样的设置。</translation>
+        <translation type="obsolete">多个端口有同样的设置。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>未指定端口路径。</translation>
+        <translation type="obsolete">未指定端口路径。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>重复指定了端口路径。</translation>
+        <translation type="obsolete">重复指定了端口路径。</translation>
     </message>
 </context>
 <context>
@@ -4970,42 +5586,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>该表格包含了端口转发规则的列表。</translation>
+        <translation type="obsolete">该表格包含了端口转发规则的列表。</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>插入新规则</translation>
+        <translation type="obsolete">插入新规则</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>复制选定的规则</translation>
+        <translation type="obsolete">复制选定的规则</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>删除选定的规则</translation>
+        <translation type="obsolete">删除选定的规则</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>该按钮添加新的端口转发规则。</translation>
+        <translation type="obsolete">该按钮添加新的端口转发规则。</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>该按钮删除选定的端口转发规则。</translation>
+        <translation type="obsolete">该按钮删除选定的端口转发规则。</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>添加一个新的共享文件夹定义。</translation>
+        <translation type="obsolete">添加一个新的共享文件夹定义。</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>编辑选定的共享文件夹定义。</translation>
+        <translation type="obsolete">编辑选定的共享文件夹定义。</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>移除选定的共享文件夹定义。</translation>
+        <translation type="obsolete">移除选定的共享文件夹定义。</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -5041,15 +5657,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>添加共享文件夹(&A)</translation>
+        <translation type="obsolete">添加共享文件夹(&A)</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>编辑共享文件夹(&E)</translation>
+        <translation type="obsolete">编辑共享文件夹(&E)</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>移除共享文件夹(&R)</translation>
+        <translation type="obsolete">移除共享文件夹(&R)</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -5063,6 +5679,30 @@
         <source>Yes</source>
         <translation>是</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -5112,7 +5752,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>选中时,该共享文件夹将是永久性的。</translation>
+        <translation type="obsolete">选中时,该共享文件夹将是永久性的。</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5152,7 +5796,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>控制该串口的工作模式,如果您选择 <b>断开</b>, 虚拟电脑中的系统将检测到该串口,但无法进行操作.</translation>
+        <translation type="obsolete">控制该串口的工作模式,如果您选择 <b>断开</b>, 虚拟电脑中的系统将检测到该串口,但无法进行操作.</translation>
     </message>
     <message>
         <source>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe exists and try to use it.</source>
@@ -5180,7 +5824,7 @@
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>如果选中,虚拟电脑将假设在 <b>路径/地址</b>域中指定的通道或套接字存在并尝试启用之,否则将在启动时创建之。</translation>
+        <translation type="obsolete">如果选中,虚拟电脑将假设在 <b>路径/地址</b>域中指定的通道或套接字存在并尝试启用之,否则将在启动时创建之。</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -5194,6 +5838,34 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>在 <b>主机通道</b> 模式: 显示到主机串口通道的路径. 例如: "\\.\pipe\myvbox" 或 "/tmp/myvbox", 对应 Windows 与 类UNIX 系统.</p><p>在 <b>主机设备</b> 模式: 显示主机串口设备名称. 例如: "COM1" 或 "/dev/ttyS0".</p><p>在 <b>裸文件</b> 模式: 显示主机中的串口输出存储文件的路径.</p><p>在 <b>TCP</b> 模式: 显示 TCP "端口" (服务器), 或 "主机名:端口" (客户端).</translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">未指定IRQ。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">未指定I/O端口。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">多个端口有同样的设置。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">未指定端口路径。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">重复指定了端口路径。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
@@ -5211,23 +5883,23 @@
     </message>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>未指定IRQ。</translation>
+        <translation type="obsolete">未指定IRQ。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>未指定I/O端口。</translation>
+        <translation type="obsolete">未指定I/O端口。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>多个端口有同样的设置。</translation>
+        <translation type="obsolete">多个端口有同样的设置。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>未指定端口路径。</translation>
+        <translation type="obsolete">未指定端口路径。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>重复指定了端口路径。</translation>
+        <translation type="obsolete">重复指定了端口路径。</translation>
     </message>
 </context>
 <context>
@@ -5238,11 +5910,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>展开/折叠&nbsp;项目</nobr></translation>
+        <translation type="obsolete"><nobr>展开/折叠&nbsp;项目</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>添加&nbsp;虚拟&nbsp;硬盘</nobr></translation>
+        <translation type="obsolete"><nobr>添加&nbsp;虚拟&nbsp;硬盘</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;CD/DVD&nbsp;Device</nobr></source>
@@ -5302,19 +5974,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>添加一个新的控制器到存储树的结尾。</translation>
+        <translation type="obsolete">添加一个新的控制器到存储树的结尾。</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>从存储树中删除选中的控制器。</translation>
+        <translation type="obsolete">从存储树中删除选中的控制器。</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>添加一个新盘到存储树的当前控制器。</translation>
+        <translation type="obsolete">添加一个新盘到存储树的当前控制器。</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>从存储树中删除选中的盘片。</translation>
+        <translation type="obsolete">从存储树中删除选中的盘片。</translation>
     </message>
     <message>
         <source>IDE Controller</source>
@@ -5342,7 +6014,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>包含分配给该虚拟电脑的所有存储控制器、虚拟硬盘、虚拟光盘、虚拟软盘,以及光驱和软驱。</translation>
+        <translation type="obsolete">包含分配给该虚拟电脑的所有存储控制器、虚拟硬盘、虚拟光盘、虚拟软盘,以及光驱和软驱。</translation>
     </message>
     <message>
         <source>Information</source>
@@ -5362,7 +6034,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>改变当前选中的存储树中的控制器的名称。</translation>
+        <translation type="obsolete">改变当前选中的存储树中的控制器的名称。</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -5410,7 +6082,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>允许使用主机输入输出 (I/O) 缓存功能。</translation>
+        <translation type="obsolete">允许使用主机输入输出 (I/O) 缓存功能。</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -5434,7 +6106,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>映像</translation>
+        <translation type="obsolete">映像</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -5442,7 +6114,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>设置虚拟硬盘</translation>
+        <translation type="obsolete">设置虚拟硬盘</translation>
     </message>
     <message>
         <source>CD/DVD &Drive:</source>
@@ -5466,15 +6138,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>设置虚拟软盘</translation>
+        <translation type="obsolete">设置虚拟软盘</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>创建一个新的虚拟硬盘...</translation>
+        <translation type="obsolete">创建一个新的虚拟硬盘...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>选择一个虚拟硬盘...</translation>
+        <translation type="obsolete">选择一个虚拟硬盘...</translation>
     </message>
     <message>
         <source>Choose a virtual CD/DVD disk file...</source>
@@ -5486,11 +6158,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>选择一个虚拟软盘...</translation>
+        <translation type="obsolete">选择一个虚拟软盘...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>选中时,虚拟机系统弹出光盘时将不会移出虚拟盘。</translation>
+        <translation type="obsolete">选中时,虚拟机系统弹出光盘时将不会移出虚拟盘。</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -5499,7 +6171,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>选中时,虚拟机系统会将虚拟磁盘视为固态设备。</translation>
+        <translation type="obsolete">选中时,虚拟机系统会将虚拟磁盘视为固态设备。</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -5575,7 +6247,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>选中时,虚拟机系统会将虚拟磁盘视为热插拔设备。</translation>
+        <translation type="obsolete">选中时,虚拟机系统会将虚拟磁盘视为热插拔设备。</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -5583,15 +6255,15 @@
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>选择一个虚拟光盘文件...</translation>
+        <translation type="obsolete">选择一个虚拟光盘文件...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>添加&nbsp;虚拟&nbsp;光驱</nobr></translation>
+        <translation type="obsolete"><nobr>添加&nbsp;虚拟&nbsp;光驱</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>添加&nbsp;虚拟&nbsp;软驱</nobr></translation>
+        <translation type="obsolete"><nobr>添加&nbsp;虚拟&nbsp;软驱</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -5611,12 +6283,97 @@
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>设置虚拟光盘</translation>
+        <translation type="obsolete">设置虚拟光盘</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">映像</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
@@ -5646,12 +6403,12 @@
     </message>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp;MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp;个</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;个</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -5679,7 +6436,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>向下移动 (Ctrl-Down)</translation>
+        <translation type="obsolete">向下移动 (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -5687,7 +6444,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>向上移动 (Ctrl-Up)</translation>
+        <translation type="obsolete">向上移动 (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -5748,7 +6505,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp;个</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp;个</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -5760,7 +6517,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>选中时,RTC时钟设备将使用国际标准时间(UTC),否则使用当地(本机)时间。Unix系统通常预计硬件时钟设置为国际标准时间(UTC)。</translation>
+        <translation type="obsolete">选中时,RTC时钟设备将使用国际标准时间(UTC),否则使用当地(本机)时间。Unix系统通常预计硬件时钟设置为国际标准时间(UTC)。</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -5805,12 +6562,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>you have assigned ICH9 chipset type to this VM. It will not work properly unless the IO-APIC feature is also enabled. This will be done automatically when you accept the VM Settings by pressing the OK button.</source>
@@ -5872,56 +6629,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>尚未启用硬件虚拟。支持多个虚拟处理器时需要启用。当你按确认按钮接受虚拟机设定的时此选项将被启用。</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>添加一个空的筛选器(&A)</translation>
+        <translation type="obsolete">添加一个空的筛选器(&A)</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>从设备列表中添加筛选器(&d)</translation>
+        <translation type="obsolete">从设备列表中添加筛选器(&d)</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>编辑筛选器(&E)</translation>
+        <translation type="obsolete">编辑筛选器(&E)</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>删除筛选器(&R)</translation>
+        <translation type="obsolete">删除筛选器(&R)</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>向上移动筛选器(&M)</translation>
+        <translation type="obsolete">向上移动筛选器(&M)</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>向下移动筛选器(&o)</translation>
+        <translation type="obsolete">向下移动筛选器(&o)</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>添加一个各个域的值都为空的USB筛选器。需要注意的是:这样的筛选器将会匹配所有连接到主机上的USB设备.</translation>
+        <translation type="obsolete">添加一个各个域的值都为空的USB筛选器。需要注意的是:这样的筛选器将会匹配所有连接到主机上的USB设备.</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>添加一个USB筛选器,并把其各个域的值设置为当前选中的已连接到主机上的USB设备.</translation>
+        <translation type="obsolete">添加一个USB筛选器,并把其各个域的值设置为当前选中的已连接到主机上的USB设备.</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>编辑所选的USB筛选器.</translation>
+        <translation type="obsolete">编辑所选的USB筛选器.</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>删除所选的USB筛选器.</translation>
+        <translation type="obsolete">删除所选的USB筛选器.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>向上移动所选的USB筛选器.</translation>
+        <translation type="obsolete">向上移动所选的USB筛选器.</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>向下移动所选的USB筛选器.</translation>
+        <translation type="obsolete">向下移动所选的USB筛选器.</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -5938,7 +6721,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>选中时,在该虚拟电脑上启用 USB EHCI 控制器。该控制器将提供 USB 2.0支持.</translation>
+        <translation type="obsolete">选中时,在该虚拟电脑上启用 USB EHCI 控制器。该控制器将提供 USB 2.0支持.</translation>
     </message>
     <message>
         <source>Enable USB 2.0 (E&HCI) Controller</source>
@@ -6003,7 +6786,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>选中时,在该虚拟电脑上启用 USB OHCI 控制器。该控制器将提供 USB 1.0支持.</translation>
+        <translation type="obsolete">选中时,在该虚拟电脑上启用 USB OHCI 控制器。该控制器将提供 USB 1.0支持.</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -6015,7 +6798,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>选中时,在该虚拟电脑上启用 USB xHCI 控制器。该控制器将提供 USB 3.0支持.</translation>
+        <translation type="obsolete">选中时,在该虚拟电脑上启用 USB xHCI 控制器。该控制器将提供 USB 3.0支持.</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -6025,6 +6808,66 @@
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>本虚拟机当前已启用 USB 2.0/3.0。然而,这需要安装 <i>%1</i>。请从 VirtualBox 下载站中安装“扩展增强包”。或者禁用 USB 2.0/3.0 以便启动虚拟电脑。</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -6057,7 +6900,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>定义供应商标识筛选器。其中<i>精确匹配</i> 字符串的格式为 <tt>XXXX</tt> 其中<tt>X</tt> 为十六进制字符, 空字符串会匹配所有值.</translation>
+        <translation type="obsolete">定义供应商标识筛选器。其中<i>精确匹配</i> 字符串的格式为 <tt>XXXX</tt> 其中<tt>X</tt> 为十六进制字符, 空字符串会匹配所有值.</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -6065,7 +6908,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>定义产品标识筛选器。其中<i>精确匹配</i> 字符串的格式为 <tt>XXXX</tt> 其中<tt>X</tt> 为十六进制字符.,空字符串会匹配所有值.</translation>
+        <translation type="obsolete">定义产品标识筛选器。其中<i>精确匹配</i> 字符串的格式为 <tt>XXXX</tt> 其中<tt>X</tt> 为十六进制字符.,空字符串会匹配所有值.</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -6073,7 +6916,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>定义修订版本号筛选器。其中<i>精确匹配</i> 字符串的格式为  <tt>IIFF</tt> ,其中<tt>I</tt> 为整数部分的十进制字符,而 <tt>F</tt>为小数部分的十进制字符。空字符串会匹配所有值。</translation>
+        <translation type="obsolete">定义修订版本号筛选器。其中<i>精确匹配</i> 字符串的格式为  <tt>IIFF</tt> ,其中<tt>I</tt> 为整数部分的十进制字符,而 <tt>F</tt>为小数部分的十进制字符。空字符串会匹配所有值。</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -6081,7 +6924,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定义制造商筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值。</translation>
+        <translation type="obsolete">定义制造商筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值。</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -6089,7 +6932,7 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定义产品筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
+        <translation type="obsolete">定义产品筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
     </message>
     <message>
         <source>&Serial No.:</source>
@@ -6097,7 +6940,7 @@
     </message>
     <message>
         <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定义序号筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
+        <translation type="obsolete">定义序号筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
     </message>
     <message>
         <source>Por&t:</source>
@@ -6105,7 +6948,7 @@
     </message>
     <message>
         <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定义主机 USB 端口筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
+        <translation type="obsolete">定义主机 USB 端口筛选器为一 <i>精确匹配</i> 字符串,空字符串会匹配所有值.</translation>
     </message>
     <message>
         <source>R&emote:</source>
@@ -6113,7 +6956,7 @@
     </message>
     <message>
         <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>指定是否将该筛选器应用到连接在本地电脑的USB设备 (<i>否</i>),连接在VRDP客户端的USB设备 (<i>是</i>),或两者的任何一个 (<i>任何</i>).</translation>
+        <translation type="obsolete">指定是否将该筛选器应用到连接在本地电脑的USB设备 (<i>否</i>),连接在VRDP客户端的USB设备 (<i>是</i>),或两者的任何一个 (<i>任何</i>).</translation>
     </message>
     <message>
         <source>&Action:</source>
@@ -6124,8 +6967,40 @@
         <translation type="obsolete">定义当一个匹配的设备连接到电脑时: 是将它分配给主控系统(<i>Ignore</i>) 还是直接分配给该虚拟电脑(<i>Hold</i>).</translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>USB 筛选器明细</translation>
+        <source>USB Filter Details</source>
+        <translation>USB 筛选器明细</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6146,7 +7021,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>虚拟硬盘(&H)</translation>
+        <translation type="obsolete">虚拟硬盘(&H)</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -6168,6 +7043,10 @@
         <source>Removing medium...</source>
         <translation>移除介质...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -6546,7 +7425,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>无法切换到全屏模式,因为虚拟电脑上没有足够的显存.</p><p>你应该重新设置虚拟电脑让它至少拥有 <b>%1</b> 的显存.</p><p>按 <b>忽略</b> 强制切换到全屏模式或按 <b>取消</b> 撤消该操作.</p></translation>
+        <translation type="obsolete"><p>无法切换到全屏模式,因为虚拟电脑上没有足够的显存.</p><p>你应该重新设置虚拟电脑让它至少拥有 <b>%1</b> 的显存.</p><p>按 <b>忽略</b> 强制切换到全屏模式或按 <b>取消</b> 撤消该操作.</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -6648,7 +7527,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>你是否要删除虚拟硬盘文件 <nobr><b>%1</b></nobr>?</p><p>如果你选择 <b>删除</b> 该硬盘文件将被永久性删除. 这个操作是<b>无法撤消的</b>.</p><p>如果你选择 <b>保留</b> 该虚拟硬盘只是从列表中删除, 但仍会保留在你的硬盘上, 因此今后还可将它添加到此列表中.</p></translation>
+        <translation type="obsolete"><p>你是否要删除虚拟硬盘文件 <nobr><b>%1</b></nobr>?</p><p>如果你选择 <b>删除</b> 该硬盘文件将被永久性删除. 这个操作是<b>无法撤消的</b>.</p><p>如果你选择 <b>保留</b> 该虚拟硬盘只是从列表中删除, 但仍会保留在你的硬盘上, 因此今后还可将它添加到此列表中.</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -6802,7 +7681,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>删除该备份意味着存放在该备份中的信息将完全丢失。 这个过程会花费较多时间,请耐心等待, 同时请注意:该操作一旦执行就无法撤销。</p></p>您确定要删除所选择的备份 <b>%1</b>?</p></translation>
+        <translation type="obsolete"><p>删除该备份意味着存放在该备份中的信息将完全丢失。 这个过程会花费较多时间,请耐心等待, 同时请注意:该操作一旦执行就无法撤销。</p></p>您确定要删除所选择的备份 <b>%1</b>?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -6893,7 +7772,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>删除备份 %1 将临时需要很多磁盘空间。最坏的打算,映像 %2 将增长 %3,然而,在该文件系统中只有 %4 的可用空间。</p><p>合并操作期间磁盘空间不足而继续运行,可能会导致映像和虚拟机配置的损坏,如丢失虚拟机及其数据。</p><p>您可以继续删除快照,但风险请自负。</p></translation>
+        <translation type="obsolete"><p>删除备份 %1 将临时需要很多磁盘空间。最坏的打算,映像 %2 将增长 %3,然而,在该文件系统中只有 %4 的可用空间。</p><p>合并操作期间磁盘空间不足而继续运行,可能会导致映像和虚拟机配置的损坏,如丢失虚拟机及其数据。</p><p>您可以继续删除快照,但风险请自负。</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -7061,7 +7940,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>虚拟机窗口现在将切换为<b>全屏</b>模式。您可以按 <b>%1</b> 随时返回窗口模式。</p><p>注意,<b>主机(Host)</b>键当前定义为 <b>%2</b>。</p><p>注意,全屏模式下主菜单栏是隐藏的。您可以按 <b>主机键+Home</b> 来访问主菜单栏。</p></translation>
+        <translation type="obsolete"><p>虚拟机窗口现在将切换为<b>全屏</b>模式。您可以按 <b>%1</b> 随时返回窗口模式。</p><p>注意,<b>主机(Host)</b>键当前定义为 <b>%2</b>。</p><p>注意,全屏模式下主菜单栏是隐藏的。您可以按 <b>主机键+Home</b> 来访问主菜单栏。</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -7295,7 +8174,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>你将新建一个没有虚拟硬盘的虚拟电脑。 只有添加了虚拟硬盘才能在虚拟电脑中安装操作系统。 目前你只能从虚拟光驱或网络上启动虚拟电脑。</translation>
+        <translation type="obsolete">你将新建一个没有虚拟硬盘的虚拟电脑。 只有添加了虚拟硬盘才能在虚拟电脑中安装操作系统。 目前你只能从虚拟光驱或网络上启动虚拟电脑。</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -7416,15 +8295,15 @@
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您是否确定要释放虚拟硬盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>您是否确定要释放虚拟硬盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您是否确定要释放虚拟光盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>您是否确定要释放虚拟光盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您是否确定要释放虚拟软盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
+        <translation type="obsolete"><p>您是否确定要释放虚拟软盘 <nobr><b>%1</b></nobr>?</p><p>这会从下列虚拟电脑中解除绑定: <b>%2</b>.</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -7468,27 +8347,27 @@
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>打开硬盘文件<nobr><b>%1</b></nobr> 失败.</translation>
+        <translation type="obsolete">打开硬盘文件<nobr><b>%1</b></nobr> 失败.</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>打开光盘文件<nobr><b>%1</b></nobr> 失败.</translation>
+        <translation type="obsolete">打开光盘文件<nobr><b>%1</b></nobr> 失败.</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>打开软盘文件<nobr><b>%1</b></nobr> 失败.</translation>
+        <translation type="obsolete">打开软盘文件<nobr><b>%1</b></nobr> 失败.</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>关闭硬盘文件<nobr><b>%2</b></nobr> 失败.</translation>
+        <translation type="obsolete">关闭硬盘文件<nobr><b>%2</b></nobr> 失败.</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>关闭光盘文件<nobr><b>%2</b></nobr> 失败.</translation>
+        <translation type="obsolete">关闭光盘文件<nobr><b>%2</b></nobr> 失败.</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>关闭软盘文件<nobr><b>%2</b></nobr> 失败.</translation>
+        <translation type="obsolete">关闭软盘文件<nobr><b>%2</b></nobr> 失败.</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -7609,7 +8488,7 @@
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>有一个或多个虚拟硬盘、光盘或软盘当前无法访问.。因此,你可能无法打开那些要使用这些介质的虚拟电脑直到它可以再次访问为止.</p><p>按 <b>检测</b> 打开虚拟介质管理器可以查看那些无法访问的介质,或按 <b>忽略</b> 忽略这个提示.</p></translation>
+        <translation type="obsolete"><p>有一个或多个虚拟硬盘、光盘或软盘当前无法访问.。因此,你可能无法打开那些要使用这些介质的虚拟电脑直到它可以再次访问为止.</p><p>按 <b>检测</b> 打开虚拟介质管理器可以查看那些无法访问的介质,或按 <b>忽略</b> 忽略这个提示.</p></translation>
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -7712,6 +8591,46 @@
         <source>Drag and drop operation from guest to host failed.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniProcessWidgetUserManual</name>
@@ -8251,27 +9170,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>名称</translation>
+        <translation type="obsolete">名称</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">协议</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">主机IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">主机端口</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">子系统IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">子系统端口</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>协议</translation>
+        <translation type="unfinished">协议</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>主机IP</translation>
+        <translation type="unfinished">主机IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>主机端口</translation>
+        <translation type="unfinished">主机端口</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>子系统IP</translation>
+        <translation type="unfinished">子系统IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>子系统端口</translation>
+        <translation type="unfinished">子系统端口</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -8498,7 +9472,7 @@
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr><b>点击</b> 切换状态.</nobr><br><nobr><b>拖放</b> 更改位置.</nobr></translation>
+        <translation type="obsolete"><nobr><b>点击</b> 切换状态.</nobr><br><nobr><b>拖放</b> 更改位置.</nobr></translation>
     </message>
 </context>
 <context>
@@ -8511,6 +9485,10 @@
         <source>Enable Status Bar</source>
         <translation>显示状态栏</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>点击</b> 切换状态.</nobr><br><nobr><b>拖放</b> 更改位置.</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -8915,7 +9893,7 @@
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>复制虚拟硬盘</translation>
+        <translation type="obsolete">复制虚拟硬盘</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -8923,45 +9901,45 @@
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>要复制的硬盘</translation>
+        <translation type="obsolete">要复制的硬盘</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>请选择要复制的虚拟磁盘。您可以从列表中选择一个,或使用列表旁边的文件夹图标来选择一个虚拟磁盘文件。</p></translation>
+        <translation type="obsolete"><p>请选择要复制的虚拟磁盘。您可以从列表中选择一个,或使用列表旁边的文件夹图标来选择一个虚拟磁盘文件。</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
         <translatorcomment>TODO</translatorcomment>
-        <translation>选择一个虚拟硬盘...</translation>
+        <translation type="obsolete">选择一个虚拟硬盘...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>虚拟硬盘文件类型</translation>
+        <translation type="obsolete">虚拟硬盘文件类型</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
         <translatorcomment>TODO</translatorcomment>
-        <translation>请选择您想要用于新建虚拟磁盘的文件类型。如果您不需要其他虚拟化软件使用它,您可以让此设置保持不更改状态。</translation>
+        <translation type="obsolete">请选择您想要用于新建虚拟磁盘的文件类型。如果您不需要其他虚拟化软件使用它,您可以让此设置保持不更改状态。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>存储在物理硬盘上</translation>
+        <translation type="obsolete">存储在物理硬盘上</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>请选择新建虚拟硬盘文件是应该为其使用而分配(动态分配),还是应该创建完全分配(固定分配)。</translation>
+        <translation type="obsolete">请选择新建虚拟硬盘文件是应该为其使用而分配(动态分配),还是应该创建完全分配(固定分配)。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>动态分配</b>的虚拟磁盘只是逐渐占用物理硬盘的空间 (直至达到 <b>分配的大小</b>), 不过当其内部空间不用时不会自动缩减占用的物理硬盘空间。</p></translation>
+        <translation type="obsolete"><p><b>动态分配</b>的虚拟磁盘只是逐渐占用物理硬盘的空间 (直至达到 <b>分配的大小</b>), 不过当其内部空间不用时不会自动缩减占用的物理硬盘空间。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定大小</b>的虚拟磁盘文件可能在某些系统中要花很长时间来创建,但它往往使用起来较快。</p></translation>
+        <translation type="obsolete"><p><b>固定大小</b>的虚拟磁盘文件可能在某些系统中要花很长时间来创建,但它往往使用起来较快。</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>您也可以选择将虚拟磁盘<b>分割</b>为 2GB 以下大小的几个文件。如果您想要在可移动 USB 设备或旧系统中存储虚拟机,这将会很有用,因为它们不能处理非常大型的文件。</translation>
+        <translation type="obsolete"><p>您也可以选择将虚拟磁盘<b>分割</b>为 2GB 以下大小的几个文件。如果您想要在可移动 USB 设备或旧系统中存储虚拟机,这将会很有用,因为它们不能处理非常大型的文件。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -8977,19 +9955,19 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>请选择虚拟硬盘文件保存的位置</translation>
+        <translation type="obsolete">请选择虚拟硬盘文件保存的位置</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>要创建的新虚拟硬盘</translation>
+        <translation type="obsolete">要创建的新虚拟硬盘</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>请在下面的框中键入新建虚拟硬盘文件的名称,或单击文件夹图标来选择创建文件要保存到的文件夹。</translation>
+        <translation type="obsolete">请在下面的框中键入新建虚拟硬盘文件的名称,或单击文件夹图标来选择创建文件要保存到的文件夹。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>选择虚拟硬盘文件保存的位置...</translation>
+        <translation type="obsolete">选择虚拟硬盘文件保存的位置...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -8998,15 +9976,87 @@
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>要复制的硬盘(&C)</translation>
+        <translation type="obsolete">要复制的硬盘(&C)</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>要创建的新虚拟硬盘(&N)</translation>
+        <translation type="obsolete">要创建的新虚拟硬盘(&N)</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>虚拟硬盘文件类型(&T)</translation>
+        <translation type="obsolete">虚拟硬盘文件类型(&T)</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9050,7 +10100,7 @@
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>请选择创建副本的方式。</p><p>若选择 <b>完全复制</b>, 则生成一个与原虚拟电脑完整的副本(复制全部虚拟硬盘文件)。</p><p>若选择 <b>链接复制</b>,则生成一个新虚拟电脑,不过新虚拟电脑的虚拟硬盘是绑定到原虚拟电脑的虚拟硬盘的,因此这种副本要移动到别的电脑上的时候,需要将原虚拟电脑一并移动。</p></translation>
+        <translation type="obsolete"><p>请选择创建副本的方式。</p><p>若选择 <b>完全复制</b>, 则生成一个与原虚拟电脑完整的副本(复制全部虚拟硬盘文件)。</p><p>若选择 <b>链接复制</b>,则生成一个新虚拟电脑,不过新虚拟电脑的虚拟硬盘是绑定到原虚拟电脑的虚拟硬盘的,因此这种副本要移动到别的电脑上的时候,需要将原虚拟电脑一并移动。</p></translation>
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -9109,6 +10159,10 @@
         <source>&Linked Clone</source>
         <translation>链接复制(&L)</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -9386,7 +10440,7 @@
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>创建虚拟硬盘</translation>
+        <translation type="obsolete">创建虚拟硬盘</translation>
     </message>
     <message>
         <source>Create</source>
@@ -9394,31 +10448,31 @@
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>虚拟硬盘文件类型</translation>
+        <translation type="obsolete">虚拟硬盘文件类型</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>请选择您想要用于新建虚拟硬盘的文件类型。如果您不需要其他虚拟化软件使用它,您可以让此设置保持不更改状态。</translation>
+        <translation type="obsolete">请选择您想要用于新建虚拟硬盘的文件类型。如果您不需要其他虚拟化软件使用它,您可以让此设置保持不更改状态。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>存储在物理硬盘上</translation>
+        <translation type="obsolete">存储在物理硬盘上</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>请选择新建虚拟硬盘文件是应该为其使用而分配(动态分配),还是应该创建完全分配(固定分配)。</translation>
+        <translation type="obsolete">请选择新建虚拟硬盘文件是应该为其使用而分配(动态分配),还是应该创建完全分配(固定分配)。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>动态分配</b>的虚拟磁盘只是逐渐占用物理硬盘的空间 (直至达到 <b>分配的大小</b>), 不过当其内部空间不用时不会自动缩减占用的物理硬盘空间。</p></translation>
+        <translation type="obsolete"><p><b>动态分配</b>的虚拟磁盘只是逐渐占用物理硬盘的空间 (直至达到 <b>分配的大小</b>), 不过当其内部空间不用时不会自动缩减占用的物理硬盘空间。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定大小</b>的虚拟磁盘文件可能在某些系统中要花很长时间来创建,但它往往使用起来较快。</p></translation>
+        <translation type="obsolete"><p><b>固定大小</b>的虚拟磁盘文件可能在某些系统中要花很长时间来创建,但它往往使用起来较快。</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>您也可以选择将虚拟磁盘<b>分割</b>为 2GB 以下大小的几个文件。如果您想要在可移动 USB 设备或旧系统中存储虚拟机,这将会很有用,因为它们不能处理非常大型的文件。</translation>
+        <translation type="obsolete"><p>您也可以选择将虚拟磁盘<b>分割</b>为 2GB 以下大小的几个文件。如果您想要在可移动 USB 设备或旧系统中存储虚拟机,这将会很有用,因为它们不能处理非常大型的文件。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -9442,16 +10496,16 @@
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>请在下面的框中键入新建虚拟硬盘文件的名称,或单击文件夹图标来选择创建文件要保存到的文件夹。</translation>
+        <translation type="obsolete">请在下面的框中键入新建虚拟硬盘文件的名称,或单击文件夹图标来选择创建文件要保存到的文件夹。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>选择虚拟硬盘文件保存的位置...</translation>
+        <translation type="obsolete">选择虚拟硬盘文件保存的位置...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
         <translatorcomment>TODO</translatorcomment>
-        <translation>选择虚拟硬盘的大小。此大小为虚拟硬盘文件在实际硬盘中能用的极限大小。</translation>
+        <translation type="obsolete">选择虚拟硬盘的大小。此大小为虚拟硬盘文件在实际硬盘中能用的极限大小。</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -9463,7 +10517,55 @@
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>虚拟硬盘文件类型(&T)</translation>
+        <translation type="obsolete">虚拟硬盘文件类型(&T)</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9515,11 +10617,11 @@
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>虚拟硬盘</translation>
+        <translation type="obsolete">虚拟硬盘</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>你可以添加虚拟硬盘到新虚拟电脑中。新建一个虚拟硬盘文件或从列表或用文件夹图标从其他位置选择一个。</p><p>如果想更灵活地配置虚拟硬盘,也可以跳过这一步,在创建虚拟电脑之后在配置中设定。</p><p>建议的硬盘大小为 <b>%1</b>。</p></translation>
+        <translation type="obsolete"><p>你可以添加虚拟硬盘到新虚拟电脑中。新建一个虚拟硬盘文件或从列表或用文件夹图标从其他位置选择一个。</p><p>如果想更灵活地配置虚拟硬盘,也可以跳过这一步,在创建虚拟电脑之后在配置中设定。</p><p>建议的硬盘大小为 <b>%1</b>。</p></translation>
     </message>
     <message>
         <source>&Do not add virtual hard drive</source>
@@ -9535,7 +10637,7 @@
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>选择一个虚拟硬盘...</translation>
+        <translation type="obsolete">选择一个虚拟硬盘...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -9543,15 +10645,39 @@
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>不添加虚拟硬盘(&D)</translation>
+        <translation type="obsolete">不添加虚拟硬盘(&D)</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>现在创建虚拟硬盘(&C)</translation>
+        <translation type="obsolete">现在创建虚拟硬盘(&C)</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>使用已有的虚拟硬盘文件(&U)</translation>
+        <translation type="obsolete">使用已有的虚拟硬盘文件(&U)</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">选择一个虚拟硬盘...</translation>
     </message>
 </context>
 <context>
@@ -9608,7 +10734,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>打开对话框选择另一文件夹.</translation>
+        <translation type="obsolete">打开对话框选择另一文件夹.</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -9616,7 +10742,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>打开对话框选择另一文件.</translation>
+        <translation type="obsolete">打开对话框选择另一文件.</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -9628,16 +10754,32 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>请在此输入目标文件夹路径.</translation>
+        <translation type="obsolete">请在此输入目标文件夹路径.</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>请在此输入目标文件路径.</translation>
+        <translation type="obsolete">请在此输入目标文件路径.</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>当保存变化后再打开本对话框时,将显示新的默认路径.</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobal</name>
@@ -10516,7 +11658,7 @@
     <message>
         <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
         <comment>medium</comment>
-        <translation type="obsolete">分配此硬盘将间接使用最近创建的备份硬盘。</translation>
+        <translation type="unfinished">分配此硬盘将间接使用最近创建的备份硬盘。</translation>
     </message>
     <message>
         <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Media Manager in <b>Show Differencing Hard Disks</b> mode to inspect these files.</source>
@@ -10527,7 +11669,7 @@
         <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
         <comment>medium</comment>
         <translatorcomment>TODO</translatorcomment>
-        <translation type="obsolete">该基本硬盘是使用以下备份硬盘间接分配的:</translation>
+        <translation type="unfinished">该基本硬盘是使用以下备份硬盘间接分配的:</translation>
     </message>
     <message numerus="yes">
         <source>%n year(s)</source>
@@ -11061,11 +12203,11 @@
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>选择一个虚拟硬盘</translation>
+        <translation type="obsolete">选择一个虚拟硬盘</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>全部虚拟硬盘文件(%1)</translation>
+        <translation type="obsolete">全部虚拟硬盘文件(%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -11109,7 +12251,7 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>请选择虚拟硬盘文件保存的位置</translation>
+        <translation type="obsolete">请选择虚拟硬盘文件保存的位置</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -11293,23 +12435,40 @@
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>分配此硬盘将间接使用最近创建的备份硬盘。</translation>
+        <translation type="obsolete">分配此硬盘将间接使用最近创建的备份硬盘。</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>该硬盘链中的某些介质不可访问。请使用“虚拟机介质管理器”来检查这些介质。</translation>
+        <translation type="obsolete">该硬盘链中的某些介质不可访问。请使用“虚拟机介质管理器”来检查这些介质。</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>该基本硬盘是使用以下备份硬盘间接分配的:</translation>
+        <translation type="obsolete">该基本硬盘是使用以下备份硬盘间接分配的:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -11953,7 +13112,7 @@
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>显示所选备份明细</translation>
+        <translation type="obsolete">显示所选备份明细</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -11969,11 +13128,11 @@
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>恢复虚拟电脑到所选备份时的状态</translation>
+        <translation type="obsolete">恢复虚拟电脑到所选备份时的状态</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>删除所选备份</translation>
+        <translation type="obsolete">删除所选备份</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -11985,7 +13144,23 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>复制所选的虚拟电脑</translation>
+        <translation type="obsolete">复制所选的虚拟电脑</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -12020,6 +13195,10 @@
             <numerusform>警告: 您正在获取所运行虚拟机的备份,它有 %n 项不可改变的映像分配给它。生成备份时,那些不可改变的映像将不被重置以避免丢失数据。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">备份 %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
index ab66d18..127e455 100644
--- a/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
+++ b/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts
@@ -160,7 +160,7 @@
     </message>
     <message>
         <source>Automatically resize the guest display when the window is resized (requires Guest Additions)</source>
-        <translation>當變更視窗大小時自動調整客體顯示的大小 (需要 Guest Additions)</translation>
+        <translation type="obsolete">當變更視窗大小時自動調整客體顯示的大小 (需要 Guest Additions)</translation>
     </message>
     <message>
         <source>&Adjust Window Size</source>
@@ -196,7 +196,7 @@
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the virtual machine</source>
-        <translation>傳送按下 ACPI 電源開關按鈕事件到虛擬機器</translation>
+        <translation type="obsolete">傳送按下 ACPI 電源開關按鈕事件到虛擬機器</translation>
     </message>
     <message>
         <source>&Close...</source>
@@ -216,11 +216,11 @@
     </message>
     <message>
         <source>Change the settings of network adapters</source>
-        <translation>變更網路卡的設定值</translation>
+        <translation type="obsolete">變更網路卡的設定值</translation>
     </message>
     <message>
         <source>Create or modify shared folders</source>
-        <translation>建立或修改共用資料夾</translation>
+        <translation type="obsolete">建立或修改共用資料夾</translation>
     </message>
     <message>
         <source>De&bug</source>
@@ -270,7 +270,7 @@
     </message>
     <message>
         <source>Manage the virtual machine settings</source>
-        <translation>管理虛擬機器設定</translation>
+        <translation type="obsolete">管理虛擬機器設定</translation>
     </message>
     <message>
         <source>Session I&nformation...</source>
@@ -298,7 +298,7 @@
     </message>
     <message>
         <source>Show Network Operations Manager</source>
-        <translation>顯示網路操作管理員</translation>
+        <translation type="obsolete">顯示網路操作管理員</translation>
     </message>
     <message>
         <source>Check for a new VirtualBox version</source>
@@ -310,7 +310,7 @@
     </message>
     <message>
         <source>Show a window with product information</source>
-        <translation>顯示產品資訊視窗</translation>
+        <translation type="obsolete">顯示產品資訊視窗</translation>
     </message>
     <message>
         <source>Take Sn&apshot...</source>
@@ -322,7 +322,7 @@
     </message>
     <message>
         <source>Take a screenshot of the virtual machine</source>
-        <translation>取得虛擬機器的快照</translation>
+        <translation type="obsolete">取得虛擬機器的快照</translation>
     </message>
     <message>
         <source>&File</source>
@@ -361,11 +361,11 @@
     <message>
         <source>&Preferences...</source>
         <comment>global settings</comment>
-        <translation>喜好設定(&P)...</translation>
+        <translation type="obsolete">喜好設定(&P)...</translation>
     </message>
     <message>
         <source>Display the global settings window</source>
-        <translation>顯示全域設定視窗</translation>
+        <translation type="obsolete">顯示全域設定視窗</translation>
     </message>
     <message>
         <source>E&xit</source>
@@ -381,15 +381,15 @@
     </message>
     <message>
         <source>Create a new virtual machine</source>
-        <translation>建立新的虛擬機器</translation>
+        <translation type="obsolete">建立新的虛擬機器</translation>
     </message>
     <message>
         <source>Add an existing virtual machine</source>
-        <translation>加入現有虛擬機器</translation>
+        <translation type="obsolete">加入現有虛擬機器</translation>
     </message>
     <message>
         <source>Rename the selected virtual machine group</source>
-        <translation>重新命名選取的虛擬機器群組</translation>
+        <translation type="obsolete">重新命名選取的虛擬機器群組</translation>
     </message>
     <message>
         <source>S&tart</source>
@@ -401,27 +401,27 @@
     </message>
     <message>
         <source>Re&fresh...</source>
-        <translation>重新整理(&F)...</translation>
+        <translation type="obsolete">重新整理(&F)...</translation>
     </message>
     <message>
         <source>Refresh the accessibility state of the selected virtual machine</source>
-        <translation>重新整理選取虛擬機器的存取性狀態</translation>
+        <translation type="obsolete">重新整理選取虛擬機器的存取性狀態</translation>
     </message>
     <message>
         <source>Show in Finder</source>
-        <translation>顯示在尋找器</translation>
+        <translation type="obsolete">顯示在尋找器</translation>
     </message>
     <message>
         <source>Show in Explorer</source>
-        <translation>顯示在檔案總管</translation>
+        <translation type="obsolete">顯示在檔案總管</translation>
     </message>
     <message>
         <source>Show in File Manager</source>
-        <translation>顯示在檔案管理員</translation>
+        <translation type="obsolete">顯示在檔案管理員</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in the File Manager</source>
-        <translation>在檔案管理員顯示 VirtualBox Machine Definition 檔案</translation>
+        <translation type="obsolete">在檔案管理員顯示 VirtualBox Machine Definition 檔案</translation>
     </message>
     <message>
         <source>&New...</source>
@@ -433,7 +433,7 @@
     </message>
     <message>
         <source>Add a new group based on the items selected</source>
-        <translation>根據選取的項目加入新的群組</translation>
+        <translation type="obsolete">根據選取的項目加入新的群組</translation>
     </message>
     <message>
         <source>Cl&one...</source>
@@ -441,7 +441,7 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>再製選取的虛擬機器</translation>
+        <translation type="obsolete">再製選取的虛擬機器</translation>
     </message>
     <message>
         <source>&Remove...</source>
@@ -453,7 +453,7 @@
     </message>
     <message>
         <source>D&iscard saved state...</source>
-        <translation>捨棄儲存的狀態(&I)...</translation>
+        <translation type="obsolete">捨棄儲存的狀態(&I)...</translation>
     </message>
     <message>
         <source>&Close</source>
@@ -481,67 +481,67 @@
     </message>
     <message>
         <source>Sort the items of the selected virtual machine group alphabetically</source>
-        <translation>依字母順序排序選取的虛擬機器群組項目</translation>
+        <translation type="obsolete">依字母順序排序選取的虛擬機器群組項目</translation>
     </message>
     <message>
         <source>Remove the selected virtual machines</source>
-        <translation>移除選取的虛擬機器</translation>
+        <translation type="obsolete">移除選取的虛擬機器</translation>
     </message>
     <message>
         <source>Start the selected virtual machines</source>
-        <translation>啟動選取的虛擬機器</translation>
+        <translation type="obsolete">啟動選取的虛擬機器</translation>
     </message>
     <message>
         <source>Switch to the windows of the selected virtual machines</source>
-        <translation>切換到選取虛擬機器的視窗</translation>
+        <translation type="obsolete">切換到選取虛擬機器的視窗</translation>
     </message>
     <message>
         <source>Suspend the execution of the selected virtual machines</source>
-        <translation>暫停選取虛擬機器的執行</translation>
+        <translation type="obsolete">暫停選取虛擬機器的執行</translation>
     </message>
     <message>
         <source>Reset the selected virtual machines</source>
-        <translation>重設選取的虛擬機器</translation>
+        <translation type="obsolete">重設選取的虛擬機器</translation>
     </message>
     <message>
         <source>Discard the saved state of the selected virtual machines</source>
-        <translation>捨棄選取虛擬機器的已儲存狀態</translation>
+        <translation type="obsolete">捨棄選取虛擬機器的已儲存狀態</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Finder</source>
-        <translation>在尋找器顯示 VirtualBox Machine Definition 檔案</translation>
+        <translation type="obsolete">在尋找器顯示 VirtualBox Machine Definition 檔案</translation>
     </message>
     <message>
         <source>Show the VirtualBox Machine Definition file in Explorer</source>
-        <translation>在檔案總管顯示 VirtualBox Machine Definition 檔案</translation>
+        <translation type="obsolete">在檔案總管顯示 VirtualBox Machine Definition 檔案</translation>
     </message>
     <message>
         <source>Create Alias on Desktop</source>
-        <translation>在桌面建立別名</translation>
+        <translation type="obsolete">在桌面建立別名</translation>
     </message>
     <message>
         <source>Creates an alias file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>在桌面建立 VirtualBox Machine Definition 檔案的別名檔</translation>
+        <translation type="obsolete">在桌面建立 VirtualBox Machine Definition 檔案的別名檔</translation>
     </message>
     <message>
         <source>Create Shortcut on Desktop</source>
-        <translation>在桌面建立捷徑</translation>
+        <translation type="obsolete">在桌面建立捷徑</translation>
     </message>
     <message>
         <source>Creates an shortcut file to the VirtualBox Machine Definition file on your desktop</source>
-        <translation>在桌面建立 VirtualBox Machine Definition 檔案的捷徑檔</translation>
+        <translation type="obsolete">在桌面建立 VirtualBox Machine Definition 檔案的捷徑檔</translation>
     </message>
     <message>
         <source>Save State</source>
-        <translation>儲存狀態</translation>
+        <translation type="obsolete">儲存狀態</translation>
     </message>
     <message>
         <source>Save the machine state of the selected virtual machines</source>
-        <translation>儲存選取虛擬機器的機器狀態</translation>
+        <translation type="obsolete">儲存選取虛擬機器的機器狀態</translation>
     </message>
     <message>
         <source>Send the ACPI Power Button press event to the selected virtual machines</source>
-        <translation>傳送 ACPI 電腦按鈕按下事件到選取的虛擬機器</translation>
+        <translation type="obsolete">傳送 ACPI 電腦按鈕按下事件到選取的虛擬機器</translation>
     </message>
     <message>
         <source>Po&wer Off</source>
@@ -549,11 +549,11 @@
     </message>
     <message>
         <source>Power off the selected virtual machines</source>
-        <translation>選取的虛擬機器關機</translation>
+        <translation type="obsolete">選取的虛擬機器關機</translation>
     </message>
     <message>
         <source>Show the log files of the selected virtual machine</source>
-        <translation>顯示選取虛擬機器的日誌檔案</translation>
+        <translation type="obsolete">顯示選取虛擬機器的日誌檔案</translation>
     </message>
     <message>
         <source>&New Machine...</source>
@@ -565,15 +565,15 @@
     </message>
     <message>
         <source>&Ungroup...</source>
-        <translation>取消群組(&U)...</translation>
+        <translation type="obsolete">取消群組(&U)...</translation>
     </message>
     <message>
         <source>Ungroup items of the selected virtual machine group</source>
-        <translation>取消選取的虛擬機器項目的群組</translation>
+        <translation type="obsolete">取消選取的虛擬機器項目的群組</translation>
     </message>
     <message>
         <source>Sort</source>
-        <translation>排序</translation>
+        <translation type="obsolete">排序</translation>
     </message>
     <message>
         <source>Gro&up</source>
@@ -581,7 +581,7 @@
     </message>
     <message>
         <source>Sort the group of the first selected machine alphabetically</source>
-        <translation>依字母順序排序第一個選取機器的群組</translation>
+        <translation type="obsolete">依字母順序排序第一個選取機器的群組</translation>
     </message>
     <message>
         <source>Shared &Clipboard</source>
@@ -589,7 +589,7 @@
     </message>
     <message>
         <source>Save the machine state of the virtual machine</source>
-        <translation>啟用虛擬機器的機器狀態</translation>
+        <translation type="obsolete">啟用虛擬機器的機器狀態</translation>
     </message>
     <message>
         <source>Power off the virtual machine</source>
@@ -609,7 +609,7 @@
     </message>
     <message>
         <source>Toggle remote desktop (RDP) connections to this machine</source>
-        <translation>切換此機器的遠端桌面 (RDP) 連線</translation>
+        <translation type="obsolete">切換此機器的遠端桌面 (RDP) 連線</translation>
     </message>
     <message>
         <source>&Video Capture</source>
@@ -617,7 +617,7 @@
     </message>
     <message>
         <source>Toggle video capture</source>
-        <translation>切換視訊擷取</translation>
+        <translation type="obsolete">切換視訊擷取</translation>
     </message>
     <message>
         <source>&Video Capture Settings...</source>
@@ -625,7 +625,7 @@
     </message>
     <message>
         <source>Configure video capture settings</source>
-        <translation>組態視訊擷取設定</translation>
+        <translation type="obsolete">組態視訊擷取設定</translation>
     </message>
     <message>
         <source>Popup Menu</source>
@@ -633,7 +633,7 @@
     </message>
     <message>
         <source>Show Session Information Window</source>
-        <translation>顯示工作階段資訊視窗</translation>
+        <translation type="obsolete">顯示工作階段資訊視窗</translation>
     </message>
     <message>
         <source>&Webcams</source>
@@ -645,7 +645,7 @@
     </message>
     <message>
         <source>Insert the Guest Additions disk file into the virtual drive</source>
-        <translation>插入 Guest Additions 磁碟檔案到虛擬磁碟機</translation>
+        <translation type="obsolete">插入 Guest Additions 磁碟檔案到虛擬磁碟機</translation>
     </message>
     <message>
         <source>&VirtualBox</source>
@@ -661,7 +661,7 @@
     </message>
     <message>
         <source>Opens window to configure menu-bar</source>
-        <translation>開啟視窗以組態功能表列</translation>
+        <translation type="obsolete">開啟視窗以組態功能表列</translation>
     </message>
     <message>
         <source>Show Menu &Bar</source>
@@ -669,7 +669,7 @@
     </message>
     <message>
         <source>Toggle menu-bar visibility for this machine</source>
-        <translation>切換此機器的功能表列可見性</translation>
+        <translation type="obsolete">切換此機器的功能表列可見性</translation>
     </message>
     <message>
         <source>&Status Bar</source>
@@ -681,7 +681,7 @@
     </message>
     <message>
         <source>Opens window to configure status-bar</source>
-        <translation>開啟視窗以組態狀態列</translation>
+        <translation type="obsolete">開啟視窗以組態狀態列</translation>
     </message>
     <message>
         <source>Show Status &Bar</source>
@@ -689,7 +689,7 @@
     </message>
     <message>
         <source>Toggle status-bar visibility for this machine</source>
-        <translation>切換此機器的狀態列可見性</translation>
+        <translation type="obsolete">切換此機器的狀態列可見性</translation>
     </message>
     <message>
         <source>&Input</source>
@@ -705,7 +705,7 @@
     </message>
     <message>
         <source>Display the global settings window to configure shortcuts</source>
-        <translation>顯示全域設定視窗以組態快速鍵</translation>
+        <translation type="obsolete">顯示全域設定視窗以組態快速鍵</translation>
     </message>
     <message>
         <source>&Mouse</source>
@@ -713,19 +713,19 @@
     </message>
     <message>
         <source>&Hard Drives</source>
-        <translation>硬碟(&H)</translation>
+        <translation type="obsolete">硬碟(&H)</translation>
     </message>
     <message>
         <source>&Hard Drive Settings...</source>
-        <translation>硬碟設定(&H)...</translation>
+        <translation type="obsolete">硬碟設定(&H)...</translation>
     </message>
     <message>
         <source>Change the settings of hard drives</source>
-        <translation>變更硬碟設定</translation>
+        <translation type="obsolete">變更硬碟設定</translation>
     </message>
     <message>
         <source>Network</source>
-        <translation>網路</translation>
+        <translation type="obsolete">網路</translation>
     </message>
     <message>
         <source>&USB Settings...</source>
@@ -733,7 +733,7 @@
     </message>
     <message>
         <source>Change the settings of USB devices</source>
-        <translation>變更 USB 裝置的設定</translation>
+        <translation type="obsolete">變更 USB 裝置的設定</translation>
     </message>
     <message>
         <source>&Shared Folders</source>
@@ -766,7 +766,7 @@
     </message>
     <message>
         <source>Minimize active machine-window</source>
-        <translation>最小化使用中機器視窗</translation>
+        <translation type="obsolete">最小化使用中機器視窗</translation>
     </message>
     <message>
         <source>&Full-screen Mode</source>
@@ -790,7 +790,7 @@
     </message>
     <message>
         <source>&Insert %1</source>
-        <translation>插入 %1(&I)</translation>
+        <translation type="obsolete">插入 %1(&I)</translation>
     </message>
     <message>
         <source>Send the %1 sequence to the virtual machine</source>
@@ -818,7 +818,7 @@
     </message>
     <message>
         <source>Drag and Drop</source>
-        <translation>拖放</translation>
+        <translation type="obsolete">拖放</translation>
     </message>
     <message>
         <source>&Logging</source>
@@ -834,15 +834,316 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines in the background</source>
+        <source>&Detachable Start</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Detachable Start</source>
+        <source>Minimize active window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the Network Operations Manager window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with product information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Preferences...</source>
+        <comment>global preferences window</comment>
+        <translation type="unfinished">喜好設定(&P)...</translation>
+    </message>
+    <message>
+        <source>Display the global preferences window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine session information window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Save State</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Minimize Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Automatically resize the guest display when the window is resized</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Take a guest display screenshot</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable guest display video capture</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Allow remote desktop (RDP) connections to this machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure menu-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable menu-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the window to configure status-bar</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Enable status-bar visibility</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the global preferences window to configure keyboard shortcuts</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Insert %1</source>
+        <comment>that means send the %1 key sequence to the virtual machine</comment>
+        <translation type="unfinished">插入 %1(&I)</translation>
+    </message>
+    <message>
+        <source>&Hard Disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Hard Disk Settings...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure network adapters</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure USB devices</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Drag and Drop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display the virtual machine settings window to configure shared folders</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Insert the Guest Additions disk file into the virtual optical drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <comment>scale-factor</comment>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>Enable</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">啟用</translation>
+    </message>
+    <message>
+        <source>Resize to %1x%2</source>
+        <comment>Virtual Screen</comment>
+        <translation type="unfinished">調整大小成 %1x%2</translation>
+    </message>
+    <message>
+        <source>Preview Monitor %1</source>
+        <translation type="unfinished">預覽監視器 %1</translation>
+    </message>
+    <message>
+        <source>&Connect Network Adapter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Connect Network Adapter &%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No USB Devices Connected</source>
+        <translation type="unfinished">未連接 USB 裝置</translation>
+    </message>
+    <message>
+        <source>No supported devices connected to the host PC</source>
+        <translation type="unfinished">沒有已支援的裝置連接到主機 PC</translation>
+    </message>
+    <message>
+        <source>No Webcams Connected</source>
+        <translation type="unfinished">未連接 Webcams</translation>
+    </message>
+    <message>
+        <source>No supported webcams connected to the host PC</source>
+        <translation type="unfinished">未連接支援的 Webcams 在主機電腦</translation>
+    </message>
+    <message>
+        <source>Create new virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add existing virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Rename selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Ungroup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Ungroup the items of selected virtual machine group</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Sort</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the items of selected virtual machine group alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add new group based on selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Start the selected virtual machines with the option of continuing them in the background</source>
+        <source>Switch to the windows of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Start selected virtual machines with the option of continuing them in the background</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Suspend the execution of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Reset selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>D&iscard Saved State...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Discard the saved state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the log files of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Re&fresh</source>
+        <translation type="unfinished">重新整理(&F)</translation>
+    </message>
+    <message>
+        <source>Refresh the accessibility state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Finder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in Explorer</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>S&how in File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show the VirtualBox Machine Definition files in the File Manager</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Alias on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create alias files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Cr&eate Shortcut on Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create shortcut files to the VirtualBox Machine Definition files on your desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Sort the group of first selected virtual machine alphabetically</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Save the state of selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Send the ACPI Shutdown signal to selected virtual machines</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Power off selected virtual machines</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -851,17 +1152,17 @@
     <message>
         <source>Enable</source>
         <comment>Virtual Screen</comment>
-        <translation>啟用</translation>
+        <translation type="obsolete">啟用</translation>
     </message>
     <message>
         <source>Resize to %1x%2</source>
         <comment>Virtual Screen</comment>
-        <translation>調整大小成 %1x%2</translation>
+        <translation type="obsolete">調整大小成 %1x%2</translation>
     </message>
     <message>
         <source>%1%</source>
         <comment>scale-factor</comment>
-        <translation>%1%</translation>
+        <translation type="obsolete">%1%</translation>
     </message>
 </context>
 <context>
@@ -877,6 +1178,28 @@
             <numerusform>這個虛擬機器受到密碼保護。 請在下方輸入 %n 加密密碼。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Status</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">狀態</translation>
+    </message>
+    <message>
+        <source>ID</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">ID</translation>
+    </message>
+    <message>
+        <source>Password</source>
+        <comment>password table field</comment>
+        <translation type="unfinished">密碼</translation>
+    </message>
+    <message numerus="yes">
+        <source><nobr>Used by the following %n hard disk(s):</nobr><br>%1</source>
+        <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+        </translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceEditorWidget</name>
@@ -930,15 +1253,15 @@
     </message>
     <message>
         <source>Hard Disk Controller (IDE)</source>
-        <translation>硬碟控制器 (IDE)</translation>
+        <translation type="obsolete">硬碟控制器 (IDE)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SATA)</source>
-        <translation>硬碟控制器 (SATA)</translation>
+        <translation type="obsolete">硬碟控制器 (SATA)</translation>
     </message>
     <message>
         <source>Hard Disk Controller (SCSI)</source>
-        <translation>硬碟控制器 (SCSI)</translation>
+        <translation type="obsolete">硬碟控制器 (SCSI)</translation>
     </message>
     <message>
         <source>DVD</source>
@@ -982,7 +1305,7 @@
     </message>
     <message>
         <source>Hard Disk Controller (SAS)</source>
-        <translation>硬碟控制器 (SAS)</translation>
+        <translation type="obsolete">硬碟控制器 (SAS)</translation>
     </message>
     <message>
         <source>When checked a new unique MAC address will assigned to all configured network cards.</source>
@@ -992,6 +1315,22 @@
         <source>&Reinitialize the MAC address of all network cards</source>
         <translation>重新初始化所有網路卡的 MAC 位址(&R)</translation>
     </message>
+    <message>
+        <source>Storage Controller (IDE)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SATA)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SCSI)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage Controller (SAS)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIApplianceImportEditorWidget</name>
@@ -1015,7 +1354,7 @@
     <name>UIDnDDrag</name>
     <message>
         <source>Retrieving data ...</source>
-        <translation>正在檢索資料 ...</translation>
+        <translation type="obsolete">正在檢索資料 ...</translation>
     </message>
 </context>
 <context>
@@ -1024,6 +1363,10 @@
         <source>Dropping data ...</source>
         <translation>正在拖放資料 ...</translation>
     </message>
+    <message>
+        <source>Retrieving data ...</source>
+        <translation type="unfinished">正在檢索資料 ...</translation>
+    </message>
 </context>
 <context>
     <name>UIDownloader</name>
@@ -1074,22 +1417,22 @@
     <message>
         <source>Status</source>
         <comment>password table field</comment>
-        <translation>狀態</translation>
+        <translation type="obsolete">狀態</translation>
     </message>
     <message>
         <source>ID</source>
         <comment>password table field</comment>
-        <translation>ID</translation>
+        <translation type="obsolete">ID</translation>
     </message>
     <message>
         <source>Password</source>
         <comment>password table field</comment>
-        <translation>密碼</translation>
+        <translation type="obsolete">密碼</translation>
     </message>
     <message numerus="yes">
         <source><nobr>Used by the following %n hard drive(s):</nobr><br>%1</source>
         <comment>This text is never used with n == 0. Feel free to drop the %n where possible, we only included it because of problems with Qt Linguist (but the user can see how many hard drives are in the tool-tip and doesn't need to be told).</comment>
-        <translation>
+        <translation type="obsolete">
             <numerusform><nobr>由以下 %n 硬碟所使用:</nobr><br>%1</numerusform>
         </translation>
     </message>
@@ -1566,7 +1909,7 @@
     </message>
     <message>
         <source>Specifies the maximum width which we would like the guest to use.</source>
-        <translation>指定您希望客體使用的最大寬度。</translation>
+        <translation type="obsolete">指定您希望客體使用的最大寬度。</translation>
     </message>
     <message>
         <source>&Height:</source>
@@ -1574,7 +1917,7 @@
     </message>
     <message>
         <source>Specifies the maximum height which we would like the guest to use.</source>
-        <translation>指定您希望客體使用的最大高度。</translation>
+        <translation type="obsolete">指定您希望客體使用的最大高度。</translation>
     </message>
     <message>
         <source>Automatic</source>
@@ -1609,12 +1952,24 @@
     </message>
     <message>
         <source>If checked, machine windows will be raised when the mouse pointer moves over them.</source>
-        <translation>如果勾選,滑鼠指標移至機器視窗上方時將帶出視窗。</translation>
+        <translation type="obsolete">如果勾選,滑鼠指標移至機器視窗上方時將帶出視窗。</translation>
     </message>
     <message>
         <source>&Raise Window Under Mouse</source>
         <translation>提昇滑鼠下視窗(&R)</translation>
     </message>
+    <message>
+        <source>Holds the maximum width which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the maximum height which we would like the guest to use.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, machine windows will be raised when the mouse pointer moves over them.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsExtension</name>
@@ -1636,11 +1991,11 @@
     </message>
     <message>
         <source>Add package</source>
-        <translation>加入擴充包</translation>
+        <translation type="obsolete">加入擴充包</translation>
     </message>
     <message>
         <source>Remove package</source>
-        <translation>移除擴充包</translation>
+        <translation type="obsolete">移除擴充包</translation>
     </message>
     <message>
         <source>Select an extension package file</source>
@@ -1658,6 +2013,22 @@
         <source>&Extension Packages</source>
         <translation>擴充包(&E)</translation>
     </message>
+    <message>
+        <source>Add Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Package</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new package.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected package.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsGeneral</name>
@@ -1679,7 +2050,7 @@
     </message>
     <message>
         <source>&Host Screensaver:</source>
-        <translation>主機螢幕保護(&H):</translation>
+        <translation type="obsolete">主機螢幕保護(&H):</translation>
     </message>
     <message>
         <source>When checked, the host screensaver will be disabled whenever a virtual machine is running.</source>
@@ -1687,7 +2058,15 @@
     </message>
     <message>
         <source>Disable When Running Virtual Machines</source>
-        <translation>虛擬機器執行中時停用</translation>
+        <translation type="obsolete">虛擬機器執行中時停用</translation>
+    </message>
+    <message>
+        <source>Host Screensaver:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Disable When Running Virtual Machines</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1718,11 +2097,19 @@
     </message>
     <message>
         <source>Lists all the available shortcuts which can be configured.</source>
-        <translation>列出能組態的所有可用快速鍵。</translation>
+        <translation type="obsolete">列出能組態的所有可用快速鍵。</translation>
     </message>
     <message>
         <source>Enter a sequence to filter the shortcut list.</source>
-        <translation>輸入序列以篩選快速鍵清單。</translation>
+        <translation type="obsolete">輸入序列以篩選快速鍵清單。</translation>
+    </message>
+    <message>
+        <source>Lists all available shortcuts which can be configured.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds a sequence to filter the shortcut list.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -1864,15 +2251,15 @@
     </message>
     <message>
         <source>&Add host-only network</source>
-        <translation>加入「僅限主機」網路(&A)</translation>
+        <translation type="obsolete">加入「僅限主機」網路(&A)</translation>
     </message>
     <message>
         <source>&Remove host-only network</source>
-        <translation>移除「僅限主機」網路(&R)</translation>
+        <translation type="obsolete">移除「僅限主機」網路(&R)</translation>
     </message>
     <message>
         <source>&Edit host-only network</source>
-        <translation>編輯「僅限主機」網路(&E)</translation>
+        <translation type="obsolete">編輯「僅限主機」網路(&E)</translation>
     </message>
     <message>
         <source>Lists all available host-only networks.</source>
@@ -2001,15 +2388,63 @@
     </message>
     <message>
         <source>&Add NAT network</source>
-        <translation>加入 NAT 網路(&A)</translation>
+        <translation type="obsolete">加入 NAT 網路(&A)</translation>
     </message>
     <message>
         <source>&Remove NAT network</source>
-        <translation>移除 NAT 網路(&R)</translation>
+        <translation type="obsolete">移除 NAT 網路(&R)</translation>
     </message>
     <message>
         <source>&Edit NAT network</source>
-        <translation>編輯 NAT 網路(&E)</translation>
+        <translation type="obsolete">編輯 NAT 網路(&E)</translation>
+    </message>
+    <message>
+        <source>Add NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit NAT Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected NAT network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Host-only Network</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected host-only network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected host-only network.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -2028,7 +2463,7 @@
     </message>
     <message>
         <source>Use manual configuration for this host-only network adapter.</source>
-        <translation>使用手動組態這個「僅限主機」網路卡。</translation>
+        <translation type="obsolete">使用手動組態這個「僅限主機」網路卡。</translation>
     </message>
     <message>
         <source>&IPv4 Address:</source>
@@ -2072,7 +2507,7 @@
     </message>
     <message>
         <source>Indicates whether the DHCP Server is enabled on machine startup or not.</source>
-        <translation>指示是否在機器啟動時啟用 DHCP 伺服器。</translation>
+        <translation type="obsolete">指示是否在機器啟動時啟用 DHCP 伺服器。</translation>
     </message>
     <message>
         <source>Server Add&ress:</source>
@@ -2106,6 +2541,14 @@
         <source>Holds the upper address bound offered by the DHCP server servicing the network associated with this host-only adapter.</source>
         <translation>保留 DHCP 伺服器所提供的位址上限,服務與這個「僅限主機」網路卡關聯的網路。</translation>
     </message>
+    <message>
+        <source>When checked, manual configuration will be used for this network adapter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the DHCP Server will be enabled for this network on machine startup.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsNetworkDetailsNAT</name>
@@ -2119,7 +2562,7 @@
     </message>
     <message>
         <source>Enable this NAT network.</source>
-        <translation>啟用此 NAT 網路。</translation>
+        <translation type="obsolete">啟用此 NAT 網路。</translation>
     </message>
     <message>
         <source>Network &Name:</source>
@@ -2147,7 +2590,7 @@
     </message>
     <message>
         <source>Determines whether this network supports DHCP.</source>
-        <translation>決定此網路是否支援 DHCP。</translation>
+        <translation type="obsolete">決定此網路是否支援 DHCP。</translation>
     </message>
     <message>
         <source>Supports &IPv6</source>
@@ -2155,7 +2598,7 @@
     </message>
     <message>
         <source>Determines whether this network supports IPv6.</source>
-        <translation>決定此網路是否支援 IPv6。</translation>
+        <translation type="obsolete">決定此網路是否支援 IPv6。</translation>
     </message>
     <message>
         <source>Advertise Default IPv6 &Route</source>
@@ -2163,16 +2606,36 @@
     </message>
     <message>
         <source>Determines whether this network should be advertised as the default IPv6 route.</source>
-        <translation>決定此網路是否要宣告為預設 IPv6 路由。</translation>
+        <translation type="obsolete">決定此網路是否要宣告為預設 IPv6 路由。</translation>
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>開啟管理連接埠轉送規則的視窗。</translation>
+        <translation type="obsolete">開啟管理連接埠轉送規則的視窗。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
         <translation>通訊埠轉送(&P)</translation>
     </message>
+    <message>
+        <source>When checked, this network will be enabled.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support DHCP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will support IPv6.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, this network will be advertised as the default IPv6 route.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsPortForwardingDlg</name>
@@ -2205,7 +2668,7 @@
     </message>
     <message>
         <source>Changes the proxy host.</source>
-        <translation>變更 Proxy 主機。</translation>
+        <translation type="obsolete">變更 Proxy 主機。</translation>
     </message>
     <message>
         <source>&Port:</source>
@@ -2213,7 +2676,7 @@
     </message>
     <message>
         <source>Changes the proxy port.</source>
-        <translation>變更 Proxy 連接埠。</translation>
+        <translation type="obsolete">變更 Proxy 連接埠。</translation>
     </message>
     <message>
         <source>No proxy host is currently specified.</source>
@@ -2223,6 +2686,14 @@
         <source>No proxy port is currently specified.</source>
         <translation>目前未指定 Proxy 連接埠。</translation>
     </message>
+    <message>
+        <source>Holds the proxy host.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the proxy port.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIGlobalSettingsUpdate</name>
@@ -2240,7 +2711,7 @@
     </message>
     <message>
         <source>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
-        <translation>指定應執行檢查新版本的頻率。 請注意,如果您要完全停用這個檢查,只需清除上方核取方塊。</translation>
+        <translation type="obsolete">指定應執行檢查新版本的頻率。 請注意,如果您要完全停用這個檢查,只需清除上方核取方塊。</translation>
     </message>
     <message>
         <source>Next Check:</source>
@@ -2274,6 +2745,10 @@
         <source>All New Releases and &Pre-Releases</source>
         <translation>所有新的發佈和預先發佈(&P)</translation>
     </message>
+    <message>
+        <source>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIHelpButton</name>
@@ -2415,7 +2890,7 @@
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the virtual hard disks:</nobr>%1</p></source>
         <comment>HDD tooltip</comment>
-        <translation><p style='white-space:pre'><nobr>指示虛擬硬碟的活動:</nobr>%1</p></translation>
+        <translation type="obsolete"><p style='white-space:pre'><nobr>指示虛擬硬碟的活動:</nobr>%1</p></translation>
     </message>
     <message>
         <source><p style='white-space:pre'><nobr>Indicates the activity of the network interfaces:</nobr>%1</p></source>
@@ -2473,7 +2948,7 @@
     </message>
     <message>
         <source>Indicates whether the keyboard is captured by the guest OS (<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>).</source>
-        <translation>指示客體作業系統擷取 (<img src=:/hostkey_captured_16px.png/>) 或未擷取 (<img src=:/hostkey_16px.png/>) 鍵盤。</translation>
+        <translation type="obsolete">指示客體作業系統擷取 (<img src=:/hostkey_captured_16px.png/>) 或未擷取 (<img src=:/hostkey_16px.png/>) 鍵盤。</translation>
     </message>
     <message>
         <source><nobr>Indicates video capturing activity:</nobr><br>%1</source>
@@ -2506,6 +2981,15 @@
         <comment>FD tooltip</comment>
         <translation><p style='white-space:pre'><nobr>指示軟碟機的活動性:</nobr>%1</p></translation>
     </message>
+    <message>
+        <source><p style='white-space:pre'><nobr>Indicates the activity of the hard disks:</nobr>%1</p></source>
+        <comment>HDD tooltip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Indicates whether the host keyboard is captured by the guest OS:<br><nobr><img src=:/hostkey_16px.png/>&nbsp;&nbsp;keyboard is not captured</nobr><br><nobr><img src=:/hostkey_captured_16px.png/>&nbsp;&nbsp;keyboard is captured</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UILineTextEdit</name>
@@ -2518,19 +3002,19 @@
     <name>UIMachineLogic</name>
     <message>
         <source>Preview Monitor %1</source>
-        <translation>預覽監視器 %1</translation>
+        <translation type="obsolete">預覽監視器 %1</translation>
     </message>
     <message>
         <source>Snapshot %1</source>
-        <translation>快照 %1</translation>
+        <translation type="obsolete">快照 %1</translation>
     </message>
     <message>
         <source>No USB Devices Connected</source>
-        <translation>未連接 USB 裝置</translation>
+        <translation type="obsolete">未連接 USB 裝置</translation>
     </message>
     <message>
         <source>No supported devices connected to the host PC</source>
-        <translation>沒有已支援的裝置連接到主機 PC</translation>
+        <translation type="obsolete">沒有已支援的裝置連接到主機 PC</translation>
     </message>
     <message>
         <source>Select a filename for the screenshot ...</source>
@@ -2538,19 +3022,19 @@
     </message>
     <message>
         <source>No Webcams Connected</source>
-        <translation>未連接 Webcams</translation>
+        <translation type="obsolete">未連接 Webcams</translation>
     </message>
     <message>
         <source>No supported webcams connected to the host PC</source>
-        <translation>未連接支援的 Webcams 在主機電腦</translation>
+        <translation type="obsolete">未連接支援的 Webcams 在主機電腦</translation>
     </message>
     <message>
         <source>Connect Network Adapter</source>
-        <translation>連接網路卡</translation>
+        <translation type="obsolete">連接網路卡</translation>
     </message>
     <message>
         <source>Connect Network Adapter %1</source>
-        <translation>連接網路卡 %1</translation>
+        <translation type="obsolete">連接網路卡 %1</translation>
     </message>
 </context>
 <context>
@@ -2569,7 +3053,7 @@
     </message>
     <message>
         <source>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
-        <translation>控制音效輸出驅動程式。 <b>空的音效驅動程式</b> 使客體擁有音效卡,然而會忽略它的聲音輸出。</translation>
+        <translation type="obsolete">控制音效輸出驅動程式。 <b>空的音效驅動程式</b> 使客體擁有音效卡,然而會忽略它的聲音輸出。</translation>
     </message>
     <message>
         <source>Audio &Controller:</source>
@@ -2579,12 +3063,16 @@
         <source>Selects the type of the virtual sound card. Depending on this value, VirtualBox will provide different audio hardware to the virtual machine.</source>
         <translation>選擇虛擬音效卡的類型。 VirtualBox 將在虛擬機器提供不同的音效硬體,取決於這個值。</translation>
     </message>
+    <message>
+        <source>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsDisplay</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp; MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; MB</qt></translation>
     </message>
     <message>
         <source>&Video</source>
@@ -2636,7 +3124,7 @@
     </message>
     <message>
         <source>Defines the VRDP authentication method.</source>
-        <translation>定義 VRDP 驗證方法。</translation>
+        <translation type="obsolete">定義 VRDP 驗證方法。</translation>
     </message>
     <message>
         <source>Authentication &Timeout:</source>
@@ -2644,7 +3132,7 @@
     </message>
     <message>
         <source>Specifies the timeout for guest authentication, in milliseconds.</source>
-        <translation>指定客體驗證的逾時,以毫秒為單位。</translation>
+        <translation type="obsolete">指定客體驗證的逾時,以毫秒為單位。</translation>
     </message>
     <message>
         <source>When checked, the virtual machine will be given access to the Video Acceleration capabilities available on the host.</source>
@@ -2656,7 +3144,7 @@
     </message>
     <message>
         <source>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
-        <translation>VRDP 伺服器連接埠號。 您可以指定 <tt>0</tt> (零) ,來選擇 RDP 的標準連接埠 3389。</translation>
+        <translation type="obsolete">VRDP 伺服器連接埠號。 您可以指定 <tt>0</tt> (零) ,來選擇 RDP 的標準連接埠 3389。</translation>
     </message>
     <message>
         <source>Mo&nitor Count:</source>
@@ -2668,11 +3156,11 @@
     </message>
     <message>
         <source><qt>%1</qt></source>
-        <translation><qt>%1</qt></translation>
+        <translation type="obsolete"><qt>%1</qt></translation>
     </message>
     <message>
         <source>Specifies whether multiple simultaneous connections to the VM are permitted.</source>
-        <translation>指定是否允許多重同時連線到 VM。</translation>
+        <translation type="obsolete">指定是否允許多重同時連線到 VM。</translation>
     </message>
     <message>
         <source>&Allow Multiple Connections</source>
@@ -2696,7 +3184,7 @@
     </message>
     <message>
         <source>This setting determines the filename VirtualBox uses to save the recorded content.</source>
-        <translation>此設定決定 VirtualBox 用來儲存記錄內容的檔案名稱。</translation>
+        <translation type="obsolete">此設定決定 VirtualBox 用來儲存記錄內容的檔案名稱。</translation>
     </message>
     <message>
         <source>Frame &Size:</source>
@@ -2704,15 +3192,15 @@
     </message>
     <message>
         <source>This setting determines the resolution (frame size) of the recorded video.</source>
-        <translation>此設定決定錄製視訊的解析度 (框架大小)。</translation>
+        <translation type="obsolete">此設定決定錄製視訊的解析度 (框架大小)。</translation>
     </message>
     <message>
         <source>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
-        <translation>此設定決定錄製視訊的<b>水平</b>解析度 (框架寬度)。</translation>
+        <translation type="obsolete">此設定決定錄製視訊的<b>水平</b>解析度 (框架寬度)。</translation>
     </message>
     <message>
         <source>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</source>
-        <translation>此設定決定錄製視訊的<b>垂直</b>解析度 (框架高度)。</translation>
+        <translation type="obsolete">此設定決定錄製視訊的<b>垂直</b>解析度 (框架高度)。</translation>
     </message>
     <message>
         <source>&Frame Rate:</source>
@@ -2720,7 +3208,7 @@
     </message>
     <message>
         <source>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
-        <translation>此設定決定<b>每秒畫面播放</b>的最大數,將忽略額外的畫面。 此值愈大忽略的畫面愈多,但會縮小檔案大小。</translation>
+        <translation type="obsolete">此設定決定<b>每秒畫面播放</b>的最大數,將忽略額外的畫面。 此值愈大忽略的畫面愈多,但會縮小檔案大小。</translation>
     </message>
     <message>
         <source>&Quality:</source>
@@ -2728,11 +3216,11 @@
     </message>
     <message>
         <source>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>此設定決定<b>品質</b>。 此值愈大視訊的效果愈好,但會增加檔案大小。</translation>
+        <translation type="obsolete">此設定決定<b>品質</b>。 此值愈大視訊的效果愈好,但會增加檔案大小。</translation>
     </message>
     <message>
         <source>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
-        <translation>虛擬機器設成使用視訊串流加速。 由於此功能只能在 Windows 客體系統中動作,其將會停用。</translation>
+        <translation type="obsolete">虛擬機器設成使用視訊串流加速。 由於此功能只能在 Windows 客體系統中動作,其將會停用。</translation>
     </message>
     <message>
         <source>&Screens:</source>
@@ -2744,7 +3232,7 @@
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to fullscreen or seamless mode.</source>
-        <translation>虛擬機器目前指派的視訊記憶體小於 <b>%1</b>,這是切換全螢幕或無縫模式所需的最小量。</translation>
+        <translation type="obsolete">虛擬機器目前指派的視訊記憶體小於 <b>%1</b>,這是切換全螢幕或無縫模式所需的最小量。</translation>
     </message>
     <message>
         <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required for High Definition Video to be played efficiently.</source>
@@ -2803,7 +3291,7 @@
     </message>
     <message>
         <source>Enable video recording for screen %1.</source>
-        <translation>啟用畫面 %1 的視訊錄製。</translation>
+        <translation type="obsolete">啟用畫面 %1 的視訊錄製。</translation>
     </message>
     <message>
         <source><i>About %1MB per 5 minute video</i></source>
@@ -2831,30 +3319,94 @@
     </message>
     <message>
         <source>100%</source>
-        <translation type="unfinished">100%</translation>
+        <translation type="obsolete">100%</translation>
     </message>
     <message>
         <source>200%</source>
-        <translation type="unfinished">200%</translation>
+        <translation type="obsolete">200%</translation>
     </message>
     <message>
         <source>%</source>
         <translation type="unfinished">%</translation>
     </message>
     <message>
-        <source>HiDPI:</source>
-        <translation type="unfinished">HiDPI:</translation>
+        <source>HiDPI:</source>
+        <translation type="obsolete">HiDPI:</translation>
+    </message>
+    <message>
+        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Use &Unscaled HiDPI Output</source>
+        <translation type="unfinished">使用不縮放的 HiDPI 視訊輸出(&U)</translation>
+    </message>
+    <message>
+        <source>Acceleration:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>HiDPI Support:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the VRDP authentication method.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the timeout for guest authentication, in milliseconds.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, multiple simultaneous connections to the VM are permitted.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the filename VirtualBox uses to save the recorded content.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Selects the resolution (frame size) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>When checked, guest screen contents will not be scaled up to compensate for high host screen resolutions.</source>
+        <source>The virtual machine is currently assigned less than <b>%1</b> of video memory which is the minimum amount required to switch to full-screen or seamless mode.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use &Unscaled HiDPI Output</source>
-        <translation type="unfinished">使用不縮放的 HiDPI 視訊輸出(&U)</translation>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
     </message>
     <message>
-        <source>Acceleration:</source>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
+    <message>
+        <source>When checked, enables video recording for screen %1.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -2862,7 +3414,7 @@
     <name>UIMachineSettingsGeneral</name>
     <message>
         <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of disk space.</source>
-        <translation>保留將儲存這部虛擬機器快照的路徑。 注意,快照可能需要相當多的磁碟空間。</translation>
+        <translation type="obsolete">保留將儲存這部虛擬機器快照的路徑。 注意,快照可能需要相當多的磁碟空間。</translation>
     </message>
     <message>
         <source>Basi&c</source>
@@ -2926,7 +3478,7 @@
     </message>
     <message>
         <source>Holds the cipher to be used for encrypting the virtual machine disks.</source>
-        <translation>保留虛擬機器磁碟所使用的 Cipher。</translation>
+        <translation type="obsolete">保留虛擬機器磁碟所使用的 Cipher。</translation>
     </message>
     <message>
         <source>E&nter New Password:</source>
@@ -2965,6 +3517,14 @@
         <comment>cipher type</comment>
         <translation>保留不變更</translation>
     </message>
+    <message>
+        <source>Selects the cipher to be used for encrypting the virtual machine disks.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the path where snapshots of this virtual machine will be stored. Be aware that snapshots can take quite a lot of storage space.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsInterface</name>
@@ -3010,15 +3570,15 @@
     </message>
     <message>
         <source>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</source>
-        <translation>如果勾選,在全螢幕和無縫模式顯示迷你工具列。</translation>
+        <translation type="obsolete">如果勾選,在全螢幕和無縫模式顯示迷你工具列。</translation>
     </message>
     <message>
         <source>Show in &Fullscreen/Seamless</source>
-        <translation>在全螢幕/無縫模式顯示(&F)</translation>
+        <translation type="obsolete">在全螢幕/無縫模式顯示(&F)</translation>
     </message>
     <message>
         <source>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
-        <translation>如果勾選,在螢幕的頂端顯示迷你工具列,而不是在其預設位置螢幕的底端。</translation>
+        <translation type="obsolete">如果勾選,在螢幕的頂端顯示迷你工具列,而不是在其預設位置螢幕的底端。</translation>
     </message>
     <message>
         <source>Show at &Top of Screen</source>
@@ -3028,6 +3588,18 @@
         <source>Allows to modify VM status-bar contents.</source>
         <translation>允許修改虛擬機器狀態列內容。</translation>
     </message>
+    <message>
+        <source>When checked, show the Mini ToolBar in full-screen and seamless modes.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Show in &Full-screen/Seamless</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsNetwork</name>
@@ -3049,7 +3621,7 @@
     </message>
     <message>
         <source>Controls how this virtual adapter is attached to the real network of the Host OS.</source>
-        <translation>控制這個虛擬介面卡如何附加到主機作業系統的真實網路。</translation>
+        <translation type="obsolete">控制這個虛擬介面卡如何附加到主機作業系統的真實網路。</translation>
     </message>
     <message>
         <source>Adapter &Type:</source>
@@ -3070,7 +3642,7 @@
     </message>
     <message>
         <source>Shows or hides additional network adapter options.</source>
-        <translation>顯示或隱藏額外網路卡選項。</translation>
+        <translation type="obsolete">顯示或隱藏額外網路卡選項。</translation>
     </message>
     <message>
         <source>Holds the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</source>
@@ -3082,7 +3654,7 @@
     </message>
     <message>
         <source>Indicates whether the virtual network cable is plugged in on machine startup or not.</source>
-        <translation>指示機器啟動時是否已插入虛擬網路線。</translation>
+        <translation type="obsolete">指示機器啟動時是否已插入虛擬網路線。</translation>
     </message>
     <message>
         <source>&Cable Connected</source>
@@ -3090,7 +3662,7 @@
     </message>
     <message>
         <source>Opens a window to manage port forwarding rules.</source>
-        <translation>開啟管理連接埠轉送規則的視窗。</translation>
+        <translation type="obsolete">開啟管理連接埠轉送規則的視窗。</translation>
     </message>
     <message>
         <source>&Port Forwarding</source>
@@ -3110,7 +3682,7 @@
     </message>
     <message>
         <source>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
-        <translation>在此輸入您將用在網路附加驅動程式的任何組態設定。 設定應有的形式 [<b>名稱=數值</b>] 且相依在驅動程式。 使用 [<b>Shift-Enter</b>] 加入新的項目。</translation>
+        <translation type="obsolete">在此輸入您將用在網路附加驅動程式的任何組態設定。 設定應有的形式 [<b>名稱=數值</b>] 且相依在驅動程式。 使用 [<b>Shift-Enter</b>] 加入新的項目。</translation>
     </message>
     <message>
         <source>Selects the network adapter on the host system that traffic to and from this network card will go through.</source>
@@ -3164,6 +3736,26 @@
         <source>Holds the name of the NAT network that this network card will be connected to. You can create and remove networks using the global network settings in the virtual machine manager window.</source>
         <translation>保留這個網路卡將連接的 NAT 網路的名稱。 可以使用 [虛擬機器管理員] 視窗中的 [全域網路] 設定建立或移除網路。</translation>
     </message>
+    <message>
+        <source>Selects how this virtual adapter is attached to the real network of the Host OS.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Shows additional network adapter options.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual network cable is plugged in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to configure port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallel</name>
@@ -3212,28 +3804,48 @@
         <source>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from <tt>0</tt> to <tt>0xFFFF</tt>.</source>
         <translation>保留這個並列埠的基礎 I/O 連接埠位址。有效值從 <tt>0</tt> 到 <tt>0xFFFF</tt> 的整數。</translation>
     </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">目前未指定 IRQ。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">目前未指定 I/O 連接埠。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">兩個或多個連接埠有相同設定。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">目前未指定連接埠路徑。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">目前指定的連接埠路徑重複。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsParallelPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>目前未指定 IRQ。</translation>
+        <translation type="obsolete">目前未指定 IRQ。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>目前未指定 I/O 連接埠。</translation>
+        <translation type="obsolete">目前未指定 I/O 連接埠。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>兩個或多個連接埠有相同設定。</translation>
+        <translation type="obsolete">兩個或多個連接埠有相同設定。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>目前未指定連接埠路徑。</translation>
+        <translation type="obsolete">目前未指定連接埠路徑。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>目前指定的連接埠路徑重複。</translation>
+        <translation type="obsolete">目前指定的連接埠路徑重複。</translation>
     </message>
 </context>
 <context>
@@ -3244,42 +3856,42 @@
     </message>
     <message>
         <source>This table contains a list of port forwarding rules.</source>
-        <translation>這個表格包含連接埠轉送規則的清單。</translation>
+        <translation type="obsolete">這個表格包含連接埠轉送規則的清單。</translation>
     </message>
     <message>
         <source>Insert new rule</source>
-        <translation>插入新的規則</translation>
+        <translation type="obsolete">插入新的規則</translation>
     </message>
     <message>
         <source>Copy selected rule</source>
-        <translation>複製選取的規則</translation>
+        <translation type="obsolete">複製選取的規則</translation>
     </message>
     <message>
         <source>Delete selected rule</source>
-        <translation>刪除選取的規則</translation>
+        <translation type="obsolete">刪除選取的規則</translation>
     </message>
     <message>
         <source>This button adds new port forwarding rule.</source>
-        <translation>這個按鈕新增連接埠轉送規則。</translation>
+        <translation type="obsolete">這個按鈕新增連接埠轉送規則。</translation>
     </message>
     <message>
         <source>This button deletes selected port forwarding rule.</source>
-        <translation>這個按鈕刪除選取的連接埠轉送規則。</translation>
+        <translation type="obsolete">這個按鈕刪除選取的連接埠轉送規則。</translation>
     </message>
 </context>
 <context>
     <name>UIMachineSettingsSF</name>
     <message>
         <source>Adds a new shared folder definition.</source>
-        <translation>加入新的共用資料夾定義。</translation>
+        <translation type="obsolete">加入新的共用資料夾定義。</translation>
     </message>
     <message>
         <source>Edits the selected shared folder definition.</source>
-        <translation>編輯選取的共用資料夾定義。</translation>
+        <translation type="obsolete">編輯選取的共用資料夾定義。</translation>
     </message>
     <message>
         <source>Removes the selected shared folder definition.</source>
-        <translation>移除選取的共用資料夾定義。</translation>
+        <translation type="obsolete">移除選取的共用資料夾定義。</translation>
     </message>
     <message>
         <source> Machine Folders</source>
@@ -3315,15 +3927,15 @@
     </message>
     <message>
         <source>&Add Shared Folder</source>
-        <translation>加入共用資料夾(&A)</translation>
+        <translation type="obsolete">加入共用資料夾(&A)</translation>
     </message>
     <message>
         <source>&Edit Shared Folder</source>
-        <translation>編輯共用資料夾(&E)</translation>
+        <translation type="obsolete">編輯共用資料夾(&E)</translation>
     </message>
     <message>
         <source>&Remove Shared Folder</source>
-        <translation>移除共用資料夾(&R)</translation>
+        <translation type="obsolete">移除共用資料夾(&R)</translation>
     </message>
     <message>
         <source>&Folders List</source>
@@ -3337,6 +3949,30 @@
         <source>Yes</source>
         <translation>是</translation>
     </message>
+    <message>
+        <source>Add Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Shared Folder</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected shared folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSFDetails</name>
@@ -3382,7 +4018,11 @@
     </message>
     <message>
         <source>If checked, this shared folder will be permanent.</source>
-        <translation>如果勾選,這個共用資料夾將永久存在。</translation>
+        <translation type="obsolete">如果勾選,這個共用資料夾將永久存在。</translation>
+    </message>
+    <message>
+        <source>When checked, this shared folder will be permanent.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -3422,7 +4062,7 @@
     </message>
     <message>
         <source>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
-        <translation>控制這個串列埠的工作模式。 如果您選取<b>已中斷連接</b>,客體作業系統將偵測到串列埠但無法操作。</translation>
+        <translation type="obsolete">控制這個串列埠的工作模式。 如果您選取<b>已中斷連接</b>,客體作業系統將偵測到串列埠但無法操作。</translation>
     </message>
     <message>
         <source>Holds the IRQ number of this serial port. This should be a whole number between <tt>0</tt> and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> setting is enabled for this virtual machine.</source>
@@ -3434,7 +4074,7 @@
     </message>
     <message>
         <source>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
-        <translation>如果勾選,虛擬機器將假設於 <b>路徑/位址</b>欄位中指定的管線或通訊端存在並嘗試去使用。 否則,虛擬機器將在啟動時建立管線或通訊端。</translation>
+        <translation type="obsolete">如果勾選,虛擬機器將假設於 <b>路徑/位址</b>欄位中指定的管線或通訊端存在並嘗試去使用。 否則,虛擬機器將在啟動時建立管線或通訊端。</translation>
     </message>
     <message>
         <source>&Connect to existing pipe/socket</source>
@@ -3448,28 +4088,56 @@
         <source><p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. Examples: "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. Examples: "COM1" or "/dev/ttyS0".</p><p>In <b>Raw File</b> mode: Holds the file-path on the host system, where the seri [...]
         <translation><p>在<b>主機管線</b>模式: 保留路徑為主機的串列埠管線。 範例: "\\.\pipe\myvbox" 或 "/tmp/myvbox", 分別對 Windows 和 UNIX 類的系統。</p><p>在<b>主機裝置</b>模式: 保留主機串列裝置名稱。 範例: "COM1" 或 "/dev/ttyS0"。</p><p>在 <b>Raw 檔案</b>模式: 保留在主機系統的檔案路徑,其中將傾印串列輸出。</p><p>在 <b>TCP</b> 模式: 在伺服器模式時保留 TCP "連接埠" 或在用戶端模式時保留 "主機名稱:連接埠" 。</translation>
     </message>
+    <message>
+        <source>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>No IRQ is currently specified.</source>
+        <translation type="unfinished">目前未指定 IRQ。</translation>
+    </message>
+    <message>
+        <source>No I/O port is currently specified.</source>
+        <translation type="unfinished">目前未指定 I/O 連接埠。</translation>
+    </message>
+    <message>
+        <source>Two or more ports have the same settings.</source>
+        <translation type="unfinished">兩個或多個連接埠有相同設定。</translation>
+    </message>
+    <message>
+        <source>No port path is currently specified.</source>
+        <translation type="unfinished">目前未指定連接埠路徑。</translation>
+    </message>
+    <message>
+        <source>There are currently duplicate port paths specified.</source>
+        <translation type="unfinished">目前指定的連接埠路徑重複。</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSerialPage</name>
     <message>
         <source>No IRQ is currently specified.</source>
-        <translation>目前未指定 IRQ。</translation>
+        <translation type="obsolete">目前未指定 IRQ。</translation>
     </message>
     <message>
         <source>No I/O port is currently specified.</source>
-        <translation>目前未指定 I/O 連接埠。</translation>
+        <translation type="obsolete">目前未指定 I/O 連接埠。</translation>
     </message>
     <message>
         <source>Two or more ports have the same settings.</source>
-        <translation>兩個或多個連接埠有相同設定。</translation>
+        <translation type="obsolete">兩個或多個連接埠有相同設定。</translation>
     </message>
     <message>
         <source>No port path is currently specified.</source>
-        <translation>目前未指定連接埠路徑。</translation>
+        <translation type="obsolete">目前未指定連接埠路徑。</translation>
     </message>
     <message>
         <source>There are currently duplicate port paths specified.</source>
-        <translation>目前指定的連接埠路徑重複。</translation>
+        <translation type="obsolete">目前指定的連接埠路徑重複。</translation>
     </message>
 </context>
 <context>
@@ -3480,11 +4148,11 @@
     </message>
     <message>
         <source><nobr>Expand/Collapse&nbsp;Item</nobr></source>
-        <translation><nobr>展開/摺疊項目</nobr></translation>
+        <translation type="obsolete"><nobr>展開/摺疊項目</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Hard&nbsp;Disk</nobr></source>
-        <translation><nobr>加入硬碟</nobr></translation>
+        <translation type="obsolete"><nobr>加入硬碟</nobr></translation>
     </message>
     <message>
         <source>Add Controller</source>
@@ -3524,19 +4192,19 @@
     </message>
     <message>
         <source>Adds a new controller to the end of the Storage Tree.</source>
-        <translation>新增控制器至存放裝置樹的尾端。</translation>
+        <translation type="obsolete">新增控制器至存放裝置樹的尾端。</translation>
     </message>
     <message>
         <source>Removes the controller highlighted in the Storage Tree.</source>
-        <translation>移除存放裝置樹中反白顯示的控制器。</translation>
+        <translation type="obsolete">移除存放裝置樹中反白顯示的控制器。</translation>
     </message>
     <message>
         <source>Adds a new attachment to the Storage Tree using currently selected controller as parent.</source>
-        <translation>使用目前選取的控制器為上層新增附件至存放裝置樹。</translation>
+        <translation type="obsolete">使用目前選取的控制器為上層新增附件至存放裝置樹。</translation>
     </message>
     <message>
         <source>Removes the attachment highlighted in the Storage Tree.</source>
-        <translation>移除存放裝置樹中反白顯示的附件。</translation>
+        <translation type="obsolete">移除存放裝置樹中反白顯示的附件。</translation>
     </message>
     <message>
         <source>Hard &Disk:</source>
@@ -3548,7 +4216,7 @@
     </message>
     <message>
         <source>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</source>
-        <translation>包含這部機器的所有存放控制器與附加到它們的虛擬機器及主機裝置。</translation>
+        <translation type="obsolete">包含這部機器的所有存放控制器與附加到它們的虛擬機器及主機裝置。</translation>
     </message>
     <message>
         <source>Information</source>
@@ -3568,7 +4236,7 @@
     </message>
     <message>
         <source>Changes the name of the storage controller currently selected in the Storage Tree.</source>
-        <translation>變更目前在存放裝置樹選取的儲存控制器名稱。</translation>
+        <translation type="obsolete">變更目前在存放裝置樹選取的儲存控制器名稱。</translation>
     </message>
     <message>
         <source>&Type:</source>
@@ -3616,7 +4284,7 @@
     </message>
     <message>
         <source>Allows to use host I/O caching capabilities.</source>
-        <translation>允許使用主機 I/O 快取能力。</translation>
+        <translation type="obsolete">允許使用主機 I/O 快取能力。</translation>
     </message>
     <message>
         <source>Use Host I/O Cache</source>
@@ -3636,7 +4304,7 @@
     </message>
     <message>
         <source>Image</source>
-        <translation>映像</translation>
+        <translation type="obsolete">映像</translation>
     </message>
     <message>
         <source>Choose or create a virtual hard disk file. The virtual machine will see the data in the file as the contents of the virtual hard disk.</source>
@@ -3644,7 +4312,7 @@
     </message>
     <message>
         <source>Set up the virtual hard disk</source>
-        <translation>設定虛擬硬碟</translation>
+        <translation type="obsolete">設定虛擬硬碟</translation>
     </message>
     <message>
         <source>Floppy &Drive:</source>
@@ -3656,15 +4324,15 @@
     </message>
     <message>
         <source>Set up the virtual floppy drive</source>
-        <translation>設定虛擬軟碟機</translation>
+        <translation type="obsolete">設定虛擬軟碟機</translation>
     </message>
     <message>
         <source>Create a new hard disk...</source>
-        <translation>建立新的硬碟...</translation>
+        <translation type="obsolete">建立新的硬碟...</translation>
     </message>
     <message>
         <source>Choose a virtual hard disk file...</source>
-        <translation>選擇虛擬硬碟檔案...</translation>
+        <translation type="obsolete">選擇虛擬硬碟檔案...</translation>
     </message>
     <message>
         <source>Remove disk from virtual drive</source>
@@ -3672,11 +4340,11 @@
     </message>
     <message>
         <source>Choose a virtual floppy disk file...</source>
-        <translation>選擇虛擬軟碟檔案...</translation>
+        <translation type="obsolete">選擇虛擬軟碟檔案...</translation>
     </message>
     <message>
         <source>When checked the virtual disk will not be removed when the guest system ejects it.</source>
-        <translation>勾選時,不會移除虛擬磁碟在客體系統將其退出時。</translation>
+        <translation type="obsolete">勾選時,不會移除虛擬磁碟在客體系統將其退出時。</translation>
     </message>
     <message>
         <source>&Live CD/DVD</source>
@@ -3684,7 +4352,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a solid state device.</source>
-        <translation>勾選時,客體系統會將虛擬磁碟視為固態裝置。</translation>
+        <translation type="obsolete">勾選時,客體系統會將虛擬磁碟視為固態裝置。</translation>
     </message>
     <message>
         <source>&Solid-state Drive</source>
@@ -3742,7 +4410,7 @@
     </message>
     <message>
         <source>When checked the guest system will see the virtual disk as a hot-pluggable device.</source>
-        <translation>勾選時,客體系統將看到虛擬磁碟為熱插拔裝置。</translation>
+        <translation type="obsolete">勾選時,客體系統將看到虛擬磁碟為熱插拔裝置。</translation>
     </message>
     <message>
         <source>&Hot-pluggable</source>
@@ -3750,15 +4418,15 @@
     </message>
     <message>
         <source>Choose a virtual optical disk file...</source>
-        <translation>選擇虛擬光碟檔案...</translation>
+        <translation type="obsolete">選擇虛擬光碟檔案...</translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Optical&nbsp;Drive</nobr></source>
-        <translation><nobr>加入光碟機</nobr></translation>
+        <translation type="obsolete"><nobr>加入光碟機</nobr></translation>
     </message>
     <message>
         <source><nobr>Add&nbsp;Floppy&nbsp;Drive</nobr></source>
-        <translation><nobr>加入軟碟機</nobr></translation>
+        <translation type="obsolete"><nobr>加入軟碟機</nobr></translation>
     </message>
     <message>
         <source>Add Optical Drive</source>
@@ -3778,23 +4446,108 @@
     </message>
     <message>
         <source>Set up the virtual optical drive</source>
-        <translation>設定虛擬光碟機</translation>
+        <translation type="obsolete">設定虛擬光碟機</translation>
     </message>
     <message>
         <source>Encrypted with key:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the name of the storage controller currently selected in the Storage Tree.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, allows to use host I/O caching capabilities.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the virtual disk will not be removed when the guest system ejects it.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a solid-state device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When checked, the guest system will see the virtual disk as a hot-pluggable device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual disk image file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Image</source>
+        <comment>storage image</comment>
+        <translation type="unfinished">映像</translation>
+    </message>
+    <message>
+        <source><nobr>Expands/Collapses&nbsp;item.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;hard&nbsp;disk.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;optical&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><nobr>Adds&nbsp;floppy&nbsp;drive.</nobr></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage controller.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected storage attachment.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Create New Hard Disk...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Hard Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Optical Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Disk From Virtual Drive</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose Virtual Floppy Disk File...</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsSystem</name>
     <message>
         <source><qt>%1&nbsp;MB</qt></source>
-        <translation><qt>%1&nbsp; MB</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; MB</qt></translation>
     </message>
     <message>
         <source><qt>%1&nbsp;CPU</qt></source>
         <comment>%1 is 1 for now</comment>
-        <translation><qt>%1&nbsp; 顆 &nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; 顆 &nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>&Motherboard</source>
@@ -3822,7 +4575,7 @@
     </message>
     <message>
         <source>Move Down (Ctrl-Down)</source>
-        <translation>下移 (Ctrl-Down)</translation>
+        <translation type="obsolete">下移 (Ctrl-Down)</translation>
     </message>
     <message>
         <source>Moves the selected boot device down.</source>
@@ -3830,7 +4583,7 @@
     </message>
     <message>
         <source>Move Up (Ctrl-Up)</source>
-        <translation>上移 (Ctrl-Up)</translation>
+        <translation type="obsolete">上移 (Ctrl-Up)</translation>
     </message>
     <message>
         <source>Moves the selected boot device up.</source>
@@ -3891,7 +4644,7 @@
     <message>
         <source><qt>%1&nbsp;CPUs</qt></source>
         <comment>%1 is host cpu count * 2 for now</comment>
-        <translation><qt>%1&nbsp; 顆 &nbsp;CPU</qt></translation>
+        <translation type="obsolete"><qt>%1&nbsp; 顆 &nbsp;CPU</qt></translation>
     </message>
     <message>
         <source>When checked, the guest will support the Extended Firmware Interface (EFI), which is required to boot certain guest OSes. Non-EFI aware OSes will not be able to boot if this option is activated.</source>
@@ -3903,7 +4656,7 @@
     </message>
     <message>
         <source>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
-        <translation>如果勾選,RTC 裝置將報告 UTC 的時間,否則是本機 (主機) 時間。 Unix 通常希望硬體時鐘設定為 UTC。</translation>
+        <translation type="obsolete">如果勾選,RTC 裝置將報告 UTC 的時間,否則是本機 (主機) 時間。 Unix 通常希望硬體時鐘設定為 UTC。</translation>
     </message>
     <message>
         <source>Hardware Clock in &UTC Time</source>
@@ -3932,12 +4685,12 @@
     <message>
         <source><qt>%1%</qt></source>
         <comment>Min CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source><qt>%1%</qt></source>
         <comment>Max CPU execution cap in %</comment>
-        <translation><qt>%1%</qt></translation>
+        <translation type="obsolete"><qt>%1%</qt></translation>
     </message>
     <message>
         <source>&Pointing Device:</source>
@@ -3991,56 +4744,82 @@
         <source>Hardware virtualization is not currently enabled in the Acceleration section of the System page. This is needed in order to support more than one virtual processor you have chosen for this VM. It will be done automatically if you confirm your changes.</source>
         <translation>硬體虛擬化目前未在 [系統] 頁的 [加速] 區啟用。 這是需要的以便在您選擇的這個 VM 支援一個以上的虛擬處理器。 如果您確認變更將會自動完成。</translation>
     </message>
+    <message>
+        <source>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%</source>
+        <translation type="unfinished">%</translation>
+    </message>
+    <message>
+        <source>%1 MB</source>
+        <translation type="unfinished">%1 MB</translation>
+    </message>
+    <message>
+        <source>%1 CPU</source>
+        <comment>%1 is 1 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1 CPUs</source>
+        <comment>%1 is host cpu count * 2 for now</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>%1%</source>
+        <translation type="unfinished">%1%</translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSB</name>
     <message>
         <source>&Add Empty Filter</source>
-        <translation>加入空的篩選器(&A)</translation>
+        <translation type="obsolete">加入空的篩選器(&A)</translation>
     </message>
     <message>
         <source>A&dd Filter From Device</source>
-        <translation>從裝置加入篩選器(&D)</translation>
+        <translation type="obsolete">從裝置加入篩選器(&D)</translation>
     </message>
     <message>
         <source>&Edit Filter</source>
-        <translation>編輯篩選器(&E)</translation>
+        <translation type="obsolete">編輯篩選器(&E)</translation>
     </message>
     <message>
         <source>&Remove Filter</source>
-        <translation>移除篩選器(&R)</translation>
+        <translation type="obsolete">移除篩選器(&R)</translation>
     </message>
     <message>
         <source>&Move Filter Up</source>
-        <translation>上移篩選器(&M)</translation>
+        <translation type="obsolete">上移篩選器(&M)</translation>
     </message>
     <message>
         <source>M&ove Filter Down</source>
-        <translation>下移篩選器(&O)</translation>
+        <translation type="obsolete">下移篩選器(&O)</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
-        <translation>加入一個所有欄位最初設定為空字串的新 USB 篩選器。 請注意,這些篩選器會符合任何附加的 USB 裝置。</translation>
+        <translation type="obsolete">加入一個所有欄位最初設定為空字串的新 USB 篩選器。 請注意,這些篩選器會符合任何附加的 USB 裝置。</translation>
     </message>
     <message>
         <source>Adds a new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
-        <translation>加入一個所有欄位設定為已附加到主機 PC 的選取 USB 裝置之新 USB 篩選器。</translation>
+        <translation type="obsolete">加入一個所有欄位設定為已附加到主機 PC 的選取 USB 裝置之新 USB 篩選器。</translation>
     </message>
     <message>
         <source>Edits the selected USB filter.</source>
-        <translation>編輯選取的 USB 篩選器。</translation>
+        <translation type="obsolete">編輯選取的 USB 篩選器。</translation>
     </message>
     <message>
         <source>Removes the selected USB filter.</source>
-        <translation>移除選取的 USB 篩選器。</translation>
+        <translation type="obsolete">移除選取的 USB 篩選器。</translation>
     </message>
     <message>
         <source>Moves the selected USB filter up.</source>
-        <translation>上移選取的 USB 篩選器。</translation>
+        <translation type="obsolete">上移選取的 USB 篩選器。</translation>
     </message>
     <message>
         <source>Moves the selected USB filter down.</source>
-        <translation>下移選取的 USB 篩選器。</translation>
+        <translation type="obsolete">下移選取的 USB 篩選器。</translation>
     </message>
     <message>
         <source>New Filter %1</source>
@@ -4057,7 +4836,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
-        <translation>勾選時,啟用這部機器的虛擬 USB EHCI 控制器。 USB EHCI 控制器提供 USB 2.0 支援。</translation>
+        <translation type="obsolete">勾選時,啟用這部機器的虛擬 USB EHCI 控制器。 USB EHCI 控制器提供 USB 2.0 支援。</translation>
     </message>
     <message>
         <source>USB Device &Filters</source>
@@ -4113,7 +4892,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
-        <translation>勾選時,啟用這部機器的虛擬 USB OHCI 控制器。  USB OHCI 控制器提供 USB 1.0 支援。</translation>
+        <translation type="obsolete">勾選時,啟用這部機器的虛擬 USB OHCI 控制器。  USB OHCI 控制器提供 USB 1.0 支援。</translation>
     </message>
     <message>
         <source>USB &1.1 (OHCI) Controller</source>
@@ -4125,7 +4904,7 @@
     </message>
     <message>
         <source>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
-        <translation>勾選時,啟用這部機器的虛擬 USB xHCI 控制器。  USB xHCI 控制器提供 USB 3.0 支援。</translation>
+        <translation type="obsolete">勾選時,啟用這部機器的虛擬 USB xHCI 控制器。  USB xHCI 控制器提供 USB 3.0 支援。</translation>
     </message>
     <message>
         <source>USB &3.0 (xHCI) Controller</source>
@@ -4135,6 +4914,66 @@
         <source>USB 2.0/3.0 is currently enabled for this virtual machine. However, this requires the <i>%1</i> to be installed. Please install the Extension Pack from the VirtualBox download site or disable USB 2.0/3.0 to be able to start the machine.</source>
         <translation>USB 2.0/3.0 目前在這部虛擬機器啟用。 然而,這需要安裝 <i>%1</i> 。 請從 VirtualBox 下載網站下載並安裝 Extension Pack 或停用 USB 2.0/3.0 使可以啟動機器。</translation>
     </message>
+    <message>
+        <source>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Empty Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add Filter From Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edit Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Filter</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Up</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Move Filter Down</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields initially set to empty strings. Note that such a filter will match any attached USB device.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new USB filter with all fields set to the values of the selected USB device attached to the host PC.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Edits selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected USB filter.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter up.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Moves selected USB filter down.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMachineSettingsUSBFilterDetails</name>
@@ -4167,7 +5006,7 @@
     </message>
     <message>
         <source>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>定義供應商 ID 篩選器。 <i>完全相符</i> 字串格式為 <tt>XXXX</tt> 其中 <tt>X</tt> 是十六進位數字。 空字串將符合任何值。</translation>
+        <translation type="obsolete">定義供應商 ID 篩選器。 <i>完全相符</i> 字串格式為 <tt>XXXX</tt> 其中 <tt>X</tt> 是十六進位數字。 空字串將符合任何值。</translation>
     </message>
     <message>
         <source>&Product ID:</source>
@@ -4175,7 +5014,7 @@
     </message>
     <message>
         <source>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
-        <translation>定義產品 ID 篩選器。 <i>完全相符</i> 字串格式為 <tt>XXXX</tt> 其中 <tt>X</tt> 是十六進位數字。 空字串將符合任何值。</translation>
+        <translation type="obsolete">定義產品 ID 篩選器。 <i>完全相符</i> 字串格式為 <tt>XXXX</tt> 其中 <tt>X</tt> 是十六進位數字。 空字串將符合任何值。</translation>
     </message>
     <message>
         <source>&Revision:</source>
@@ -4183,7 +5022,7 @@
     </message>
     <message>
         <source>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
-        <translation>定義修訂號篩選器。<i>完全相符</i> 字串格式為 <tt>IIFF</tt> 其中 <tt>I</tt> 是十進位數字的整數部分 <tt>F</tt> 是十進位數字的小數部分。 空字串將符合任何值。</translation>
+        <translation type="obsolete">定義修訂號篩選器。<i>完全相符</i> 字串格式為 <tt>IIFF</tt> 其中 <tt>I</tt> 是十進位數字的整數部分 <tt>F</tt> 是十進位數字的小數部分。 空字串將符合任何值。</translation>
     </message>
     <message>
         <source>&Manufacturer:</source>
@@ -4191,7 +5030,7 @@
     </message>
     <message>
         <source>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定義製造商篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
+        <translation type="obsolete">定義製造商篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
     </message>
     <message>
         <source>Pro&duct:</source>
@@ -4199,35 +5038,67 @@
     </message>
     <message>
         <source>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定義產品名稱篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
+        <translation type="obsolete">定義產品名稱篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
+    </message>
+    <message>
+        <source>&Serial No.:</source>
+        <translation>序號(&S):</translation>
+    </message>
+    <message>
+        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">定義產序號篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
+    </message>
+    <message>
+        <source>Por&t:</source>
+        <translation>連接埠(&T):</translation>
+    </message>
+    <message>
+        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="obsolete">定義主機 USB 連接埠篩選器為 <i>完全相符</i> 字串。 空字串將符合任意值。</translation>
+    </message>
+    <message>
+        <source>R&emote:</source>
+        <translation>遠端(&E):</translation>
+    </message>
+    <message>
+        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="obsolete">定義這個篩選器是否適用在本機附加的 USB 裝置到主機電腦 (<i>否</i>),到 VRDP 用戶端的電腦 (<i>是</i>) ,或同時 (<i>任何</i>)。</translation>
+    </message>
+    <message>
+        <source>USB Filter Details</source>
+        <translation>USB 篩選器詳細資料</translation>
+    </message>
+    <message>
+        <source>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&Serial No.:</source>
-        <translation>序號(&S):</translation>
+        <source>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定義產序號篩選器為 <i>完全相符</i> 字串。 空字串將符合任何值。</translation>
+        <source>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Por&t:</source>
-        <translation>連接埠(&T):</translation>
+        <source>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
-        <translation>定義主機 USB 連接埠篩選器為 <i>完全相符</i> 字串。 空字串將符合任意值。</translation>
+        <source>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>R&emote:</source>
-        <translation>遠端(&E):</translation>
+        <source>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
-        <translation>定義這個篩選器是否適用在本機附加的 USB 裝置到主機電腦 (<i>否</i>),到 VRDP 用戶端的電腦 (<i>是</i>) ,或同時 (<i>任何</i>)。</translation>
+        <source>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>USB Filter Details</source>
-        <translation>USB 篩選器詳細資料</translation>
+        <source>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -4248,7 +5119,7 @@
     <name>UIMediumManager</name>
     <message>
         <source>&Hard drives</source>
-        <translation>硬碟(&H)</translation>
+        <translation type="obsolete">硬碟(&H)</translation>
     </message>
     <message>
         <source>&Optical disks</source>
@@ -4262,6 +5133,10 @@
         <source>Removing medium...</source>
         <translation>移除媒體...</translation>
     </message>
+    <message>
+        <source>&Hard disks</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMediumTypeChangeDialog</name>
@@ -4548,7 +5423,7 @@
     </message>
     <message>
         <source><p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
-        <translation><p>由於客體視訊記憶體不足無法切換客體顯示為全螢幕模式。</p><p>您應組態虛擬機器至少 <b>%1</b> 的視訊記憶體。</p><p>按下 [<b>忽略</b>] 仍要切換為全螢幕或按下 [<b>取消</b>] 以取消操作。</p></translation>
+        <translation type="obsolete"><p>由於客體視訊記憶體不足無法切換客體顯示為全螢幕模式。</p><p>您應組態虛擬機器至少 <b>%1</b> 的視訊記憶體。</p><p>按下 [<b>忽略</b>] 仍要切換為全螢幕或按下 [<b>取消</b>] 以取消操作。</p></translation>
     </message>
     <message>
         <source>You are already running the most recent version of VirtualBox.</source>
@@ -4586,7 +5461,7 @@
     </message>
     <message>
         <source><p>Do you want to delete the storage unit of the hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which makes it po [...]
-        <translation><p>您要刪除硬碟的存放單元 <nobr><b>%1</b></nobr>嗎?</p><p>如果您選取 [<b>刪除</b>] 將永久刪除指定的存放單元。 這個操作<b>無法復原</b>。 </p><p>如果您選取 [<b>保留</b>] 硬碟將只從未知硬碟清單中移除,但存放單元將保持未接觸,使得稍後可以再次加入這個硬碟到清單。</p></translation>
+        <translation type="obsolete"><p>您要刪除硬碟的存放單元 <nobr><b>%1</b></nobr>嗎?</p><p>如果您選取 [<b>刪除</b>] 將永久刪除指定的存放單元。 這個操作<b>無法復原</b>。 </p><p>如果您選取 [<b>保留</b>] 硬碟將只從未知硬碟清單中移除,但存放單元將保持未接觸,使得稍後可以再次加入這個硬碟到清單。</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -4692,7 +5567,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
-        <translation><p>刪除快照將造成其儲存的狀態資訊遺失,且 VirtualBox 與快照一起建立分布在數個磁碟資料的映像檔案將合併為一個檔案。 這可能是一個漫長的過程,且快照中資訊無法恢復。</p></p>您確定要刪除選取的快照 <b>%1</b> 嗎?</p></translation>
+        <translation type="obsolete"><p>刪除快照將造成其儲存的狀態資訊遺失,且 VirtualBox 與快照一起建立分布在數個磁碟資料的映像檔案將合併為一個檔案。 這可能是一個漫長的過程,且快照中資訊無法恢復。</p></p>您確定要刪除選取的快照 <b>%1</b> 嗎?</p></translation>
     </message>
     <message>
         <source>Delete</source>
@@ -4725,7 +5600,7 @@
     </message>
     <message>
         <source><p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
-        <translation><p>刪除快照 %1 將暫時需要更多磁碟空間。 在最差情形下,映像 %2 的大小將成長為 %3,然而在這個檔案系統中只有 %4 的可用空間。</p><p>在合併操作期間執行超過磁碟空間,會造成映像和 VM 組態損毀,例如遺失 VM 和資料。</p><p>您可以繼續刪除快照,風險自負。</p></translation>
+        <translation type="obsolete"><p>刪除快照 %1 將暫時需要更多磁碟空間。 在最差情形下,映像 %2 的大小將成長為 %3,然而在這個檔案系統中只有 %4 的可用空間。</p><p>在合併操作期間執行超過磁碟空間,會造成映像和 VM 組態損毀,例如遺失 VM 和資料。</p><p>您可以繼續刪除快照,風險自負。</p></translation>
     </message>
     <message>
         <source><p>Could not change the guest screen to this host screen due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p></source>
@@ -4801,7 +5676,7 @@
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>fullscreen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in fullscreen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
-        <translation><p>現在將切換虛擬機器視窗到<b>全螢幕</b>模式。 您可以隨時按下 [<b>%1</b>] 回到視窗模式。</p><p>請注意,<i>Host</i> 鍵目前定義為 <b>%2</b>。</p><p>主功能表列在全螢幕模式中是隱藏的。 您可以按下 [<b>Host+Home</b>] 來存取。</p></translation>
+        <translation type="obsolete"><p>現在將切換虛擬機器視窗到<b>全螢幕</b>模式。 您可以隨時按下 [<b>%1</b>] 回到視窗模式。</p><p>請注意,<i>Host</i> 鍵目前定義為 <b>%2</b>。</p><p>主功能表列在全螢幕模式中是隱藏的。 您可以按下 [<b>Host+Home</b>] 來存取。</p></translation>
     </message>
     <message>
         <source><p>The virtual machine window will be now switched to <b>Seamless</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in seamless mode. You can access it by pressing <b>Host+Home</b>.</p></source>
@@ -4984,7 +5859,7 @@
     </message>
     <message>
         <source>You are about to create a new virtual machine without a hard drive. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
-        <translation>您即將建立新的虛擬機器不含硬碟。 除非加入一個硬碟否則將無法安裝作業系統。 在此同時,您將只能使用虛擬光碟或網路啟動機器。</translation>
+        <translation type="obsolete">您即將建立新的虛擬機器不含硬碟。 除非加入一個硬碟否則將無法安裝作業系統。 在此同時,您將只能使用虛擬光碟或網路啟動機器。</translation>
     </message>
     <message>
         <source>Failed to drop data.</source>
@@ -5096,15 +5971,15 @@
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您確定要釋放虛擬硬碟 <nobr><b>%1</b></nobr>嗎?</p><p>這將從以下的虛擬機器分離: <b>%2</b>。</p></translation>
+        <translation type="obsolete"><p>您確定要釋放虛擬硬碟 <nobr><b>%1</b></nobr>嗎?</p><p>這將從以下的虛擬機器分離: <b>%2</b>。</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您確定要釋放虛擬光碟<nobr><b>%1</b></nobr> 嗎?</p><p>這將會從以下虛擬機器分離: <b>%2</b>。</p></translation>
+        <translation type="obsolete"><p>您確定要釋放虛擬光碟<nobr><b>%1</b></nobr> 嗎?</p><p>這將會從以下虛擬機器分離: <b>%2</b>。</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
-        <translation><p>您確定要釋放虛擬軟碟<nobr><b>%1</b></nobr> 嗎?</p><p>這將會從以下虛擬機器分離: <b>%2</b>。</p></translation>
+        <translation type="obsolete"><p>您確定要釋放虛擬軟碟<nobr><b>%1</b></nobr> 嗎?</p><p>這將會從以下虛擬機器分離: <b>%2</b>。</p></translation>
     </message>
     <message>
         <source><p>Are you sure you want to remove the virtual hard disk <nobr><b>%1</b></nobr> from the list of known disk image files?</p></source>
@@ -5148,27 +6023,27 @@
     </message>
     <message>
         <source>Failed to open the hard disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>開啟硬碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
+        <translation type="obsolete">開啟硬碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
     </message>
     <message>
         <source>Failed to open the optical disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>開啟光碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
+        <translation type="obsolete">開啟光碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
     </message>
     <message>
         <source>Failed to open the floppy disk file <nobr><b>%1</b></nobr>.</source>
-        <translation>開啟軟碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
+        <translation type="obsolete">開啟軟碟檔案 <nobr><b>%1</b></nobr> 失敗。</translation>
     </message>
     <message>
         <source>Failed to close the hard disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>關閉硬碟檔案 <nobr><b>%2</b></nobr>失敗。</translation>
+        <translation type="obsolete">關閉硬碟檔案 <nobr><b>%2</b></nobr>失敗。</translation>
     </message>
     <message>
         <source>Failed to close the optical disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>關閉光碟檔案 <nobr><b>%2</b></nobr> 失敗。</translation>
+        <translation type="obsolete">關閉光碟檔案 <nobr><b>%2</b></nobr> 失敗。</translation>
     </message>
     <message>
         <source>Failed to close the floppy disk file <nobr><b>%2</b></nobr>.</source>
-        <translation>關閉軟碟檔案 <nobr><b>%2</b></nobr> 失敗。</translation>
+        <translation type="obsolete">關閉軟碟檔案 <nobr><b>%2</b></nobr> 失敗。</translation>
     </message>
     <message numerus="yes">
         <source><p>The %n following virtual machine(s) are currently in a saved state: <b>%1</b></p><p>If you continue the runtime state of the exported machine(s) will be discarded. The other machine(s) will not be changed.</p></source>
@@ -5288,7 +6163,7 @@
     </message>
     <message>
         <source><p>One or more virtual hard disks, optical or floppy disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
-        <translation><p>一或多個虛擬硬碟、光碟機 或軟碟映像檔案目前不可存取。 因此您將無法操作使用這些檔案的虛擬機器,直至它們稍後成為可存取。</p><p>按下 [<b>檢查</b>] 來開啟虛擬媒體管理員視窗並查看哪些檔案不可存取或按下 [<b>忽略</b>] 以忽略這個訊息。</p></translation>
+        <translation type="obsolete"><p>一或多個虛擬硬碟、光碟機 或軟碟映像檔案目前不可存取。 因此您將無法操作使用這些檔案的虛擬機器,直至它們稍後成為可存取。</p><p>按下 [<b>檢查</b>] 來開啟虛擬媒體管理員視窗並查看哪些檔案不可存取或按下 [<b>忽略</b>] 以忽略這個訊息。</p></translation>
     </message>
     <message>
         <source>Failed to save the settings.</source>
@@ -5378,6 +6253,46 @@
         <source>Failed to disconnect the network adapter cable of the virtual machine <b>%1</b>.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source><p>One or more disk image files are not currently accessible. As a result, you will not be able to operate virtual machines that use these files until they become accessible later.</p><p>Press <b>Check</b> to open the Virtual Media Manager window and see which files are inaccessible, or press <b>Ignore</b> to ignore this message.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over several image files that VirtualBox has created together with the snapshot will be merged into one file. This can be a lengthy process, and the information in the snapshot cannot be recovered.</p></p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting the snapshot at your own risk.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p><p>This will detach it from the following virtual machine(s): <b>%2</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Do you want to delete the storage unit of the virtual hard disk <nobr><b>%1</b></nobr>?</p><p>If you select <b>Delete</b> then the specified storage unit will be permanently deleted. This operation <b>cannot be undone</b>.</p><p>If you select <b>Keep</b> then the hard disk will be only removed from the list of known hard disks, but the storage unit will be left untouched which mak [...]
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to open the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Failed to close the disk image file <nobr><b>%1</b></nobr>.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>You are about to create a new virtual machine without a hard disk. You will not be able to install an operating system on the machine until you add one. In the mean time you will only be able to start the machine using a virtual optical disk or from the network.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>The virtual machine window will be now switched to <b>full-screen</b> mode. You can go back to windowed mode at any time by pressing <b>%1</b>.</p><p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p><p>Note that the main menu bar is hidden in full-screen mode. You can access it by pressing <b>Host+Home</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p><p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p><p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIMiniToolBar</name>
@@ -5529,27 +6444,82 @@
     <name>UIPortForwardingModel</name>
     <message>
         <source>Name</source>
-        <translation>名稱</translation>
+        <translation type="obsolete">名稱</translation>
+    </message>
+    <message>
+        <source>Protocol</source>
+        <translation type="obsolete">協定</translation>
+    </message>
+    <message>
+        <source>Host IP</source>
+        <translation type="obsolete">主機 IP</translation>
+    </message>
+    <message>
+        <source>Host Port</source>
+        <translation type="obsolete">主機連接埠</translation>
+    </message>
+    <message>
+        <source>Guest IP</source>
+        <translation type="obsolete">客體 IP</translation>
+    </message>
+    <message>
+        <source>Guest Port</source>
+        <translation type="obsolete">客體連接埠</translation>
+    </message>
+</context>
+<context>
+    <name>UIPortForwardingTable</name>
+    <message>
+        <source>Name</source>
+        <translation type="unfinished">名稱</translation>
     </message>
     <message>
         <source>Protocol</source>
-        <translation>協定</translation>
+        <translation type="unfinished">協定</translation>
     </message>
     <message>
         <source>Host IP</source>
-        <translation>主機 IP</translation>
+        <translation type="unfinished">主機 IP</translation>
     </message>
     <message>
         <source>Host Port</source>
-        <translation>主機連接埠</translation>
+        <translation type="unfinished">主機連接埠</translation>
     </message>
     <message>
         <source>Guest IP</source>
-        <translation>客體 IP</translation>
+        <translation type="unfinished">客體 IP</translation>
     </message>
     <message>
         <source>Guest Port</source>
-        <translation>客體連接埠</translation>
+        <translation type="unfinished">客體連接埠</translation>
+    </message>
+    <message>
+        <source>Contains a list of port forwarding rules.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Add New Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copy Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Remove Selected Rule</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Adds new port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Copies selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Removes selected port forwarding rule.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -5760,7 +6730,7 @@
     <name>UIStatusBarEditorButton</name>
     <message>
         <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
-        <translation><nobr><b>按一下</b>以切換顯示指示器。</nobr><br><nobr><b>拖曳</b>以變更指示器位置。</nobr></translation>
+        <translation type="obsolete"><nobr><b>按一下</b>以切換顯示指示器。</nobr><br><nobr><b>拖曳</b>以變更指示器位置。</nobr></translation>
     </message>
 </context>
 <context>
@@ -5773,6 +6743,10 @@
         <source>Enable Status Bar</source>
         <translation>啟用狀態列</translation>
     </message>
+    <message>
+        <source><nobr><b>Click</b> to toggle indicator presence.</nobr><br><nobr><b>Drag&Drop</b> to change indicator position.</nobr></source>
+        <translation type="unfinished"><nobr><b>按一下</b>以切換顯示指示器。</nobr><br><nobr><b>拖曳</b>以變更指示器位置。</nobr></translation>
+    </message>
 </context>
 <context>
     <name>UITextEditor</name>
@@ -6122,7 +7096,7 @@
     <name>UIWizardCloneVD</name>
     <message>
         <source>Copy Virtual Hard Drive</source>
-        <translation>複製虛擬硬碟</translation>
+        <translation type="obsolete">複製虛擬硬碟</translation>
     </message>
     <message>
         <source>Copy</source>
@@ -6130,43 +7104,43 @@
     </message>
     <message>
         <source>Hard drive to copy</source>
-        <translation>複製的硬碟</translation>
+        <translation type="obsolete">複製的硬碟</translation>
     </message>
     <message>
         <source><p>Please select the virtual hard drive file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
-        <translation><p>如果尚未選取,請選取希望複製的虛擬硬碟檔案。 可以從清單選擇或使用清單旁資料夾圖示選取一個。</p></translation>
+        <translation type="obsolete"><p>如果尚未選取,請選取希望複製的虛擬硬碟檔案。 可以從清單選擇或使用清單旁資料夾圖示選取一個。</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file to copy...</source>
-        <translation>選擇複製的虛擬硬碟檔案...</translation>
+        <translation type="obsolete">選擇複製的虛擬硬碟檔案...</translation>
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>硬碟檔案類型</translation>
+        <translation type="obsolete">硬碟檔案類型</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>請選擇您希望新虛擬硬碟所使用的檔案類型。 如果您不需要與其它虛擬化軟體使用,您可以保持此設定不變。</translation>
+        <translation type="obsolete">請選擇您希望新虛擬硬碟所使用的檔案類型。 如果您不需要與其它虛擬化軟體使用,您可以保持此設定不變。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>實體硬碟中存放裝置</translation>
+        <translation type="obsolete">實體硬碟中存放裝置</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>請選擇新虛擬硬碟檔案是否根據使用而成長 (動態配置) 或以最大大小建立 (固定大小)。</translation>
+        <translation type="obsolete">請選擇新虛擬硬碟檔案是否根據使用而成長 (動態配置) 或以最大大小建立 (固定大小)。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>動態配置</b>硬碟檔案只使用實體硬碟的空間作為填滿 (直到最大的<b>固定大小</b>) ,雖然有可用空間也不會再次自動伸縮。</p></translation>
+        <translation type="obsolete"><p><b>動態配置</b>硬碟檔案只使用實體硬碟的空間作為填滿 (直到最大的<b>固定大小</b>) ,雖然有可用空間也不會再次自動伸縮。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定大小</b>硬碟檔案在某些系統需要花比較長的時間建立但通常用起來比較快。</p></translation>
+        <translation type="obsolete"><p><b>固定大小</b>硬碟檔案在某些系統需要花比較長的時間建立但通常用起來比較快。</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>您也可以選擇<b>分割</b>虛擬硬碟成每個最大 2GB 的數個檔案。 這主要是有用於如果想存放虛擬機器在卸除式 USB 裝置,或某些無法處理非常大檔案的舊系統時。</translation>
+        <translation type="obsolete"><p>您也可以選擇<b>分割</b>虛擬硬碟成每個最大 2GB 的數個檔案。 這主要是有用於如果想存放虛擬機器在卸除式 USB 裝置,或某些無法處理非常大檔案的舊系統時。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -6182,19 +7156,19 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>請選擇新虛擬硬碟檔案的位置</translation>
+        <translation type="obsolete">請選擇新虛擬硬碟檔案的位置</translation>
     </message>
     <message>
         <source>New hard drive to create</source>
-        <translation>建立的新硬碟</translation>
+        <translation type="obsolete">建立的新硬碟</translation>
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>請在以下方塊輸入新虛擬硬碟檔案的名稱或按一下資料夾圖示以選取建立檔案所在的不同資料夾。</translation>
+        <translation type="obsolete">請在以下方塊輸入新虛擬硬碟檔案的名稱或按一下資料夾圖示以選取建立檔案所在的不同資料夾。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>選擇新虛擬硬碟檔案的位置...</translation>
+        <translation type="obsolete">選擇新虛擬硬碟檔案的位置...</translation>
     </message>
     <message>
         <source>%1_copy</source>
@@ -6203,15 +7177,87 @@
     </message>
     <message>
         <source>Hard drive to &copy</source>
-        <translation>複製的硬碟(&C)</translation>
+        <translation type="obsolete">複製的硬碟(&C)</translation>
     </message>
     <message>
         <source>&New hard drive to create</source>
-        <translation>建立的新硬碟(&N)</translation>
+        <translation type="obsolete">建立的新硬碟(&N)</translation>
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>硬碟檔案類型(&T)</translation>
+        <translation type="obsolete">硬碟檔案類型(&T)</translation>
+    </message>
+    <message>
+        <source>Copy Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>Please select the virtual hard disk file that you would like to copy if it is not already selected. You can either choose one from the list or use the folder icon beside the list to select one.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file to copy...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk to &copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&New hard disk to create</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6254,7 +7300,7 @@
     </message>
     <message>
         <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard drive files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard drive files will be tied to the virtual hard drive files of original machine and you will not be able to move the new virtual machi [...]
-        <translation><p>請選擇您希望建立的再製類型。</p><p>如果選擇 [<b>完整再製</b>], 原始虛擬機器的精確副本 (包含所有虛擬硬碟檔案) 將建立。</p><p>如果選擇 [<b>連結再製</b>],將建立新的機器,但虛擬硬碟檔案將連結到原始機器的虛擬硬碟檔案,且移動新的虛擬機器到不同電腦時必須同時移動原始。</p></translation>
+        <translation type="obsolete"><p>請選擇您希望建立的再製類型。</p><p>如果選擇 [<b>完整再製</b>], 原始虛擬機器的精確副本 (包含所有虛擬硬碟檔案) 將建立。</p><p>如果選擇 [<b>連結再製</b>],將建立新的機器,但虛擬硬碟檔案將連結到原始機器的虛擬硬碟檔案,且移動新的虛擬機器到不同電腦時必須同時移動原始。</p></translation>
     </message>
     <message>
         <source><p>If you create a <b>Linked clone</b> then a new snapshot will be created in the original virtual machine as part of the cloning process.</p></source>
@@ -6312,6 +7358,10 @@
         <source>&Linked Clone</source>
         <translation>連結再製(&L)</translation>
     </message>
+    <message>
+        <source><p>Please choose the type of clone you wish to create.</p><p>If you choose <b>Full clone</b>, an exact copy (including all virtual hard disk files) of the original virtual machine will be created.</p><p>If you choose <b>Linked clone</b>, a new machine will be created, but the virtual hard disk files will be tied to the virtual hard disk files of original machine and you will not be able to move the new virtual machine  [...]
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>UIWizardExportApp</name>
@@ -6568,7 +7618,7 @@
     <name>UIWizardNewVD</name>
     <message>
         <source>Create Virtual Hard Drive</source>
-        <translation>建立虛擬硬碟</translation>
+        <translation type="obsolete">建立虛擬硬碟</translation>
     </message>
     <message>
         <source>Create</source>
@@ -6576,31 +7626,31 @@
     </message>
     <message>
         <source>Hard drive file type</source>
-        <translation>硬碟檔案類型</translation>
+        <translation type="obsolete">硬碟檔案類型</translation>
     </message>
     <message>
         <source>Please choose the type of file that you would like to use for the new virtual hard drive. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
-        <translation>請選擇您希望新虛擬硬碟所使用的檔案類型。 如果您不需要與其它虛擬化軟體使用,您可以保持此設定不變。</translation>
+        <translation type="obsolete">請選擇您希望新虛擬硬碟所使用的檔案類型。 如果您不需要與其它虛擬化軟體使用,您可以保持此設定不變。</translation>
     </message>
     <message>
         <source>Storage on physical hard drive</source>
-        <translation>實體硬碟中存放裝置</translation>
+        <translation type="obsolete">實體硬碟中存放裝置</translation>
     </message>
     <message>
         <source>Please choose whether the new virtual hard drive file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
-        <translation>請選擇新虛擬硬碟檔案是否根據使用而成長 (動態配置) 或以最大大小建立 (固定大小)。</translation>
+        <translation type="obsolete">請選擇新虛擬硬碟檔案是否根據使用而成長 (動態配置) 或以最大大小建立 (固定大小)。</translation>
     </message>
     <message>
         <source><p>A <b>dynamically allocated</b> hard drive file will only use space on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
-        <translation><p><b>動態配置</b>硬碟檔案只使用實體硬碟的空間作為填滿 (直到最大的<b>固定大小</b>) ,雖然有可用空間也不會再次自動伸縮。</p></translation>
+        <translation type="obsolete"><p><b>動態配置</b>硬碟檔案只使用實體硬碟的空間作為填滿 (直到最大的<b>固定大小</b>) ,雖然有可用空間也不會再次自動伸縮。</p></translation>
     </message>
     <message>
         <source><p>A <b>fixed size</b> hard drive file may take longer to create on some systems but is often faster to use.</p></source>
-        <translation><p><b>固定大小</b>硬碟檔案在某些系統需要花比較長的時間建立但通常用起來比較快。</p></translation>
+        <translation type="obsolete"><p><b>固定大小</b>硬碟檔案在某些系統需要花比較長的時間建立但通常用起來比較快。</p></translation>
     </message>
     <message>
         <source><p>You can also choose to <b>split</b> the hard drive file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
-        <translation><p>您也可以選擇<b>分割</b>虛擬硬碟成每個最大 2GB 的數個檔案。 這主要是有用於如果想存放虛擬機器在卸除式 USB 裝置,或某些無法處理非常大檔案的舊系統時。</translation>
+        <translation type="obsolete"><p>您也可以選擇<b>分割</b>虛擬硬碟成每個最大 2GB 的數個檔案。 這主要是有用於如果想存放虛擬機器在卸除式 USB 裝置,或某些無法處理非常大檔案的舊系統時。</translation>
     </message>
     <message>
         <source>&Dynamically allocated</source>
@@ -6624,15 +7674,15 @@
     </message>
     <message>
         <source>Please type the name of the new virtual hard drive file into the box below or click on the folder icon to select a different folder to create the file in.</source>
-        <translation>請在以下方塊輸入新虛擬硬碟檔案的名稱或按一下資料夾圖示以選取建立檔案所在的不同資料夾。</translation>
+        <translation type="obsolete">請在以下方塊輸入新虛擬硬碟檔案的名稱或按一下資料夾圖示以選取建立檔案所在的不同資料夾。</translation>
     </message>
     <message>
         <source>Choose a location for new virtual hard drive file...</source>
-        <translation>選擇新虛擬硬碟檔案的位置...</translation>
+        <translation type="obsolete">選擇新虛擬硬碟檔案的位置...</translation>
     </message>
     <message>
         <source>Select the size of the virtual hard drive in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard drive.</source>
-        <translation>選取虛擬硬碟的大小,單位 MB。 此大小的限制是虛擬機器能存放在硬碟的檔案資料量。</translation>
+        <translation type="obsolete">選取虛擬硬碟的大小,單位 MB。 此大小的限制是虛擬機器能存放在硬碟的檔案資料量。</translation>
     </message>
     <message>
         <source>File &location</source>
@@ -6644,7 +7694,55 @@
     </message>
     <message>
         <source>Hard drive file &type</source>
-        <translation>硬碟檔案類型(&T)</translation>
+        <translation type="obsolete">硬碟檔案類型(&T)</translation>
+    </message>
+    <message>
+        <source>Create Virtual Hard Disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file type</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose the type of file that you would like to use for the new virtual hard disk. If you do not need to use it with other virtualization software you can leave this setting unchanged.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Storage on physical hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose whether the new virtual hard disk file should grow as it is used (dynamically allocated) or if it should be created at its maximum size (fixed size).</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>dynamically allocated</b> hard disk file will only use space on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), although it will not shrink again automatically when space on it is freed.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>A <b>fixed size</b> hard disk file may take longer to create on some systems but is often faster to use.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>You can also choose to <b>split</b> the hard disk file into several files of up to two gigabytes each. This is mainly useful if you wish to store the virtual machine on removable USB devices or old systems, some of which cannot handle very large files.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please type the name of the new virtual hard disk file into the box below or click on the folder icon to select a different folder to create the file in.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a location for new virtual hard disk file...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Select the size of the virtual hard disk in megabytes. This size is the limit on the amount of file data that a virtual machine will be able to store on the hard disk.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Hard disk file &type</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -6675,15 +7773,15 @@
     </message>
     <message>
         <source>Hard drive</source>
-        <translation>硬碟</translation>
+        <translation type="obsolete">硬碟</translation>
     </message>
     <message>
         <source><p>If you wish you can add a virtual hard drive to the new machine. You can either create a new hard drive file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard drive is <b>%1</b>.</p></source>
-        <translation><p>如果您希望能加入虛擬硬碟到新的機器。 可以建立新的硬碟檔案或從清單選取一個或使用資料夾圖示選取另一個位置。</p><p>如果需要更多複雜存放裝置設定,可以略過此步驟並在機器建立時進行變更機器設定。</p><p>建議硬碟的大小為 <b>%1</b>。</p></translation>
+        <translation type="obsolete"><p>如果您希望能加入虛擬硬碟到新的機器。 可以建立新的硬碟檔案或從清單選取一個或使用資料夾圖示選取另一個位置。</p><p>如果需要更多複雜存放裝置設定,可以略過此步驟並在機器建立時進行變更機器設定。</p><p>建議硬碟的大小為 <b>%1</b>。</p></translation>
     </message>
     <message>
         <source>Choose a virtual hard drive file...</source>
-        <translation>選擇虛擬硬碟檔案...</translation>
+        <translation type="obsolete">選擇虛擬硬碟檔案...</translation>
     </message>
     <message>
         <source>&Memory size</source>
@@ -6691,15 +7789,39 @@
     </message>
     <message>
         <source>&Do not add a virtual hard drive</source>
-        <translation>不加入虛擬硬碟(&D)</translation>
+        <translation type="obsolete">不加入虛擬硬碟(&D)</translation>
     </message>
     <message>
         <source>&Create a virtual hard drive now</source>
-        <translation>立即建立虛擬硬碟(&C)</translation>
+        <translation type="obsolete">立即建立虛擬硬碟(&C)</translation>
     </message>
     <message>
         <source>&Use an existing virtual hard drive file</source>
-        <translation>使用現有虛擬硬碟檔案(&U)</translation>
+        <translation type="obsolete">使用現有虛擬硬碟檔案(&U)</translation>
+    </message>
+    <message>
+        <source>Hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source><p>If you wish you can add a virtual hard disk to the new machine. You can either create a new hard disk file or select one from the list or from another location using the folder icon.</p><p>If you need a more complex storage set-up you can skip this step and make the changes to the machine settings once the machine is created.</p><p>The recommended size of the hard disk is <b>%1</b>.</p></source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Do not add a virtual hard disk</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Create a virtual hard disk now</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>&Use an existing virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Choose a virtual hard disk file...</source>
+        <translation type="unfinished">選擇虛擬硬碟檔案...</translation>
     </message>
 </context>
 <context>
@@ -6748,7 +7870,7 @@
     </message>
     <message>
         <source>Opens a window to select a different folder.</source>
-        <translation>開啟選取不同資料夾的視窗。</translation>
+        <translation type="obsolete">開啟選取不同資料夾的視窗。</translation>
     </message>
     <message>
         <source>Resets the folder path to the default value.</source>
@@ -6756,7 +7878,7 @@
     </message>
     <message>
         <source>Opens a window to select a different file.</source>
-        <translation>開啟選取不同檔案的視窗。</translation>
+        <translation type="obsolete">開啟選取不同檔案的視窗。</translation>
     </message>
     <message>
         <source>Resets the file path to the default value.</source>
@@ -6768,16 +7890,32 @@
     </message>
     <message>
         <source>Please type the folder path here.</source>
-        <translation>請在此輸入資料夾路徑。</translation>
+        <translation type="obsolete">請在此輸入資料夾路徑。</translation>
     </message>
     <message>
         <source>Please type the file path here.</source>
-        <translation>請在此輸入檔案路徑。</translation>
+        <translation type="obsolete">請在此輸入檔案路徑。</translation>
     </message>
     <message>
         <source>The actual default path value will be displayed after accepting the changes and opening this window again.</source>
         <translation>接受變更並重新開啟這個視窗後,將顯示實際的預設路徑值。</translation>
     </message>
+    <message>
+        <source>Displays a window to select a different folder.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Displays a window to select a different file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the folder path.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Holds the file path.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobal</name>
@@ -7970,11 +9108,11 @@
     </message>
     <message>
         <source>Please choose a virtual hard drive file</source>
-        <translation>請選擇虛擬硬碟檔案</translation>
+        <translation type="obsolete">請選擇虛擬硬碟檔案</translation>
     </message>
     <message>
         <source>All virtual hard drive files (%1)</source>
-        <translation>所有虛擬硬碟檔案 (%1)</translation>
+        <translation type="obsolete">所有虛擬硬碟檔案 (%1)</translation>
     </message>
     <message>
         <source>Please choose a virtual optical disk file</source>
@@ -8018,7 +9156,7 @@
     </message>
     <message>
         <source>Please choose a location for new virtual hard drive file</source>
-        <translation>請選擇新虛擬硬碟檔案的位置</translation>
+        <translation type="obsolete">請選擇新虛擬硬碟檔案的位置</translation>
     </message>
     <message>
         <source>Unrestricted Execution</source>
@@ -8200,23 +9338,50 @@
     <message>
         <source>Attaching this hard drive will be performed indirectly using a newly created differencing hard drive.</source>
         <comment>medium</comment>
-        <translation>附加這個硬碟機將使用新建立的差異硬碟機間接執行。</translation>
+        <translation type="obsolete">附加這個硬碟機將使用新建立的差異硬碟機間接執行。</translation>
     </message>
     <message>
         <source>Some of the files in this hard drive chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
         <comment>medium</comment>
-        <translation>在這個硬碟機鏈結中某些檔案無法存取。 請使用虛擬媒體管理員來檢查這些檔案。</translation>
+        <translation type="obsolete">在這個硬碟機鏈結中某些檔案無法存取。 請使用虛擬媒體管理員來檢查這些檔案。</translation>
     </message>
     <message>
         <source>This base hard drive is indirectly attached using the following differencing hard drive:</source>
         <comment>medium</comment>
-        <translation>這個基礎硬碟機使用以下差異硬碟機間接附加:</translation>
+        <translation type="obsolete">這個基礎硬碟機使用以下差異硬碟機間接附加:</translation>
     </message>
     <message>
         <source>Encrypted</source>
         <comment>medium</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Please choose a virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>All virtual hard disk files (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Attaching this hard disk will be performed indirectly using a newly created differencing hard disk.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Some of the files in this hard disk chain are inaccessible. Please use the Virtual Medium Manager to inspect these files.</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>This base hard disk is indirectly attached using the following differencing hard disk:</source>
+        <comment>medium</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Please choose a location for new virtual hard disk file</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VBoxGlobalSettings</name>
@@ -8474,7 +9639,7 @@
     </message>
     <message>
         <source>Show the details of the selected snapshot</source>
-        <translation>顯示選取快照的詳細資料</translation>
+        <translation type="obsolete">顯示選取快照的詳細資料</translation>
     </message>
     <message>
         <source> (%1)</source>
@@ -8490,11 +9655,11 @@
     </message>
     <message>
         <source>Restore the selected snapshot of the virtual machine</source>
-        <translation>還原選取的虛擬機器快照</translation>
+        <translation type="obsolete">還原選取的虛擬機器快照</translation>
     </message>
     <message>
         <source>Delete the selected snapshot of the virtual machine</source>
-        <translation>刪除選取的虛擬機器快照</translation>
+        <translation type="obsolete">刪除選取的虛擬機器快照</translation>
     </message>
     <message>
         <source> (%1 ago)</source>
@@ -8506,7 +9671,23 @@
     </message>
     <message>
         <source>Clone the selected virtual machine</source>
-        <translation>再製選取的虛擬機器</translation>
+        <translation type="obsolete">再製選取的虛擬機器</translation>
+    </message>
+    <message>
+        <source>Restore selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Delete selected snapshot of the virtual machine</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Display a window with selected snapshot details</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Clone selected virtual machine</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -8529,6 +9710,10 @@
             <numerusform>警告: 您正在取得執行中機器的快照,其附加 %n 不可改變的映像。 只要您正在從這個快照工作,將不能重設該不可變的映像,以避免資料遺失。</numerusform>
         </translation>
     </message>
+    <message>
+        <source>Snapshot %1</source>
+        <translation type="unfinished">快照 %1</translation>
+    </message>
 </context>
 <context>
     <name>VBoxUSBMenu</name>
diff --git a/src/VBox/Frontends/VirtualBox/src/UIVMInfoDialog.cpp b/src/VBox/Frontends/VirtualBox/src/UIVMInfoDialog.cpp
index f431bbb..4f109ad 100644
--- a/src/VBox/Frontends/VirtualBox/src/UIVMInfoDialog.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/UIVMInfoDialog.cpp
@@ -476,7 +476,7 @@ void UIVMInfoDialog::loadSettings()
 #else /* Q_WS_MAC */
         setGeometry(m_geometry);
 #endif /* !Q_WS_MAC */
-        LogRel(("UIVMInfoDialog: Geometry loaded to: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UIVMInfoDialog: Geometry loaded to: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
 
         /* Maximize (if necessary): */
@@ -495,7 +495,7 @@ void UIVMInfoDialog::saveSettings()
 #else /* Q_WS_MAC */
         gEDataManager->setInformationWindowGeometry(m_geometry, isMaximized(), vboxGlobal().managedVMUuid());
 #endif /* !Q_WS_MAC */
-        LogRel(("UIVMInfoDialog: Geometry saved as: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UIVMInfoDialog: Geometry saved as: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     }
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp b/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
index 30b3089..32af823 100644
--- a/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/VBoxFBOverlay.cpp
@@ -275,7 +275,7 @@ public:
         if (!fProcessed)
         {
             AssertMsgFailed(("VHWA command beinf destroyed unproceessed!"));
-            LogRel(("VHWA command being destroyed unproceessed!"));
+            LogRel(("GUI: VHWA command being destroyed unproceessed!"));
         }
 #ifdef DEBUG_misha
         g_EventCounter.dec();
diff --git a/src/VBox/Frontends/VirtualBox/src/VBoxTakeSnapshotDlg.ui b/src/VBox/Frontends/VirtualBox/src/VBoxTakeSnapshotDlg.ui
index ef0b742..4d3e30b 100644
--- a/src/VBox/Frontends/VirtualBox/src/VBoxTakeSnapshotDlg.ui
+++ b/src/VBox/Frontends/VirtualBox/src/VBoxTakeSnapshotDlg.ui
@@ -26,6 +26,9 @@
    <string>Take Snapshot of Virtual Machine</string>
   </property>
   <layout class="QGridLayout">
+   <property name="spacing">
+    <number>20</number>
+   </property>
    <item rowspan="2" row="0" column="0">
     <layout class="QVBoxLayout">
      <item>
diff --git a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp
index 40bbaa6..2ef20fd 100644
--- a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp
@@ -372,7 +372,7 @@ template<> QString toString(const KPortMode &mode)
         case KPortMode_HostDevice:   return QApplication::translate("VBoxGlobal", "Host Device", "PortMode");
         case KPortMode_RawFile:      return QApplication::translate("VBoxGlobal", "Raw File", "PortMode");
         case KPortMode_TCP:          return QApplication::translate("VBoxGlobal", "TCP", "PortMode");
-        AssertMsgFailed(("No text for %d", mode)); break;
+        default: AssertMsgFailed(("No text for %d", mode)); break;
     }
     return QString();
 }
@@ -385,7 +385,7 @@ template<> QString toString(const KUSBControllerType &type)
         case KUSBControllerType_OHCI: return QApplication::translate("VBoxGlobal", "OHCI", "USBControllerType");
         case KUSBControllerType_EHCI: return QApplication::translate("VBoxGlobal", "EHCI", "USBControllerType");
         case KUSBControllerType_XHCI: return QApplication::translate("VBoxGlobal", "xHCI", "USBControllerType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -401,7 +401,7 @@ template<> QString toString(const KUSBDeviceState &state)
         case KUSBDeviceState_Available:    return QApplication::translate("VBoxGlobal", "Available", "USBDeviceState");
         case KUSBDeviceState_Held:         return QApplication::translate("VBoxGlobal", "Held", "USBDeviceState");
         case KUSBDeviceState_Captured:     return QApplication::translate("VBoxGlobal", "Captured", "USBDeviceState");
-        AssertMsgFailed(("No text for %d", state)); break;
+        default: AssertMsgFailed(("No text for %d", state)); break;
     }
     return QString();
 }
@@ -413,7 +413,7 @@ template<> QString toString(const KUSBDeviceFilterAction &action)
     {
         case KUSBDeviceFilterAction_Ignore: return QApplication::translate("VBoxGlobal", "Ignore", "USBDeviceFilterAction");
         case KUSBDeviceFilterAction_Hold:   return QApplication::translate("VBoxGlobal", "Hold", "USBDeviceFilterAction");
-        AssertMsgFailed(("No text for %d", action)); break;
+        default: AssertMsgFailed(("No text for %d", action)); break;
     }
     return QString();
 }
@@ -432,7 +432,7 @@ template<> QString toString(const KAudioDriverType &type)
         // case KAudioDriverType_MMPM:
         case KAudioDriverType_Pulse:       return QApplication::translate("VBoxGlobal", "PulseAudio", "AudioDriverType");
         case KAudioDriverType_SolAudio:    return QApplication::translate("VBoxGlobal", "Solaris Audio", "AudioDriverType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -445,7 +445,7 @@ template<> QString toString(const KAudioControllerType &type)
         case KAudioControllerType_AC97: return QApplication::translate("VBoxGlobal", "ICH AC97", "AudioControllerType");
         case KAudioControllerType_SB16: return QApplication::translate("VBoxGlobal", "SoundBlaster 16", "AudioControllerType");
         case KAudioControllerType_HDA:  return QApplication::translate("VBoxGlobal", "Intel HD Audio", "AudioControllerType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -458,7 +458,7 @@ template<> QString toString(const KAuthType &type)
         case KAuthType_Null:     return QApplication::translate("VBoxGlobal", "Null", "AuthType");
         case KAuthType_External: return QApplication::translate("VBoxGlobal", "External", "AuthType");
         case KAuthType_Guest:    return QApplication::translate("VBoxGlobal", "Guest", "AuthType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -473,7 +473,7 @@ template<> QString toString(const KStorageBus &bus)
         case KStorageBus_SCSI:   return QApplication::translate("VBoxGlobal", "SCSI", "StorageBus");
         case KStorageBus_Floppy: return QApplication::translate("VBoxGlobal", "Floppy", "StorageBus");
         case KStorageBus_SAS:    return QApplication::translate("VBoxGlobal", "SAS", "StorageBus");
-        AssertMsgFailed(("No text for %d", bus)); break;
+        default: AssertMsgFailed(("No text for %d", bus)); break;
     }
     return QString();
 }
@@ -492,7 +492,7 @@ template<> QString toString(const KStorageControllerType &type)
         case KStorageControllerType_I82078:      return QApplication::translate("VBoxGlobal", "I82078", "StorageControllerType");
         case KStorageControllerType_LsiLogicSas: return QApplication::translate("VBoxGlobal", "LsiLogic SAS", "StorageControllerType");
         case KStorageControllerType_USB:         return QApplication::translate("VBoxGlobal", "USB", "StorageControllerType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -504,7 +504,7 @@ template<> QString toString(const KChipsetType &type)
     {
         case KChipsetType_PIIX3: return QApplication::translate("VBoxGlobal", "PIIX3", "ChipsetType");
         case KChipsetType_ICH9:  return QApplication::translate("VBoxGlobal", "ICH9", "ChipsetType");
-        AssertMsgFailed(("No text for %d", type)); break;
+        default: AssertMsgFailed(("No text for %d", type)); break;
     }
     return QString();
 }
@@ -516,7 +516,7 @@ template<> QString toString(const KNATProtocol &protocol)
     {
         case KNATProtocol_UDP: return QApplication::translate("VBoxGlobal", "UDP", "NATProtocol");
         case KNATProtocol_TCP: return QApplication::translate("VBoxGlobal", "TCP", "NATProtocol");
-        AssertMsgFailed(("No text for %d", protocol)); break;
+        default: AssertMsgFailed(("No text for %d", protocol)); break;
     }
     return QString();
 }
@@ -529,11 +529,7 @@ template<> QString toInternalString(const KNATProtocol &protocol)
     {
         case KNATProtocol_UDP: strResult = "udp"; break;
         case KNATProtocol_TCP: strResult = "tcp"; break;
-        default:
-        {
-            AssertMsgFailed(("No text for protocol type=%d", protocol));
-            break;
-        }
+        default: AssertMsgFailed(("No text for protocol type=%d", protocol)); break;
     }
     return strResult;
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
index 441f9cd..9838d3c 100644
--- a/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
@@ -567,8 +567,11 @@ template<> QString toInternalString(const UIExtraDataMetaDefs::RuntimeMenuViewAc
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_Fullscreen:           strResult = "Fullscreen"; break;
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_Seamless:             strResult = "Seamless"; break;
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_Scale:                strResult = "Scale"; break;
-        case UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize:      strResult = "GuestAutoresize"; break;
+#ifndef Q_WS_MAC
+        case UIExtraDataMetaDefs::RuntimeMenuViewActionType_MinimizeWindow:       strResult = "MinimizeWindow"; break;
+#endif /* !Q_WS_MAC */
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_AdjustWindow:         strResult = "AdjustWindow"; break;
+        case UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize:      strResult = "GuestAutoresize"; break;
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_TakeScreenshot:       strResult = "TakeScreenshot"; break;
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_VideoCapture:         strResult = "VideoCapture"; break;
         case UIExtraDataMetaDefs::RuntimeMenuViewActionType_VideoCaptureSettings: strResult = "VideoCaptureSettings"; break;
@@ -604,8 +607,11 @@ template<> UIExtraDataMetaDefs::RuntimeMenuViewActionType fromInternalString<UIE
     keys << "Fullscreen";           values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_Fullscreen;
     keys << "Seamless";             values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_Seamless;
     keys << "Scale";                values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_Scale;
-    keys << "GuestAutoresize";      values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize;
+#ifndef Q_WS_MAC
+    keys << "MinimizeWindow";       values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_MinimizeWindow;
+#endif /* !Q_WS_MAC */
     keys << "AdjustWindow";         values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_AdjustWindow;
+    keys << "GuestAutoresize";      values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize;
     keys << "TakeScreenshot";       values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_TakeScreenshot;
     keys << "VideoCapture";         values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_VideoCapture;
     keys << "VideoCaptureSettings"; values << UIExtraDataMetaDefs::RuntimeMenuViewActionType_VideoCaptureSettings;
diff --git a/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp b/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp
index 70f08d9..6d4f443 100644
--- a/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp
@@ -240,6 +240,9 @@ void QIArrowSplitter::prepare()
         QHBoxLayout *pButtonLayout = new QHBoxLayout;
         AssertPtrReturnVoid(pButtonLayout);
         {
+            /* Determine icon metric: */
+            const QStyle *pStyle = QApplication::style();
+            const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize) * .625;
             /* Configure button-layout: */
             pButtonLayout->setContentsMargins(0, 0, 0, 0);
             pButtonLayout->setSpacing(0);
@@ -248,7 +251,7 @@ void QIArrowSplitter::prepare()
             AssertPtrReturnVoid(m_pSwitchButton);
             {
                 /* Configure switch-button: */
-                m_pSwitchButton->setIconSize(QSize(10, 10));
+                m_pSwitchButton->setIconSize(QSize(iIconMetric, iIconMetric));
                 m_pSwitchButton->setIconForButtonState(QIArrowButtonSwitch::ButtonState_Collapsed,
                                                        UIIconPool::iconSet(":/arrow_right_10px.png"));
                 m_pSwitchButton->setIconForButtonState(QIArrowButtonSwitch::ButtonState_Expanded,
@@ -265,7 +268,7 @@ void QIArrowSplitter::prepare()
             AssertPtrReturnVoid(m_pBackButton);
             {
                 /* Configure back-button: */
-                m_pBackButton->setIconSize(QSize(10, 10));
+                m_pBackButton->setIconSize(QSize(iIconMetric, iIconMetric));
                 m_pBackButton->setIcon(UIIconPool::iconSet(":/arrow_left_10px.png"));
                 connect(m_pBackButton, SIGNAL(sigClicked()), this, SLOT(sltSwitchDetailsPageBack()));
                 /* Add back-button into button-layout: */
@@ -276,7 +279,7 @@ void QIArrowSplitter::prepare()
             AssertPtrReturnVoid(m_pNextButton);
             {
                 /* Configure next-button: */
-                m_pNextButton->setIconSize(QSize(10, 10));
+                m_pNextButton->setIconSize(QSize(iIconMetric, iIconMetric));
                 m_pNextButton->setIcon(UIIconPool::iconSet(":/arrow_right_10px.png"));
                 connect(m_pNextButton, SIGNAL(sigClicked()), this, SLOT(sltSwitchDetailsPageNext()));
                 /* Add next-button into button-layout: */
diff --git a/src/VBox/Frontends/VirtualBox/src/extensions/QIStatusBarIndicator.cpp b/src/VBox/Frontends/VirtualBox/src/extensions/QIStatusBarIndicator.cpp
index 0f4c653..1bc2b3c 100644
--- a/src/VBox/Frontends/VirtualBox/src/extensions/QIStatusBarIndicator.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extensions/QIStatusBarIndicator.cpp
@@ -23,6 +23,8 @@
 # include <QIcon>
 # include <QPainter>
 # include <QHBoxLayout>
+# include <QApplication>
+# include <QStyle>
 # include <QLabel>
 # ifdef Q_WS_MAC
 #  include <QContextMenuEvent>
@@ -89,7 +91,9 @@ QIcon QIStateStatusBarIndicator::stateIcon(int iState) const
 void QIStateStatusBarIndicator::setStateIcon(int iState, const QIcon &icon)
 {
     /* Adjust size-hint: */
-    m_size = m_size.expandedTo(icon.availableSizes().first());
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+    m_size = QSize(iIconMetric, iIconMetric);
     /* Cache passed-icon: */
     m_icons[iState] = icon;
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.cpp b/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.cpp
new file mode 100644
index 0000000..aef0d8b
--- /dev/null
+++ b/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.cpp
@@ -0,0 +1,109 @@
+/* $Id: QIGraphicsView.cpp $ */
+/** @file
+ * VBox Qt GUI - QIGraphicsView class implementation.
+ */
+
+/*
+ * Copyright (C) 2015 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+#ifdef VBOX_WITH_PRECOMPILED_HEADERS
+# include <precomp.h>
+#else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
+
+/* Qt includes: */
+# include <QScrollBar>
+# include <QTouchEvent>
+
+/* GUI includes: */
+# include "QIGraphicsView.h"
+
+/* Other VBox includes: */
+# include "iprt/assert.h"
+
+#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
+
+QIGraphicsView::QIGraphicsView(QWidget *pParent /* = 0 */)
+    : QGraphicsView(pParent)
+    , m_iVerticalScrollBarPosition(0)
+{
+    /* Enable multi-touch support: */
+    setAttribute(Qt::WA_AcceptTouchEvents);
+    viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
+}
+
+bool QIGraphicsView::event(QEvent *pEvent)
+{
+    /* Handle known event types: */
+    switch (pEvent->type())
+    {
+        case QEvent::TouchBegin:
+        {
+            /* Parse the touch event: */
+            QTouchEvent *pTouchEvent = static_cast<QTouchEvent*>(pEvent);
+            AssertPtrReturn(pTouchEvent, QGraphicsView::event(pEvent));
+            /* For touch-screen event we have something special: */
+            if (pTouchEvent->deviceType() == QTouchEvent::TouchScreen)
+            {
+                /* Remember where the scrolling was started: */
+                m_iVerticalScrollBarPosition = verticalScrollBar()->value();
+                /* Allow further touch events: */
+                pEvent->accept();
+                /* Mark event handled: */
+                return true;
+            }
+            break;
+        }
+        case QEvent::TouchUpdate:
+        {
+            /* Parse the touch-event: */
+            QTouchEvent *pTouchEvent = static_cast<QTouchEvent*>(pEvent);
+            AssertPtrReturn(pTouchEvent, QGraphicsView::event(pEvent));
+            /* For touch-screen event we have something special: */
+            if (pTouchEvent->deviceType() == QTouchEvent::TouchScreen)
+            {
+                /* Determine vertical shift (inverted): */
+                const QTouchEvent::TouchPoint point = pTouchEvent->touchPoints().first();
+                const int iShift = point.startPos().y() - point.pos().y();
+                /* Calculate new scroll-bar value according calculated shift: */
+                int iNewScrollBarValue = m_iVerticalScrollBarPosition + iShift;
+                /* Make sure new scroll-bar value is within the minimum/maximum bounds: */
+                iNewScrollBarValue = qMax(verticalScrollBar()->minimum(), iNewScrollBarValue);
+                iNewScrollBarValue = qMin(verticalScrollBar()->maximum(), iNewScrollBarValue);
+                /* Apply calculated scroll-bar shift finally: */
+                verticalScrollBar()->setValue(iNewScrollBarValue);
+                /* Mark event handled: */
+                return true;
+            }
+            break;
+        }
+        case QEvent::TouchEnd:
+        {
+            /* Parse the touch event: */
+            QTouchEvent *pTouchEvent = static_cast<QTouchEvent*>(pEvent);
+            AssertPtrReturn(pTouchEvent, QGraphicsView::event(pEvent));
+            /* For touch-screen event we have something special: */
+            if (pTouchEvent->deviceType() == QTouchEvent::TouchScreen)
+            {
+                /* Reset the scrolling start position: */
+                m_iVerticalScrollBarPosition = 0;
+                /* Mark event handled: */
+                return true;
+            }
+            break;
+        }
+        default:
+            break;
+    }
+    /* Call to base-class: */
+    return QGraphicsView::event(pEvent);
+}
+
diff --git a/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.h b/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.h
new file mode 100644
index 0000000..039ebcb
--- /dev/null
+++ b/src/VBox/Frontends/VirtualBox/src/extensions/graphics/QIGraphicsView.h
@@ -0,0 +1,46 @@
+/* $Id: QIGraphicsView.h $ */
+/** @file
+ * VBox Qt GUI - QIGraphicsView class declaration.
+ */
+
+/*
+ * Copyright (C) 2015 Oracle Corporation
+ *
+ * This file is part of VirtualBox Open Source Edition (OSE), as
+ * available from http://www.virtualbox.org. This file is free software;
+ * you can redistribute it and/or modify it under the terms of the GNU
+ * General Public License (GPL) as published by the Free Software
+ * Foundation, in version 2 as it comes in the "COPYING" file of the
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+
+#ifndef ___QIGraphicsView_h___
+#define ___QIGraphicsView_h___
+
+/* Qt includes: */
+#include <QGraphicsView>
+
+/** General QGraphicsView extension. */
+class QIGraphicsView : public QGraphicsView
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructor, passes @a pParent to the QGraphicsView constructor. */
+    QIGraphicsView(QWidget *pParent = 0);
+
+protected:
+
+    /** General @a pEvent handler. */
+    bool event(QEvent *pEvent);
+
+private:
+
+    /** Holds the vertical scroll-bar position. */
+    int m_iVerticalScrollBarPosition;
+};
+
+#endif /* !___QIGraphicsView_h___ */
+
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
index daf6f9c..5ec1fe1 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp
@@ -112,7 +112,6 @@ const char* UIExtraDataDefs::GUI_Fullscreen_LegacyMode = "GUI/Fullscreen/LegacyM
 #endif /* Q_WS_X11 */
 const char* UIExtraDataDefs::GUI_AutoresizeGuest = "GUI/AutoresizeGuest";
 const char* UIExtraDataDefs::GUI_LastGuestSizeHint = "GUI/LastGuestSizeHint";
-const char* UIExtraDataDefs::GUI_LastGuestSizeHintWasFullscreen = "GUI/LastGuestSizeHintWasFullscreen";
 const char* UIExtraDataDefs::GUI_VirtualScreenToHostScreen = "GUI/VirtualScreenToHostScreen";
 const char* UIExtraDataDefs::GUI_AutomountGuestScreens = "GUI/AutomountGuestScreens";
 #ifdef VBOX_WITH_VIDEOHWACCEL
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
index 2533ac5..c25ae02 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
@@ -192,9 +192,6 @@ namespace UIExtraDataDefs
           * which holds last guest-screen size-hint per screen-index. */
         extern const char* GUI_LastGuestSizeHint;
         /** Prefix used by composite extra-data keys,
-          * which holds whether guest size-hint was for full or seamless screen per screen-index. */
-        extern const char* GUI_LastGuestSizeHintWasFullscreen;
-        /** Prefix used by composite extra-data keys,
           * which holds host-screen index per guest-screen index. */
         extern const char* GUI_VirtualScreenToHostScreen;
         /** Holds whether automatic mounting/unmounting of guest-screens enabled. */
@@ -379,24 +376,27 @@ public:
         RuntimeMenuViewActionType_Fullscreen           = RT_BIT(0),
         RuntimeMenuViewActionType_Seamless             = RT_BIT(1),
         RuntimeMenuViewActionType_Scale                = RT_BIT(2),
-        RuntimeMenuViewActionType_GuestAutoresize      = RT_BIT(3),
+#ifndef RT_OS_DARWIN
+        RuntimeMenuViewActionType_MinimizeWindow       = RT_BIT(3),
+#endif /* !RT_OS_DARWIN */
         RuntimeMenuViewActionType_AdjustWindow         = RT_BIT(4),
-        RuntimeMenuViewActionType_TakeScreenshot       = RT_BIT(5),
-        RuntimeMenuViewActionType_VideoCapture         = RT_BIT(6),
-        RuntimeMenuViewActionType_VideoCaptureSettings = RT_BIT(7),
-        RuntimeMenuViewActionType_StartVideoCapture    = RT_BIT(8),
-        RuntimeMenuViewActionType_VRDEServer           = RT_BIT(9),
-        RuntimeMenuViewActionType_MenuBar              = RT_BIT(10),
-        RuntimeMenuViewActionType_MenuBarSettings      = RT_BIT(11),
+        RuntimeMenuViewActionType_GuestAutoresize      = RT_BIT(5),
+        RuntimeMenuViewActionType_TakeScreenshot       = RT_BIT(6),
+        RuntimeMenuViewActionType_VideoCapture         = RT_BIT(7),
+        RuntimeMenuViewActionType_VideoCaptureSettings = RT_BIT(8),
+        RuntimeMenuViewActionType_StartVideoCapture    = RT_BIT(9),
+        RuntimeMenuViewActionType_VRDEServer           = RT_BIT(10),
+        RuntimeMenuViewActionType_MenuBar              = RT_BIT(11),
+        RuntimeMenuViewActionType_MenuBarSettings      = RT_BIT(12),
 #ifndef RT_OS_DARWIN
-        RuntimeMenuViewActionType_ToggleMenuBar        = RT_BIT(12),
+        RuntimeMenuViewActionType_ToggleMenuBar        = RT_BIT(13),
 #endif /* !RT_OS_DARWIN */
-        RuntimeMenuViewActionType_StatusBar            = RT_BIT(13),
-        RuntimeMenuViewActionType_StatusBarSettings    = RT_BIT(14),
-        RuntimeMenuViewActionType_ToggleStatusBar      = RT_BIT(15),
-        RuntimeMenuViewActionType_ScaleFactor          = RT_BIT(16),
-        RuntimeMenuViewActionType_Resize               = RT_BIT(17),
-        RuntimeMenuViewActionType_Multiscreen          = RT_BIT(18),
+        RuntimeMenuViewActionType_StatusBar            = RT_BIT(14),
+        RuntimeMenuViewActionType_StatusBarSettings    = RT_BIT(15),
+        RuntimeMenuViewActionType_ToggleStatusBar      = RT_BIT(16),
+        RuntimeMenuViewActionType_ScaleFactor          = RT_BIT(17),
+        RuntimeMenuViewActionType_Resize               = RT_BIT(18),
+        RuntimeMenuViewActionType_Multiscreen          = RT_BIT(19),
         RuntimeMenuViewActionType_All                  = 0xFFFF
     };
 
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
index 978737c..aaa2a5c 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
@@ -1478,7 +1478,7 @@ void UIExtraDataManagerWindow::loadSettings()
 #else /* Q_WS_MAC */
         setGeometry(m_geometry);
 #endif /* !Q_WS_MAC */
-        LogRel(("UIExtraDataManagerWindow: Geometry loaded to: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UIExtraDataManagerWindow: Geometry loaded to: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
 
         /* Maximize (if necessary): */
@@ -1507,7 +1507,7 @@ void UIExtraDataManagerWindow::saveSettings()
 #else /* Q_WS_MAC */
         gEDataManager->setExtraDataManagerGeometry(m_geometry, isMaximized());
 #endif /* !Q_WS_MAC */
-        LogRel(("UIExtraDataManagerWindow: Geometry saved as: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UIExtraDataManagerWindow: Geometry saved as: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     }
 }
@@ -1776,7 +1776,7 @@ QStringList UIExtraDataManagerWindow::knownExtraDataKeys()
 #ifdef Q_WS_X11
            << GUI_Fullscreen_LegacyMode
 #endif /* Q_WS_X11 */
-           << GUI_AutoresizeGuest << GUI_LastGuestSizeHint << GUI_LastGuestSizeHintWasFullscreen
+           << GUI_AutoresizeGuest << GUI_LastGuestSizeHint
            << GUI_VirtualScreenToHostScreen << GUI_AutomountGuestScreens
 #ifdef VBOX_WITH_VIDEOHWACCEL
            << GUI_Accelerate2D_StretchLinear
@@ -3109,24 +3109,6 @@ void UIExtraDataManager::setLastGuestSizeHint(ulong uScreenIndex, const QSize &s
     setExtraDataStringList(strKey, data, strID);
 }
 
-bool UIExtraDataManager::wasLastGuestSizeHintForFullScreen(ulong uScreenIndex, const QString &strID)
-{
-    /* Choose corresponding key: */
-    const QString strKey = extraDataKeyPerScreen(GUI_LastGuestSizeHintWasFullscreen, uScreenIndex);
-
-    /* 'True' only if feature is allowed: */
-    return isFeatureAllowed(strKey, strID);
-}
-
-void UIExtraDataManager::markLastGuestSizeHintAsFullScreen(ulong uScreenIndex, bool fWas, const QString &strID)
-{
-    /* Choose corresponding key: */
-    const QString strKey = extraDataKeyPerScreen(GUI_LastGuestSizeHintWasFullscreen, uScreenIndex);
-
-    /* 'True' if feature allowed, null-string otherwise: */
-    return setExtraDataString(strKey, toFeatureAllowed(fWas), strID);
-}
-
 int UIExtraDataManager::hostScreenForPassedGuestScreen(int iGuestScreenIndex, const QString &strID)
 {
     /* Choose corresponding key: */
diff --git a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
index c8e88a5..18de0f4 100644
--- a/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
+++ b/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
@@ -382,10 +382,6 @@ public:
         QSize lastGuestSizeHint(ulong uScreenIndex, const QString &strID);
         /** Defines last guest-screen @a sizeHint for screen with @a uScreenIndex. */
         void setLastGuestSizeHint(ulong uScreenIndex, const QSize &sizeHint, const QString &strID);
-        /** Returns whether guest size-hint was for full or seamless screen with @a uScreenIndex. */
-        bool wasLastGuestSizeHintForFullScreen(ulong uScreenIndex, const QString &strID);
-        /** Defines whether guest size-hint @a fWas for full or seamless screen with @a uScreenIndex. */
-        void markLastGuestSizeHintAsFullScreen(ulong uScreenIndex, bool fWas, const QString &strID);
 
         /** Returns host-screen index corresponding to passed guest-screen @a iGuestScreenIndex. */
         int hostScreenForPassedGuestScreen(int iGuestScreenIndex, const QString &strID);
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
index aaf903d..2021d34 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
@@ -525,7 +525,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Minimize"));
-        setStatusTip(QApplication::translate("UIActionPool", "Minimize active machine-window"));
+        setStatusTip(QApplication::translate("UIActionPool", "Minimize active window"));
     }
 };
 #endif /* RT_OS_DARWIN */
@@ -698,7 +698,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Network Operations Manager..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Show Network Operations Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the Network Operations Manager window"));
     }
 };
 
@@ -788,7 +788,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&About VirtualBox..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Show a window with product information"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display a window with product information"));
     }
 };
 
@@ -831,8 +831,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Preferences...", "global settings"));
-        setStatusTip(QApplication::translate("UIActionPool", "Display the global settings window"));
+        setName(QApplication::translate("UIActionPool", "&Preferences...", "global preferences window"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the global preferences window"));
     }
 };
 
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
index 0204ea9..25bdca3 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIIconPool.cpp
@@ -378,11 +378,16 @@ QPixmap UIIconPoolGeneral::guestOSTypeIcon(const QString &strOSTypeID, QSize *pL
                     ("Undefined icon for type '%s'.", strOSTypeID.toLatin1().constData()),
                     nullPixmap);
 
+    /* Determine desired icon size: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_LargeIconSize);
+    const QSize iconSize = QSize(iIconMetric, iIconMetric);
+
     /* Pass up logical size if necessary: */
     if (pLogicalSize)
-        *pLogicalSize = availableSizes.first();
+        *pLogicalSize = iconSize;
 
     /* Return pixmap of first available size: */
-    return icon.pixmap(availableSizes.first());
+    return icon.pixmap(iconSize);
 }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
index 04cda13..eb2c093 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
@@ -696,8 +696,7 @@ void UIMessageCenter::cannotRemoveMachine(const CMachine &machine, const CProgre
 bool UIMessageCenter::warnAboutInaccessibleMedia() const
 {
     return questionBinary(0, MessageType_Warning,
-                          tr("<p>One or more virtual hard disks, optical or "
-                             "floppy disk image files are not currently accessible. As a result, you will "
+                          tr("<p>One or more disk image files are not currently accessible. As a result, you will "
                              "not be able to operate virtual machines that use these files until "
                              "they become accessible later.</p>"
                              "<p>Press <b>Check</b> to open the Virtual Media Manager window and "
@@ -843,7 +842,7 @@ int UIMessageCenter::confirmSnapshotRestoring(const QString &strSnapshotName, bo
 bool UIMessageCenter::confirmSnapshotRemoval(const QString &strSnapshotName) const
 {
     return questionBinary(0, MessageType_Question,
-                          tr("<p>Deleting the snapshot will cause the state information saved in it to be lost, and disk data spread over "
+                          tr("<p>Deleting the snapshot will cause the state information saved in it to be lost, and storage data spread over "
                              "several image files that VirtualBox has created together with the snapshot will be merged into one file. "
                              "This can be a lengthy process, and the information in the snapshot cannot be recovered.</p>"
                              "</p>Are you sure you want to delete the selected snapshot <b>%1</b>?</p>")
@@ -858,8 +857,8 @@ bool UIMessageCenter::warnAboutSnapshotRemovalFreeSpace(const QString &strSnapsh
                                                         const QString &strTargetFileSystemFree) const
 {
     return questionBinary(0, MessageType_Question,
-                          tr("<p>Deleting the snapshot %1 will temporarily need more disk space. In the worst case the size of image %2 will grow by %3, "
-                              "however on this filesystem there is only %4 free.</p><p>Running out of disk space during the merge operation can result in "
+                          tr("<p>Deleting the snapshot %1 will temporarily need more storage space. In the worst case the size of image %2 will grow by %3, "
+                              "however on this filesystem there is only %4 free.</p><p>Running out of storage space during the merge operation can result in "
                               "corruption of the image and the VM configuration, i.e. loss of the VM and its data.</p><p>You may continue with deleting "
                               "the snapshot at your own risk.</p>")
                               .arg(strSnapshotName, strTargetImageName, strTargetImageMaxSize, strTargetFileSystemFree),
@@ -1233,34 +1232,11 @@ bool UIMessageCenter::confirmMediumRelease(const UIMedium &medium, QWidget *pPar
             continue;
         usage << machine.GetName();
     }
-    /* Prepare the message: */
-    QString strMessage;
-    switch (medium.type())
-    {
-        case UIMediumType_HardDisk:
-        {
-            strMessage = tr("<p>Are you sure you want to release the virtual hard disk <nobr><b>%1</b></nobr>?</p>"
-                            "<p>This will detach it from the following virtual machine(s): <b>%2</b>.</p>");
-            break;
-        }
-        case UIMediumType_DVD:
-        {
-            strMessage = tr("<p>Are you sure you want to release the virtual optical disk <nobr><b>%1</b></nobr>?</p>"
-                            "<p>This will detach it from the following virtual machine(s): <b>%2</b>.</p>");
-            break;
-        }
-        case UIMediumType_Floppy:
-        {
-            strMessage = tr("<p>Are you sure you want to release the virtual floppy disk <nobr><b>%1</b></nobr>?</p>"
-                            "<p>This will detach it from the following virtual machine(s): <b>%2</b>.</p>");
-            break;
-        }
-        default:
-            break;
-    }
     /* Show the question: */
     return questionBinary(pParent, MessageType_Question,
-                          strMessage.arg(medium.location(), usage.join(", ")),
+                          tr("<p>Are you sure you want to release the disk image file <nobr><b>%1</b></nobr>?</p>"
+                             "<p>This will detach it from the following virtual machine(s): <b>%2</b>.</p>")
+                             .arg(medium.location(), usage.join(", ")),
                           0 /* auto-confirm id */,
                           tr("Release", "detach medium"));
 }
@@ -1319,7 +1295,7 @@ bool UIMessageCenter::confirmMediumRemoval(const UIMedium &medium, QWidget *pPar
 int UIMessageCenter::confirmDeleteHardDiskStorage(const QString &strLocation, QWidget *pParent /* = 0*/) const
 {
     return questionTrinary(pParent, MessageType_Question,
-                           tr("<p>Do you want to delete the storage unit of the hard disk "
+                           tr("<p>Do you want to delete the storage unit of the virtual hard disk "
                               "<nobr><b>%1</b></nobr>?</p>"
                               "<p>If you select <b>Delete</b> then the specified storage unit "
                               "will be permanently deleted. This operation <b>cannot be "
@@ -1435,68 +1411,24 @@ bool UIMessageCenter::cannotRemountMedium(const CMachine &machine, const UIMediu
     return false;
 }
 
-void UIMessageCenter::cannotOpenMedium(const CVirtualBox &vbox, UIMediumType type, const QString &strLocation, QWidget *pParent /* = 0*/) const
+void UIMessageCenter::cannotOpenMedium(const CVirtualBox &vbox, UIMediumType /* type */, const QString &strLocation, QWidget *pParent /* = 0*/) const
 {
-    /* Prepare the message: */
-    QString strMessage;
-    switch (type)
-    {
-        case UIMediumType_HardDisk:
-        {
-            strMessage = tr("Failed to open the hard disk file <nobr><b>%1</b></nobr>.");
-            break;
-        }
-        case UIMediumType_DVD:
-        {
-            strMessage = tr("Failed to open the optical disk file <nobr><b>%1</b></nobr>.");
-            break;
-        }
-        case UIMediumType_Floppy:
-        {
-            strMessage = tr("Failed to open the floppy disk file <nobr><b>%1</b></nobr>.");
-            break;
-        }
-        default:
-            break;
-    }
     /* Show the error: */
     error(pParent, MessageType_Error,
-          strMessage.arg(strLocation), formatErrorInfo(vbox));
+          tr("Failed to open the disk image file <nobr><b>%1</b></nobr>.").arg(strLocation), formatErrorInfo(vbox));
 }
 
 void UIMessageCenter::cannotCloseMedium(const UIMedium &medium, const COMResult &rc, QWidget *pParent /* = 0*/) const
 {
-    /* Prepare the message: */
-    QString strMessage;
-    switch (medium.type())
-    {
-        case UIMediumType_HardDisk:
-        {
-            strMessage = tr("Failed to close the hard disk file <nobr><b>%2</b></nobr>.");
-            break;
-        }
-        case UIMediumType_DVD:
-        {
-            strMessage = tr("Failed to close the optical disk file <nobr><b>%2</b></nobr>.");
-            break;
-        }
-        case UIMediumType_Floppy:
-        {
-            strMessage = tr("Failed to close the floppy disk file <nobr><b>%2</b></nobr>.");
-            break;
-        }
-        default:
-            break;
-    }
     /* Show the error: */
     error(pParent, MessageType_Error,
-          strMessage.arg(medium.location()), formatErrorInfo(rc));
+          tr("Failed to close the disk image file <nobr><b>%1</b></nobr>.").arg(medium.location()), formatErrorInfo(rc));
 }
 
 bool UIMessageCenter::confirmHardDisklessMachine(QWidget *pParent /* = 0*/) const
 {
     return questionBinary(pParent, MessageType_Warning,
-                          tr("You are about to create a new virtual machine without a hard drive. "
+                          tr("You are about to create a new virtual machine without a hard disk. "
                              "You will not be able to install an operating system on the machine "
                              "until you add one. In the mean time you will only be able to start the "
                              "machine using a virtual optical disk or from the network."),
@@ -1915,10 +1847,10 @@ bool UIMessageCenter::confirmInputCapture(bool &fAutoConfirmed) const
 bool UIMessageCenter::confirmGoingFullscreen(const QString &strHotKey) const
 {
     return questionBinary(0, MessageType_Info,
-                          tr("<p>The virtual machine window will be now switched to <b>fullscreen</b> mode. "
+                          tr("<p>The virtual machine window will be now switched to <b>full-screen</b> mode. "
                              "You can go back to windowed mode at any time by pressing <b>%1</b>.</p>"
                              "<p>Note that the <i>Host</i> key is currently defined as <b>%2</b>.</p>"
-                             "<p>Note that the main menu bar is hidden in fullscreen mode. "
+                             "<p>Note that the main menu bar is hidden in full-screen mode. "
                              "You can access it by pressing <b>Host+Home</b>.</p>")
                              .arg(strHotKey, UIHostCombo::toReadableString(vboxGlobal().settings().hostCombo())),
                           "confirmGoingFullscreen",
@@ -1954,9 +1886,9 @@ bool UIMessageCenter::confirmGoingScale(const QString &strHotKey) const
 bool UIMessageCenter::cannotEnterFullscreenMode(ULONG /* uWidth */, ULONG /* uHeight */, ULONG /* uBpp */, ULONG64 uMinVRAM) const
 {
     return questionBinary(0, MessageType_Warning,
-                          tr("<p>Could not switch the guest display to fullscreen mode due to insufficient guest video memory.</p>"
+                          tr("<p>Could not switch the guest display to full-screen mode due to insufficient guest video memory.</p>"
                              "<p>You should configure the virtual machine to have at least <b>%1</b> of video memory.</p>"
-                             "<p>Press <b>Ignore</b> to switch to fullscreen mode anyway or press <b>Cancel</b> to cancel the operation.</p>")
+                             "<p>Press <b>Ignore</b> to switch to full-screen mode anyway or press <b>Cancel</b> to cancel the operation.</p>")
                              .arg(VBoxGlobal::formatSize(uMinVRAM)),
                           0 /* auto-confirm id */,
                           tr("Ignore"));
diff --git a/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp b/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
index 2f77400..760cde8 100644
--- a/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
@@ -1579,8 +1579,8 @@ QString VBoxGlobal::openMediumWithFileOpenDialog(UIMediumType mediumType, QWidge
         case UIMediumType_HardDisk:
         {
             filters = vboxGlobal().HDDBackends();
-            strTitle = tr("Please choose a virtual hard drive file");
-            allType = tr("All virtual hard drive files (%1)");
+            strTitle = tr("Please choose a virtual hard disk file");
+            allType = tr("All virtual hard disk files (%1)");
             strLastFolder = gEDataManager->recentFolderForHardDrives();
             if (strLastFolder.isEmpty())
                 strLastFolder = gEDataManager->recentFolderForOpticalDisks();
@@ -1782,23 +1782,10 @@ void VBoxGlobal::prepareStorageMenu(QMenu &menu,
 
 
     /* Prepare open-existing-medium action: */
-    QAction *pActionOpenExistingMedium = menu.addAction(QIcon(":/select_file_16px.png"), QString(), pListener, pszSlotName);
+    QAction *pActionOpenExistingMedium = menu.addAction(UIIconPool::iconSet(":/select_file_16px.png"), QString(), pListener, pszSlotName);
     pActionOpenExistingMedium->setData(QVariant::fromValue(UIMediumTarget(strControllerName, currentAttachment.GetPort(), currentAttachment.GetDevice(),
                                                                           mediumType)));
-    switch (mediumType)
-    {
-        case UIMediumType_HardDisk:
-            pActionOpenExistingMedium->setText(QApplication::translate("UIMachineSettingsStorage", "Choose a virtual hard disk file..."));
-            break;
-        case UIMediumType_DVD:
-            pActionOpenExistingMedium->setText(QApplication::translate("UIMachineSettingsStorage", "Choose a virtual optical disk file..."));
-            break;
-        case UIMediumType_Floppy:
-            pActionOpenExistingMedium->setText(QApplication::translate("UIMachineSettingsStorage", "Choose a virtual floppy disk file..."));
-            break;
-        default:
-            break;
-    }
+    pActionOpenExistingMedium->setText(QApplication::translate("UIMachineSettingsStorage", "Choose a virtual disk image file..."));
 
 
     /* Insert separator: */
@@ -3219,16 +3206,14 @@ bool VBoxGlobal::activateWindow (WId aWId, bool aSwitchDesktop /* = true */)
                                            *desktop);
             if (!ok)
             {
-                LogWarningFunc (("Couldn't switch to desktop=%08X\n",
-                                 desktop));
+                Log1WarningFunc(("Couldn't switch to desktop=%08X\n", desktop));
                 result = false;
             }
             XFree (desktop);
         }
         else
         {
-            LogWarningFunc (("Couldn't find a desktop ID for aWId=%08X\n",
-                             aWId));
+            Log1WarningFunc(("Couldn't find a desktop ID for aWId=%08X\n", aWId));
             result = false;
         }
     }
@@ -3248,7 +3233,7 @@ bool VBoxGlobal::activateWindow (WId aWId, bool aSwitchDesktop /* = true */)
 #endif
 
     if (!result)
-        LogWarningFunc (("Couldn't activate aWId=%08X\n", aWId));
+        Log1WarningFunc(("Couldn't activate aWId=%08X\n", aWId));
 
     return result;
 }
@@ -4567,13 +4552,13 @@ bool VBoxGlobal::switchToMachine(CMachine &machine)
 
 bool VBoxGlobal::launchMachine(CMachine &machine, LaunchMode enmLaunchMode /* = LaunchMode_Default */)
 {
+    /* Switch to machine window(s) if possible: */
+    if (   machine.GetSessionState() == KSessionState_Locked /* precondition for CanShowConsoleWindow() */
+        && machine.CanShowConsoleWindow())
+        return VBoxGlobal::switchToMachine(machine);
+
     if (enmLaunchMode != LaunchMode_Separate)
     {
-        /* Switch to machine window(s) if possible: */
-        if (   machine.GetSessionState() == KSessionState_Locked /* precondition for CanShowConsoleWindow() */
-            && machine.CanShowConsoleWindow())
-            return VBoxGlobal::switchToMachine(machine);
-
         /* Make sure machine-state is one of required: */
         KMachineState state = machine.GetState(); NOREF(state);
         AssertMsg(   state == KMachineState_PoweredOff
diff --git a/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp b/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp
index dd41783..6976fac 100644
--- a/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp
@@ -174,7 +174,7 @@ void UIMedium::refresh()
     if (!m_medium.isNull())
     {
         /* Refresh medium ID: */
-        m_strId = m_medium.GetId();
+        m_strId = normalizedID(m_medium.GetId());
         /* Refresh root medium ID: */
         m_strRootId = m_strId;
 
@@ -230,7 +230,7 @@ void UIMedium::refresh()
             /* Refresh parent hard drive ID: */
             CMedium parentMedium = m_medium.GetParent();
             if (!parentMedium.isNull())
-                m_strParentId = parentMedium.GetId();
+                m_strParentId = normalizedID(parentMedium.GetId());
 
             /* Only for created and accessible mediums: */
             if (m_state != KMediumState_Inaccessible && m_state != KMediumState_NotCreated)
@@ -238,7 +238,7 @@ void UIMedium::refresh()
                 /* Refresh root hard drive ID: */
                 while (!parentMedium.isNull())
                 {
-                    m_strRootId = parentMedium.GetId();
+                    m_strRootId = normalizedID(parentMedium.GetId());
                     parentMedium = parentMedium.GetParent();
                 }
 
@@ -395,7 +395,7 @@ void UIMedium::updateParentID()
     {
         CMedium parentMedium = m_medium.GetParent();
         if (!parentMedium.isNull())
-            m_strParentId = parentMedium.GetId();
+            m_strParentId = normalizedID(parentMedium.GetId());
     }
 }
 
@@ -418,8 +418,8 @@ QString UIMedium::toolTip(bool fNoDiffs /* = false */, bool fCheckRO /* = false
 
         if (fCheckRO && m_fReadOnly)
             strTip += m_sstrRow.arg("<hr>") +
-                      m_sstrRow.arg(VBoxGlobal::tr("Attaching this hard drive will be performed indirectly using "
-                                                   "a newly created differencing hard drive.", "medium"));
+                      m_sstrRow.arg(VBoxGlobal::tr("Attaching this hard disk will be performed indirectly using "
+                                                   "a newly created differencing hard disk.", "medium"));
     }
 
     return m_sstrTable.arg(strTip);
@@ -528,6 +528,15 @@ QString UIMedium::nullID()
 }
 
 /* static */
+QString UIMedium::normalizedID(const QString &strID)
+{
+    AssertMsgReturn(QUuid(strID).toString().remove('{').remove('}') == strID,
+                    ("CMedium UUID is not valid: '%s'\n", strID.toAscii().constData()),
+                    nullID());
+    return strID;
+}
+
+/* static */
 bool UIMedium::isMediumAttachedToHiddenMachinesOnly(const UIMedium &medium)
 {
     /* Iterate till the root: */
@@ -573,7 +582,7 @@ void UIMedium::checkNoDiffs(bool fNoDiffs)
             m_noDiffs.state = parentMedium.m_state;
 
             if (m_noDiffs.toolTip.isNull())
-                m_noDiffs.toolTip = m_sstrRow.arg(VBoxGlobal::tr("Some of the files in this hard drive chain "
+                m_noDiffs.toolTip = m_sstrRow.arg(VBoxGlobal::tr("Some of the files in this hard disk chain "
                                                                  "are inaccessible. Please use the Virtual Medium "
                                                                  "Manager to inspect these files.", "medium"));
 
@@ -589,8 +598,8 @@ void UIMedium::checkNoDiffs(bool fNoDiffs)
     {
         m_noDiffs.toolTip = root().tip() +
                             m_sstrRow.arg("<hr>") +
-                            m_sstrRow.arg(VBoxGlobal::tr("This base hard drive is indirectly attached using "
-                                                         "the following differencing hard drive:", "medium")) +
+                            m_sstrRow.arg(VBoxGlobal::tr("This base hard disk is indirectly attached using "
+                                                         "the following differencing hard disk:", "medium")) +
                             m_strToolTip + m_noDiffs.toolTip;
     }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h b/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h
index 2fd5bf2..b3d4065 100644
--- a/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h
+++ b/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.h
@@ -120,8 +120,13 @@ public:
     /** Returns the CMedium wrapped by this UIMedium object. */
     const CMedium& medium() const { return m_medium; }
 
-    /** Returns @c true if CMedium wrapped by this UIMedium object is a NULL object. */
-    bool isNull() const { return m_medium.isNull(); }
+    /** Returns @c true if CMedium wrapped by this UIMedium object has ID == #nullID().
+      * @note   Also make sure wrapped CMedium is NULL object if his ID == #nullID(). */
+    bool isNull() const
+    {
+        AssertReturn(m_strId != nullID() || m_medium.isNull(), true);
+        return m_strId == nullID();
+    }
 
     /** Returns the medium state.
       * @param fNoDiffs @c true to enable user-friendly "don't show diffs" mode.
@@ -284,6 +289,9 @@ public:
     /** Returns NULL medium ID. */
     static QString nullID();
 
+    /** Returns passed @a strID if it's valid or #nullID() overwise. */
+    static QString normalizedID(const QString &strID);
+
     /** Determines if passed @a medium is attached to hidden machines only. */
     static bool isMediumAttachedToHiddenMachinesOnly(const UIMedium &medium);
 
diff --git a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp
index 258f995..9f7ebcf 100644
--- a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp
@@ -127,7 +127,7 @@ void UIMediumEnumerator::createMedium(const UIMedium &medium)
 
     /* Insert medium: */
     m_mediums[strMediumID] = medium;
-    LogRel(("UIMediumEnumerator: Medium with key={%s} created.\n", strMediumID.toAscii().constData()));
+    LogRel(("GUI: UIMediumEnumerator: Medium with key={%s} created\n", strMediumID.toAscii().constData()));
 
     /* Notify listener: */
     emit sigMediumCreated(strMediumID);
@@ -143,7 +143,7 @@ void UIMediumEnumerator::deleteMedium(const QString &strMediumID)
 
     /* Remove medium: */
     m_mediums.remove(strMediumID);
-    LogRel(("UIMediumEnumerator: Medium with key={%s} deleted.\n", strMediumID.toAscii().constData()));
+    LogRel(("GUI: UIMediumEnumerator: Medium with key={%s} deleted\n", strMediumID.toAscii().constData()));
 
     /* Notify listener: */
     emit sigMediumDeleted(strMediumID);
@@ -168,7 +168,7 @@ void UIMediumEnumerator::enumerateMediums()
     m_mediums = mediums;
 
     /* Notify listener: */
-    LogRel(("UIMediumEnumerator: Medium-enumeration started...\n"));
+    LogRel(("GUI: UIMediumEnumerator: Medium-enumeration started...\n"));
     m_fMediumEnumerationInProgress = true;
     emit sigMediumEnumerationStarted();
 
@@ -180,20 +180,20 @@ void UIMediumEnumerator::enumerateMediums()
 
 void UIMediumEnumerator::sltHandleMachineUpdate(QString strMachineID)
 {
-    LogRel(("UIMediumEnumerator: Machine (or snapshot) event received, ID = %s\n",
+    LogRel(("GUI: UIMediumEnumerator: Machine (or snapshot) event received, ID = %s\n",
             strMachineID.toAscii().constData()));
 
     /* Gather previously used UIMedium IDs: */
     QStringList previousUIMediumIDs;
     calculateCachedUsage(strMachineID, previousUIMediumIDs, true /* take into account current state only */);
-    LogRel(("UIMediumEnumerator:  Old usage: %s\n",
+    LogRel(("GUI: UIMediumEnumerator:  Old usage: %s\n",
             previousUIMediumIDs.isEmpty() ? "<empty>" : previousUIMediumIDs.join(", ").toAscii().constData()));
 
     /* Gather currently used CMediums and their IDs: */
     CMediumMap currentCMediums;
     QStringList currentCMediumIDs;
     calculateActualUsage(strMachineID, currentCMediums, currentCMediumIDs, true /* take into account current state only */);
-    LogRel(("UIMediumEnumerator:  New usage: %s\n",
+    LogRel(("GUI: UIMediumEnumerator:  New usage: %s\n",
             currentCMediumIDs.isEmpty() ? "<empty>" : currentCMediumIDs.join(", ").toAscii().constData()));
 
     /* Determine excluded mediums: */
@@ -202,9 +202,9 @@ void UIMediumEnumerator::sltHandleMachineUpdate(QString strMachineID)
     const QSet<QString> excludedSet = previousSet - currentSet;
     const QStringList excludedUIMediumIDs = excludedSet.toList();
     if (!excludedUIMediumIDs.isEmpty())
-        LogRel(("UIMediumEnumerator:  Items excluded from usage: %s\n", excludedUIMediumIDs.join(", ").toAscii().constData()));
+        LogRel(("GUI: UIMediumEnumerator:  Items excluded from usage: %s\n", excludedUIMediumIDs.join(", ").toAscii().constData()));
     if (!currentCMediumIDs.isEmpty())
-        LogRel(("UIMediumEnumerator:  Items currently in usage: %s\n", currentCMediumIDs.join(", ").toAscii().constData()));
+        LogRel(("GUI: UIMediumEnumerator:  Items currently in usage: %s\n", currentCMediumIDs.join(", ").toAscii().constData()));
 
     /* Update cache for excluded UIMediums: */
     recacheFromCachedUsage(excludedUIMediumIDs);
@@ -212,13 +212,13 @@ void UIMediumEnumerator::sltHandleMachineUpdate(QString strMachineID)
     /* Update cache for current CMediums: */
     recacheFromActualUsage(currentCMediums, currentCMediumIDs);
 
-    LogRel(("UIMediumEnumerator: Machine (or snapshot) event processed, ID = %s\n",
+    LogRel(("GUI: UIMediumEnumerator: Machine (or snapshot) event processed, ID = %s\n",
             strMachineID.toAscii().constData()));
 }
 
 void UIMediumEnumerator::sltHandleMachineRegistration(QString strMachineID, bool fRegistered)
 {
-    LogRel(("UIMediumEnumerator: Machine %s event received, ID = %s\n",
+    LogRel(("GUI: UIMediumEnumerator: Machine %s event received, ID = %s\n",
             fRegistered ? "registration" : "unregistration",
             strMachineID.toAscii().constData()));
 
@@ -229,7 +229,7 @@ void UIMediumEnumerator::sltHandleMachineRegistration(QString strMachineID, bool
         CMediumMap currentCMediums;
         QStringList currentCMediumIDs;
         calculateActualUsage(strMachineID, currentCMediums, currentCMediumIDs, false /* take into account current state only */);
-        LogRel(("UIMediumEnumerator:  New usage: %s\n",
+        LogRel(("GUI: UIMediumEnumerator:  New usage: %s\n",
                 currentCMediumIDs.isEmpty() ? "<empty>" : currentCMediumIDs.join(", ").toAscii().constData()));
         /* Update cache with currently used CMediums: */
         recacheFromActualUsage(currentCMediums, currentCMediumIDs);
@@ -240,40 +240,40 @@ void UIMediumEnumerator::sltHandleMachineRegistration(QString strMachineID, bool
         /* Gather previously used UIMedium IDs: */
         QStringList previousUIMediumIDs;
         calculateCachedUsage(strMachineID, previousUIMediumIDs, false /* take into account current state only */);
-        LogRel(("UIMediumEnumerator:  Old usage: %s\n",
+        LogRel(("GUI: UIMediumEnumerator:  Old usage: %s\n",
                 previousUIMediumIDs.isEmpty() ? "<empty>" : previousUIMediumIDs.join(", ").toAscii().constData()));
         /* Update cache for previously used UIMediums: */
         recacheFromCachedUsage(previousUIMediumIDs);
     }
 
-    LogRel(("UIMediumEnumerator: Machine %s event processed, ID = %s\n",
+    LogRel(("GUI: UIMediumEnumerator: Machine %s event processed, ID = %s\n",
             fRegistered ? "registration" : "unregistration",
             strMachineID.toAscii().constData()));
 }
 
 void UIMediumEnumerator::sltHandleSnapshotDeleted(QString strMachineID, QString strSnapshotID)
 {
-    LogRel(("UIMediumEnumerator: Snapshot-deleted event received, Machine ID = {%s}, Snapshot ID = {%s}\n",
+    LogRel(("GUI: UIMediumEnumerator: Snapshot-deleted event received, Machine ID = {%s}, Snapshot ID = {%s}\n",
             strMachineID.toAscii().constData(), strSnapshotID.toAscii().constData()));
 
     /* Gather previously used UIMedium IDs: */
     QStringList previousUIMediumIDs;
     calculateCachedUsage(strMachineID, previousUIMediumIDs, false /* take into account current state only */);
-    LogRel(("UIMediumEnumerator:  Old usage: %s\n",
+    LogRel(("GUI: UIMediumEnumerator:  Old usage: %s\n",
             previousUIMediumIDs.isEmpty() ? "<empty>" : previousUIMediumIDs.join(", ").toAscii().constData()));
 
     /* Gather currently used CMediums and their IDs: */
     CMediumMap currentCMediums;
     QStringList currentCMediumIDs;
     calculateActualUsage(strMachineID, currentCMediums, currentCMediumIDs, true /* take into account current state only */);
-    LogRel(("UIMediumEnumerator:  New usage: %s\n",
+    LogRel(("GUI: UIMediumEnumerator:  New usage: %s\n",
             currentCMediumIDs.isEmpty() ? "<empty>" : currentCMediumIDs.join(", ").toAscii().constData()));
 
     /* Update everything: */
     recacheFromCachedUsage(previousUIMediumIDs);
     recacheFromActualUsage(currentCMediums, currentCMediumIDs);
 
-    LogRel(("UIMediumEnumerator: Snapshot-deleted event processed, Machine ID = {%s}, Snapshot ID = {%s}\n",
+    LogRel(("GUI: UIMediumEnumerator: Snapshot-deleted event processed, Machine ID = {%s}, Snapshot ID = {%s}\n",
             strMachineID.toAscii().constData(), strSnapshotID.toAscii().constData()));
 }
 
@@ -286,7 +286,7 @@ void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask)
     /* Get enumerated UIMedium: */
     const UIMedium uimedium = pTask->data().value<UIMedium>();
     const QString strUIMediumKey = uimedium.key();
-    LogRel2(("UIMediumEnumerator: Medium with key={%s} enumerated.\n", strUIMediumKey.toAscii().constData()));
+    LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} enumerated\n", strUIMediumKey.toAscii().constData()));
 
     /* Delete task: */
     delete m_tasks.takeAt(iIndexOfTask);
@@ -296,12 +296,13 @@ void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask)
 
     /* Check if UIMedium ID was changed: */
     const QString strUIMediumID = uimedium.id();
-    /* UIMedium ID was changed to null string: */
-    if (strUIMediumID.isNull())
+    /* UIMedium ID was changed to nullID: */
+    if (strUIMediumID == UIMedium::nullID())
     {
         /* Delete this medium: */
         m_mediums.remove(strUIMediumKey);
-        LogRel(("UIMediumEnumerator: Medium with key={%s} closed and deleted (after enumeration).\n", strUIMediumKey.toAscii().constData()));
+        LogRel(("GUI: UIMediumEnumerator: Medium with key={%s} closed and deleted (after enumeration)\n", strUIMediumKey.toAscii().constData()));
+
         /* And notify listener about delete: */
         emit sigMediumDeleted(strUIMediumKey);
     }
@@ -312,8 +313,8 @@ void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask)
         m_mediums.remove(strUIMediumKey);
         m_mediums[strUIMediumID] = uimedium;
         m_mediums[strUIMediumID].setKey(strUIMediumID);
-        LogRel(("UIMediumEnumerator: Medium with key={%s} has it changed to {%s}.\n", strUIMediumKey.toAscii().constData(),
-                                                                                      strUIMediumID.toAscii().constData()));
+        LogRel(("GUI: UIMediumEnumerator: Medium with key={%s} has it changed to {%s}\n", strUIMediumKey.toAscii().constData(),
+                                                                                           strUIMediumID.toAscii().constData()));
 
         /* And notify listener about delete/create: */
         emit sigMediumDeleted(strUIMediumKey);
@@ -324,7 +325,7 @@ void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask)
     {
         /* Just update enumerated medium: */
         m_mediums[strUIMediumID] = uimedium;
-        LogRel2(("UIMediumEnumerator: Medium with key={%s} updated.\n", strUIMediumID.toAscii().constData()));
+        LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} updated\n", strUIMediumID.toAscii().constData()));
 
         /* And notify listener about update: */
         emit sigMediumEnumerated(strUIMediumID);
@@ -334,7 +335,7 @@ void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask)
     if (m_tasks.isEmpty())
     {
         /* Notify listener: */
-        LogRel(("UIMediumEnumerator: Medium-enumeration finished!\n"));
+        LogRel(("GUI: UIMediumEnumerator: Medium-enumeration finished!\n"));
         m_fMediumEnumerationInProgress = false;
         emit sigMediumEnumerationFinished();
     }
@@ -528,7 +529,7 @@ void UIMediumEnumerator::recacheFromCachedUsage(const QStringList &previousUIMed
             {
                 /* Uncache corresponding UIMedium: */
                 m_mediums.remove(strMediumID);
-                LogRel(("UIMediumEnumerator:  Medium with key={%s} uncached.\n", strMediumID.toAscii().constData()));
+                LogRel(("GUI: UIMediumEnumerator:  Medium with key={%s} uncached\n", strMediumID.toAscii().constData()));
 
                 /* And notify listeners: */
                 emit sigMediumDeleted(strMediumID);
@@ -557,7 +558,7 @@ void UIMediumEnumerator::recacheFromActualUsage(const CMediumMap &currentCMedium
 
             /* Cache created UIMedium: */
             m_mediums.insert(strUIMediumKey, uimedium);
-            LogRel(("UIMediumEnumerator:  Medium with key={%s} cached.\n", strUIMediumKey.toAscii().constData()));
+            LogRel(("GUI: UIMediumEnumerator:  Medium with key={%s} cached\n", strUIMediumKey.toAscii().constData()));
 
             /* And notify listeners: */
             emit sigMediumCreated(strUIMediumKey);
diff --git a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
index 6103e8e..a2dfd27 100644
--- a/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
@@ -1134,7 +1134,9 @@ void UIMediumManager::prepareToolBar()
     AssertPtrReturnVoid(m_pToolBar);
     {
         /* Configure tool-bar: */
-        m_pToolBar->setIconSize(QSize(22, 22));
+        const QStyle *pStyle = QApplication::style();
+        const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize) * 1.375;
+        m_pToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
         m_pToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
         m_pToolBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
         /* Add tool-bar actions: */
@@ -1783,7 +1785,7 @@ void UIMediumManager::retranslateUi()
     /* Translate tab-widget: */
     if (m_pTabWidget)
     {
-        m_pTabWidget->setTabText(tabIndex(UIMediumType_HardDisk), tr("&Hard drives"));
+        m_pTabWidget->setTabText(tabIndex(UIMediumType_HardDisk), tr("&Hard disks"));
         m_pTabWidget->setTabText(tabIndex(UIMediumType_DVD), tr("&Optical disks"));
         m_pTabWidget->setTabText(tabIndex(UIMediumType_Floppy), tr("&Floppy disks"));
     }
@@ -1990,14 +1992,14 @@ UIMediumItem* UIMediumManager::createHardDiskItem(const UIMedium &medium)
                 if (pParentMediumItem)
                 {
                     pMediumItem = new UIMediumItemHD(medium, pParentMediumItem);
-                    LogRel2(("UIMediumManager: Child hard-drive medium-item with ID={%s} created.\n", medium.id().toAscii().constData()));
+                    LogRel2(("UIMediumManager: Child hard-disk medium-item with ID={%s} created.\n", medium.id().toAscii().constData()));
                 }
             }
             /* Else just create item as top-level one: */
             if (!pMediumItem)
             {
                 pMediumItem = new UIMediumItemHD(medium, pTreeWidget);
-                LogRel2(("UIMediumManager: Root hard-drive medium-item with ID={%s} created.\n", medium.id().toAscii().constData()));
+                LogRel2(("UIMediumManager: Root hard-disk medium-item with ID={%s} created.\n", medium.id().toAscii().constData()));
             }
         }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/net/UINetworkManagerIndicator.cpp b/src/VBox/Frontends/VirtualBox/src/net/UINetworkManagerIndicator.cpp
index 2ebde6b..d506cc2 100644
--- a/src/VBox/Frontends/VirtualBox/src/net/UINetworkManagerIndicator.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/net/UINetworkManagerIndicator.cpp
@@ -19,9 +19,10 @@
 # include <precomp.h>
 #else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
-/* Local includes: */
+/* GUI includes: */
 # include "UINetworkManagerIndicator.h"
 # include "UINetworkRequest.h"
+# include "UIIconPool.h"
 # include "VBoxGlobal.h"
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
@@ -30,9 +31,9 @@
 UINetworkManagerIndicator::UINetworkManagerIndicator()
 {
     /* Assign state icons: */
-    setStateIcon(UINetworkManagerIndicatorState_Idle, QPixmap(":/nw_16px.png"));
-    setStateIcon(UINetworkManagerIndicatorState_Loading, QPixmap(":/nw_loading_16px.png"));
-    setStateIcon(UINetworkManagerIndicatorState_Error, QPixmap(":/nw_error_16px.png"));
+    setStateIcon(UINetworkManagerIndicatorState_Idle, UIIconPool::iconSet(":/nw_16px.png"));
+    setStateIcon(UINetworkManagerIndicatorState_Loading, UIIconPool::iconSet(":/nw_loading_16px.png"));
+    setStateIcon(UINetworkManagerIndicatorState_Error, UIIconPool::iconSet(":/nw_error_16px.png"));
 
     /* Translate content: */
     retranslateUi();
diff --git a/src/VBox/Frontends/VirtualBox/src/precomp.cpp b/src/VBox/Frontends/VirtualBox/src/precomp.cpp
index 564bd1c..3a655c1 100644
--- a/src/VBox/Frontends/VirtualBox/src/precomp.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/precomp.cpp
@@ -1,4 +1,7 @@
 /* $Id: precomp.cpp $ */
 
 #include "precomp.h"
+#ifdef _MSC_VER
+# pragma hdrstop
+#endif
 
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp
index 3ff9a59..17f2c13 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.cpp
@@ -96,7 +96,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Manage the virtual machine settings"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window"));
     }
 };
 
@@ -166,7 +166,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Session I&nformation..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Show Session Information Window"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine session information window"));
     }
 };
 
@@ -267,8 +267,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Save State"));
-        setStatusTip(QApplication::translate("UIActionPool", "Save the machine state of the virtual machine"));
+        setName(QApplication::translate("UIActionPool", "&Save State"));
+        setStatusTip(QApplication::translate("UIActionPool", "Save the state of the virtual machine"));
     }
 };
 
@@ -307,7 +307,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "ACPI Sh&utdown"));
-        setStatusTip(QApplication::translate("UIActionPool", "Send the ACPI Power Button press event to the virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Send the ACPI Shutdown signal to the virtual machine"));
     }
 };
 
@@ -497,42 +497,42 @@ protected:
     }
 };
 
-class UIActionToggleGuestAutoresize : public UIActionToggle
+#ifndef RT_OS_DARWIN
+class UIActionSimplePerformMinimizeWindow : public UIActionSimple
 {
     Q_OBJECT;
 
 public:
 
-    UIActionToggleGuestAutoresize(UIActionPool *pParent)
-        : UIActionToggle(pParent,
-                         ":/auto_resize_on_on_16px.png", ":/auto_resize_on_16px.png",
-                         ":/auto_resize_on_on_disabled_16px.png", ":/auto_resize_on_disabled_16px.png") {}
+    UIActionSimplePerformMinimizeWindow(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/minimize_16px.png") {}
 
 protected:
 
     /** Returns action extra-data ID. */
-    virtual int extraDataID() const { return UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize; }
+    virtual int extraDataID() const { return UIExtraDataMetaDefs::RuntimeMenuViewActionType_MinimizeWindow; }
     /** Returns action extra-data key. */
-    virtual QString extraDataKey() const { return gpConverter->toInternalString(UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize); }
+    virtual QString extraDataKey() const { return gpConverter->toInternalString(UIExtraDataMetaDefs::RuntimeMenuViewActionType_MinimizeWindow); }
     /** Returns whether action is allowed. */
-    virtual bool isAllowed() const { return actionPool()->toRuntime()->isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize); }
+    virtual bool isAllowed() const { return actionPool()->toRuntime()->isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_MinimizeWindow); }
 
     QString shortcutExtraDataID() const
     {
-        return QString("GuestAutoresize");
+        return QString("WindowMinimize");
     }
 
     QKeySequence defaultShortcut(UIActionPoolType) const
     {
-        return QKeySequence("G");
+        return QKeySequence("M");
     }
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Auto-resize &Guest Display"));
-        setStatusTip(QApplication::translate("UIActionPool", "Automatically resize the guest display when the window is resized (requires Guest Additions)"));
+        setName(QApplication::translate("UIActionPool", "&Minimize Window"));
+        setStatusTip(QApplication::translate("UIActionPool", "Minimize active window"));
     }
 };
+#endif /* !RT_OS_DARWIN */
 
 class UIActionSimplePerformWindowAdjust : public UIActionSimple
 {
@@ -569,6 +569,43 @@ protected:
     }
 };
 
+class UIActionToggleGuestAutoresize : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    UIActionToggleGuestAutoresize(UIActionPool *pParent)
+        : UIActionToggle(pParent,
+                         ":/auto_resize_on_on_16px.png", ":/auto_resize_on_16px.png",
+                         ":/auto_resize_on_on_disabled_16px.png", ":/auto_resize_on_disabled_16px.png") {}
+
+protected:
+
+    /** Returns action extra-data ID. */
+    virtual int extraDataID() const { return UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize; }
+    /** Returns action extra-data key. */
+    virtual QString extraDataKey() const { return gpConverter->toInternalString(UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize); }
+    /** Returns whether action is allowed. */
+    virtual bool isAllowed() const { return actionPool()->toRuntime()->isAllowedInMenuView(UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize); }
+
+    QString shortcutExtraDataID() const
+    {
+        return QString("GuestAutoresize");
+    }
+
+    QKeySequence defaultShortcut(UIActionPoolType) const
+    {
+        return QKeySequence("G");
+    }
+
+    void retranslateUi()
+    {
+        setName(QApplication::translate("UIActionPool", "Auto-resize &Guest Display"));
+        setStatusTip(QApplication::translate("UIActionPool", "Automatically resize the guest display when the window is resized"));
+    }
+};
+
 class UIActionSimplePerformTakeScreenshot : public UIActionSimple
 {
     Q_OBJECT;
@@ -600,7 +637,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Take Screensh&ot..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Take a screenshot of the virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Take a guest display screenshot"));
     }
 };
 
@@ -654,7 +691,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Video Capture Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Configure video capture settings"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window to configure video capture"));
     }
 };
 
@@ -686,7 +723,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Video Capture"));
-        setStatusTip(QApplication::translate("UIActionPool", "Toggle video capture"));
+        setStatusTip(QApplication::translate("UIActionPool", "Enable guest display video capture"));
     }
 };
 
@@ -718,7 +755,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "R&emote Display"));
-        setStatusTip(QApplication::translate("UIActionPool", "Toggle remote desktop (RDP) connections to this machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Allow remote desktop (RDP) connections to this machine"));
     }
 };
 
@@ -772,7 +809,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Menu Bar Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Opens window to configure menu-bar"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the window to configure menu-bar"));
     }
 };
 
@@ -804,7 +841,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Show Menu &Bar"));
-        setStatusTip(QApplication::translate("UIActionPool", "Toggle menu-bar visibility for this machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Enable menu-bar visibility"));
     }
 };
 #endif /* !RT_OS_DARWIN */
@@ -859,7 +896,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Status Bar Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Opens window to configure status-bar"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the window to configure status-bar"));
     }
 };
 
@@ -890,7 +927,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Show Status &Bar"));
-        setStatusTip(QApplication::translate("UIActionPool", "Toggle status-bar visibility for this machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Enable status-bar visibility"));
     }
 };
 
@@ -992,7 +1029,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Keyboard Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Display the global settings window to configure shortcuts"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the global preferences window to configure keyboard shortcuts"));
     }
 };
 
@@ -1026,7 +1063,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Insert %1").arg("Ctrl-Alt-Del"));
+        setName(QApplication::translate("UIActionPool", "&Insert %1", "that means send the %1 key sequence to the virtual machine").arg("Ctrl-Alt-Del"));
         setStatusTip(QApplication::translate("UIActionPool", "Send the %1 sequence to the virtual machine").arg("Ctrl-Alt-Del"));
     }
 };
@@ -1062,7 +1099,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Insert %1").arg("Ctrl-Alt-Backspace"));
+        setName(QApplication::translate("UIActionPool", "&Insert %1", "that means send the %1 key sequence to the virtual machine").arg("Ctrl-Alt-Backspace"));
         setStatusTip(QApplication::translate("UIActionPool", "Send the %1 sequence to the virtual machine").arg("Ctrl-Alt-Backspace"));
     }
 };
@@ -1093,7 +1130,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Insert %1").arg("Ctrl-Break"));
+        setName(QApplication::translate("UIActionPool", "&Insert %1", "that means send the %1 key sequence to the virtual machine").arg("Ctrl-Break"));
         setStatusTip(QApplication::translate("UIActionPool", "Send the %1 sequence to the virtual machine").arg("Ctrl-Break"));
     }
 };
@@ -1123,7 +1160,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Insert %1").arg("Insert"));
+        setName(QApplication::translate("UIActionPool", "&Insert %1", "that means send the %1 key sequence to the virtual machine").arg("Insert"));
         setStatusTip(QApplication::translate("UIActionPool", "Send the %1 sequence to the virtual machine").arg("Insert"));
     }
 };
@@ -1236,7 +1273,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Hard Drives"));
+        setName(QApplication::translate("UIActionPool", "&Hard Disks"));
     }
 };
 
@@ -1265,8 +1302,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Hard Drive Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Change the settings of hard drives"));
+        setName(QApplication::translate("UIActionPool", "&Hard Disk Settings..."));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window to configure hard disks"));
     }
 };
 
@@ -1344,7 +1381,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Network"));
+        setName(QApplication::translate("UIActionPool", "&Network"));
     }
 };
 
@@ -1374,7 +1411,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Network Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Change the settings of network adapters"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window to configure network adapters"));
     }
 };
 
@@ -1431,7 +1468,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&USB Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Change the settings of USB devices"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window to configure USB devices"));
     }
 };
 
@@ -1506,7 +1543,7 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Drag and Drop"));
+        setName(QApplication::translate("UIActionPool", "&Drag and Drop"));
     }
 };
 
@@ -1560,7 +1597,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Shared Folders Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Create or modify shared folders"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window to configure shared folders"));
     }
 };
 
@@ -1595,7 +1632,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Insert Guest Additions CD image..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Insert the Guest Additions disk file into the virtual drive"));
+        setStatusTip(QApplication::translate("UIActionPool", "Insert the Guest Additions disk file into the virtual optical drive"));
     }
 };
 
@@ -2030,8 +2067,11 @@ void UIActionPoolRuntime::preparePool()
     m_pool[UIActionIndexRT_M_View_T_Fullscreen] = new UIActionToggleFullscreenMode(this);
     m_pool[UIActionIndexRT_M_View_T_Seamless] = new UIActionToggleSeamlessMode(this);
     m_pool[UIActionIndexRT_M_View_T_Scale] = new UIActionToggleScaleMode(this);
-    m_pool[UIActionIndexRT_M_View_T_GuestAutoresize] = new UIActionToggleGuestAutoresize(this);
+#ifndef RT_OS_DARWIN
+    m_pool[UIActionIndexRT_M_View_S_MinimizeWindow] = new UIActionSimplePerformMinimizeWindow(this);
+#endif /* !RT_OS_DARWIN */
     m_pool[UIActionIndexRT_M_View_S_AdjustWindow] = new UIActionSimplePerformWindowAdjust(this);
+    m_pool[UIActionIndexRT_M_View_T_GuestAutoresize] = new UIActionToggleGuestAutoresize(this);
     m_pool[UIActionIndexRT_M_View_S_TakeScreenshot] = new UIActionSimplePerformTakeScreenshot(this);
     m_pool[UIActionIndexRT_M_View_M_VideoCapture] = new UIActionMenuVideoCapture(this);
     m_pool[UIActionIndexRT_M_View_M_VideoCapture_S_Settings] = new UIActionSimpleShowVideoCaptureSettingsDialog(this);
@@ -2289,6 +2329,14 @@ void UIActionPoolRuntime::updateMenuMachine()
 
     /* 'Settings Dialog' action: */
     fSeparator = addAction(pMenu, action(UIActionIndexRT_M_Machine_S_Settings)) || fSeparator;
+
+    /* Separator: */
+    if (fSeparator)
+    {
+        pMenu->addSeparator();
+        fSeparator = false;
+    }
+
     /* 'Take Snapshot' action: */
     fSeparator = addAction(pMenu, action(UIActionIndexRT_M_Machine_S_TakeSnapshot)) || fSeparator;
     /* 'Information Dialog' action: */
@@ -2398,8 +2446,7 @@ void UIActionPoolRuntime::updateMenuView()
             /* Add 'Virtual Screen %1' menu: */
             QMenu *pSubMenu = pMenu->addMenu(UIIconPool::iconSet(":/virtual_screen_16px.png",
                                                                  ":/virtual_screen_disabled_16px.png"),
-                                             QApplication::translate("UIMultiScreenLayout",
-                                                                     "Virtual Screen %1").arg(iGuestScreenIndex + 1));
+                                             QApplication::translate("UIMultiScreenLayout", "Virtual Screen %1").arg(iGuestScreenIndex + 1));
             pSubMenu->setProperty("Guest Screen Index", iGuestScreenIndex);
             connect(pSubMenu, SIGNAL(aboutToShow()), this, SLOT(sltPrepareMenuViewScreen()));
         }
@@ -2414,8 +2461,7 @@ void UIActionPoolRuntime::updateMenuView()
                 /* Add 'Virtual Screen %1' menu: */
                 QMenu *pSubMenu = pMenu->addMenu(UIIconPool::iconSet(":/virtual_screen_16px.png",
                                                                      ":/virtual_screen_disabled_16px.png"),
-                                                 QApplication::translate("UIMultiScreenLayout",
-                                                                         "Virtual Screen %1").arg(iGuestScreenIndex + 1));
+                                                 QApplication::translate("UIMultiScreenLayout", "Virtual Screen %1").arg(iGuestScreenIndex + 1));
                 pSubMenu->setProperty("Guest Screen Index", iGuestScreenIndex);
                 connect(pSubMenu, SIGNAL(aboutToShow()), this, SLOT(sltPrepareMenuViewMultiscreen()));
             }
@@ -2462,8 +2508,7 @@ void UIActionPoolRuntime::updateMenuViewPopup()
             /* Add 'Virtual Screen %1' menu: */
             QMenu *pSubMenu = pMenu->addMenu(UIIconPool::iconSet(":/virtual_screen_16px.png",
                                                                  ":/virtual_screen_disabled_16px.png"),
-                                             QApplication::translate("UIMultiScreenLayout",
-                                                                     "Virtual Screen %1").arg(iGuestScreenIndex + 1));
+                                             QApplication::translate("UIMultiScreenLayout", "Virtual Screen %1").arg(iGuestScreenIndex + 1));
             pSubMenu->setProperty("Guest Screen Index", iGuestScreenIndex);
             connect(pSubMenu, SIGNAL(aboutToShow()), this, SLOT(sltPrepareMenuViewScreen()));
         }
@@ -2567,8 +2612,8 @@ void UIActionPoolRuntime::updateMenuViewScaleFactor()
         foreach (const double &dScaleFactor, factors)
         {
             /* Create exclusive 'scale-factor' action: */
-            QAction *pAction = pActionGroup->addAction(tr("%1%", "scale-factor")
-                                                          .arg(dScaleFactor * 100));
+            QAction *pAction = pActionGroup->addAction(QApplication::translate("UIActionPool", "%1%", "scale-factor")
+                                                                               .arg(dScaleFactor * 100));
             AssertPtrReturnVoid(pAction);
             {
                 /* Configure exclusive 'scale-factor' action: */
@@ -2618,7 +2663,7 @@ void UIActionPoolRuntime::updateMenuViewScreen(QMenu *pMenu)
     if (iGuestScreenIndex > 0)
     {
         /* Create 'toggle' action: */
-        QAction *pToggleAction = pMenu->addAction(UIActionPoolRuntime::tr("Enable", "Virtual Screen"),
+        QAction *pToggleAction = pMenu->addAction(QApplication::translate("UIActionPool", "Enable", "Virtual Screen"),
                                                   this, SLOT(sltHandleActionTriggerViewScreenToggle()));
         AssertPtrReturnVoid(pToggleAction);
         {
@@ -2642,7 +2687,7 @@ void UIActionPoolRuntime::updateMenuViewScreen(QMenu *pMenu)
         foreach (const QSize &size, sizes)
         {
             /* Create exclusive 'resize' action: */
-            QAction *pAction = pActionGroup->addAction(UIActionPoolRuntime::tr("Resize to %1x%2", "Virtual Screen")
+            QAction *pAction = pActionGroup->addAction(QApplication::translate("UIActionPool", "Resize to %1x%2", "Virtual Screen")
                                                                                .arg(size.width()).arg(size.height()));
             AssertPtrReturnVoid(pAction);
             {
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h
index 4475bb2..d9727a6 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIActionPoolRuntime.h
@@ -56,6 +56,9 @@ enum UIActionIndexRT
     UIActionIndexRT_M_View_T_Fullscreen,
     UIActionIndexRT_M_View_T_Seamless,
     UIActionIndexRT_M_View_T_Scale,
+#ifndef RT_OS_DARWIN
+    UIActionIndexRT_M_View_S_MinimizeWindow,
+#endif /* !RT_OS_DARWIN */
     UIActionIndexRT_M_View_S_AdjustWindow,
     UIActionIndexRT_M_View_T_GuestAutoresize,
     UIActionIndexRT_M_View_S_TakeScreenshot,
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp
index b4b6736..50858ad 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIAddDiskEncryptionPasswordDialog.cpp
@@ -285,9 +285,9 @@ QVariant UIEncryptionDataModel::headerData(int iSection, Qt::Orientation orienta
     /* Depending on column index: */
     switch (iSection)
     {
-        case UIEncryptionDataTableSection_Status:   return tr("Status", "password table field");
-        case UIEncryptionDataTableSection_Id:       return tr("ID", "password table field");
-        case UIEncryptionDataTableSection_Password: return tr("Password", "password table field");
+        case UIEncryptionDataTableSection_Status:   return UIAddDiskEncryptionPasswordDialog::tr("Status", "password table field");
+        case UIEncryptionDataTableSection_Id:       return UIAddDiskEncryptionPasswordDialog::tr("ID", "password table field");
+        case UIEncryptionDataTableSection_Password: return UIAddDiskEncryptionPasswordDialog::tr("Password", "password table field");
         default: break;
     }
     /* Null value by default: */
@@ -346,14 +346,14 @@ QVariant UIEncryptionDataModel::data(const QModelIndex &index, int iRole /* = Qt
             /* We are generating tool-tip here and not in retranslateUi() because of the tricky plural form handling,
              * but be quiet, it's safe enough because the tool-tip being re-acquired every time on mouse-hovering. */
             const QStringList encryptedMediums = m_encryptedMediums.values(m_encryptionPasswords.keys().at(index.row()));
-            return tr("<nobr>Used by the following %n hard drive(s):</nobr><br>%1",
-                      "This text is never used with n == 0. "
-                      "Feel free to drop the %n where possible, "
-                      "we only included it because of problems with Qt Linguist "
-                      "(but the user can see how many hard drives are in the tool-tip "
-                      "and doesn't need to be told).",
-                      encryptedMediums.size())
-                      .arg(encryptedMediums.join("<br>"));
+            return UIAddDiskEncryptionPasswordDialog::tr("<nobr>Used by the following %n hard disk(s):</nobr><br>%1",
+                                                         "This text is never used with n == 0. "
+                                                         "Feel free to drop the %n where possible, "
+                                                         "we only included it because of problems with Qt Linguist "
+                                                         "(but the user can see how many hard drives are in the tool-tip "
+                                                         "and doesn't need to be told).",
+                                                         encryptedMediums.size())
+                                                         .arg(encryptedMediums.join("<br>"));
         }
         default:
             break;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.cpp
index 0888f10..d56c8a9 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.cpp
@@ -196,10 +196,10 @@ Qt::DropAction UIDnDHandler::dragDrop(ulong screenID, int x, int y,
     }
 
     /*
-     * Since the mouse button has been release this in any case marks 
-     * the end of the current transfer direction. So reset the current 
-     * mode as well here. 
-     */ 
+     * Since the mouse button has been release this in any case marks
+     * the end of the current transfer direction. So reset the current
+     * mode as well here.
+     */
     m_enmMode = DNDMODE_UNKNOWN;
 
     return toQtDnDAction(result);
@@ -317,7 +317,7 @@ int UIDnDHandler::dragIsPending(ulong screenID)
     int rc;
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
 
-    LogFlowFunc(("enmMode=%RU32, m_fIsPending=%RTbool, screenID=%RU32\n", m_enmMode, m_fIsPending, screenID));
+    LogFlowFunc(("enmMode=%RU32, fIsPending=%RTbool, screenID=%RU32\n", m_enmMode, m_fIsPending, screenID));
 
     {
         QMutexLocker AutoReadLock(&m_ReadLock);
@@ -326,7 +326,7 @@ int UIDnDHandler::dragIsPending(ulong screenID)
             && m_enmMode != DNDMODE_GUESTTOHOST) /* Wrong mode set? */
             return VINF_SUCCESS;
 
-        if (m_fIsPending) /* Pendig operation is in progress. */
+        if (m_fIsPending) /* Pending operation is in progress. */
             return VINF_SUCCESS;
     }
 
@@ -350,11 +350,16 @@ int UIDnDHandler::dragIsPending(ulong screenID)
     QVector<QString> vecFmtGuest;
     QVector<KDnDAction> vecActions;
     KDnDAction defaultAction = m_dndSource.DragIsPending(screenID, vecFmtGuest, vecActions);
-    LogFlowFunc(("defaultAction=%d, numFormats=%d\n", defaultAction, vecFmtGuest.size()));
+    LogFlowFunc(("defaultAction=%d, numFormats=%d, numActions=%d\n", defaultAction,
+                 vecFmtGuest.size(), vecActions.size()));
 
     QStringList lstFmtNative;
     if (defaultAction != KDnDAction_Ignore)
     {
+        LogRel3(("DnD: Number of supported guest actions: %d\n", vecActions.size()));
+        for (int i = 0; i < vecActions.size(); i++)
+            LogRel3(("\tAction %d: 0x%x\n", i, vecActions.at(i)));
+
         /**
          * Do guest -> host format conversion, if needed.
          * On X11 this already maps to the Xdnd protocol.
@@ -362,7 +367,7 @@ int UIDnDHandler::dragIsPending(ulong screenID)
          *
          * See: https://www.iana.org/assignments/media-types/media-types.xhtml
          */
-        LogRel3(("DnD: Number of guest formats: %d\n", vecFmtGuest.size()));
+        LogRel3(("DnD: Number of supported guest formats: %d\n", vecFmtGuest.size()));
         for (int i = 0; i < vecFmtGuest.size(); i++)
         {
             const QString &strFmtGuest = vecFmtGuest.at(i);
@@ -391,7 +396,7 @@ int UIDnDHandler::dragIsPending(ulong screenID)
 # endif /* !RT_OS_WINDOWS */
         }
 
-        LogRel3(("DnD: Number of native formats: %d\n", lstFmtNative.size()));
+        LogRel3(("DnD: Number of supported host formats: %d\n", lstFmtNative.size()));
         for (int i = 0; i < lstFmtNative.size(); i++)
             LogRel3(("\tFormat %d: %s\n", i, lstFmtNative.at(i).toAscii().constData()));
     }
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.h
index a3b84fc..705b209 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDHandler.h
@@ -44,7 +44,9 @@ public:
     virtual ~UIDnDHandler(void);
 
     /**
-     * Current operation mode.
+     * Current operation mode. 
+     * Note: The operation mode is independent of the machine's overall 
+     *       drag and drop mode. 
      */
     typedef enum DNDMODE
     {
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp
index e7282c2..2a007ff 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIDnDMIMEData.cpp
@@ -126,7 +126,10 @@ QVariant UIDnDMIMEData::retrieveData(const QString &strMIMEType, QVariant::Type
      * (see UIDnDMimeData::eventFilter). This filter will update the current
      * operation state for us (based on the mouse buttons). */
     if (m_enmState != Dropped)
+    {
+        LogFlowFunc(("Not yet in 'dropped' state, so can't drop yet\n"));
         fCanDrop = false;
+    }
 #endif
 
     /* Do we support the requested MIME type? */
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp
index cbe3b11..cca01f6 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp
@@ -56,6 +56,9 @@
 #include <iprt/critsect.h>
 #include <VBox/VBoxVideo3D.h>
 
+/* Other includes: */
+#include <math.h>
+
 #ifdef Q_WS_X11
 /* X11 includes: */
 # include <QX11Info>
@@ -289,8 +292,8 @@ protected:
     /** Paint routine for seamless mode. */
     void paintSeamless(QPaintEvent *pEvent);
 
-    /** Returns the transformation mode corresponding to the passed ScalingOptimizationType. */
-    static Qt::TransformationMode transformationMode(ScalingOptimizationType type);
+    /** Returns the transformation mode corresponding to the passed @a dScaleFactor and ScalingOptimizationType. */
+    static Qt::TransformationMode transformationMode(double dScaleFactor, ScalingOptimizationType type);
 
     /** Erases corresponding @a rect with @a painter. */
     static void eraseImageRect(QPainter &painter, const QRect &rect,
@@ -1027,6 +1030,10 @@ STDMETHODIMP UIFrameBufferPrivate::Notify3DEvent(ULONG uType, ComSafeArrayIn(BYT
         return E_FAIL;
     }
 
+    Q_UNUSED(data);
+#ifdef VBOX_WITH_XPCOM
+    Q_UNUSED(dataSize);
+#endif /* VBOX_WITH_XPCOM */
     // com::SafeArray<BYTE> eventData(ComSafeArrayInArg(data));
     switch (uType)
     {
@@ -1342,7 +1349,7 @@ void UIFrameBufferPrivate::paintDefault(QPaintEvent *pEvent)
         scaledImage = m_image.copy();
         /* And scaling the image to predefined scaled-factor: */
         scaledImage = scaledImage.scaled(m_scaledSize, Qt::IgnoreAspectRatio,
-                                         transformationMode(scalingOptimizationType()));
+                                         transformationMode(m_dScaleFactor, scalingOptimizationType()));
     }
     /* Finally we are choosing image to paint from: */
     const QImage &sourceImage = scaledImage.isNull() ? m_image : scaledImage;
@@ -1383,7 +1390,7 @@ void UIFrameBufferPrivate::paintSeamless(QPaintEvent *pEvent)
         scaledImage = m_image.copy();
         /* And scaling the image to predefined scaled-factor: */
         scaledImage = scaledImage.scaled(m_scaledSize, Qt::IgnoreAspectRatio,
-                                         transformationMode(scalingOptimizationType()));
+                                         transformationMode(m_dScaleFactor, scalingOptimizationType()));
     }
     /* Finally we are choosing image to paint from: */
     const QImage &sourceImage = scaledImage.isNull() ? m_image : scaledImage;
@@ -1439,14 +1446,16 @@ void UIFrameBufferPrivate::paintSeamless(QPaintEvent *pEvent)
 }
 
 /* static */
-Qt::TransformationMode UIFrameBufferPrivate::transformationMode(ScalingOptimizationType type)
+Qt::TransformationMode UIFrameBufferPrivate::transformationMode(double dScaleFactor, ScalingOptimizationType type)
 {
     switch (type)
     {
+        /* Check if optimization type is forced to be 'Performance': */
         case ScalingOptimizationType_Performance: return Qt::FastTransformation;
         default: break;
     }
-    return Qt::SmoothTransformation;
+    /* For integer-scaling we are choosing the 'Performance' optimization type ourselves: */
+    return floor(dScaleFactor) == dScaleFactor ? Qt::FastTransformation : Qt::SmoothTransformation;
 }
 
 /* static */
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp
index d55c280..e2ace3f 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIIndicatorsPool.cpp
@@ -116,7 +116,7 @@ private:
         /* Prepare tool-tip: */
         QString strToolTip = QApplication::translate("UIIndicatorsPool",
                                                      "<p style='white-space:pre'><nobr>Indicates the activity "
-                                                     "of the virtual hard disks:</nobr>%1</p>", "HDD tooltip");
+                                                     "of the hard disks:</nobr>%1</p>", "HDD tooltip");
         QString strFullData;
 
         /* Enumerate all the controllers: */
@@ -970,8 +970,9 @@ private:
     void retranslateUi()
     {
         setToolTip(QApplication::translate("UIIndicatorsPool",
-                   "Indicates whether the keyboard is captured by the guest OS "
-                   "(<img src=:/hostkey_captured_16px.png/>) or not (<img src=:/hostkey_16px.png/>)."));
+                   "Indicates whether the host keyboard is captured by the guest OS:<br>"
+                   "<nobr><img src=:/hostkey_16px.png/>  keyboard is not captured</nobr><br>"
+                   "<nobr><img src=:/hostkey_captured_16px.png/>  keyboard is captured</nobr>"));
     }
 
     /** Update routine. */
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
index f7dfa60..df82dcc 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2010-2014 Oracle Corporation
+ * Copyright (C) 2010-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -659,7 +659,7 @@ void UIMachineLogic::sltKeyboardLedsChanged()
         keyboardHandler()->winSkipKeyboardEvents(false);
     }
     else
-        LogRel2(("HID LEDs Sync: already in sync\n"));
+        LogRel2(("GUI: HID LEDs Sync: already in sync\n"));
 #else
     LogRelFlow(("UIMachineLogic::sltKeyboardLedsChanged: Updating host LED lock states does not supported on this platform.\n"));
 #endif
@@ -708,7 +708,7 @@ void UIMachineLogic::sltShowWindows()
 
 void UIMachineLogic::sltGuestMonitorChange(KGuestMonitorChangedEventType, ulong, QRect)
 {
-    LogRel(("UIMachineLogic: Guest-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogic: Guest-screen count changed\n"));
 
     /* Make sure all machine-window(s) have proper geometry: */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -717,7 +717,7 @@ void UIMachineLogic::sltGuestMonitorChange(KGuestMonitorChangedEventType, ulong,
 
 void UIMachineLogic::sltHostScreenCountChange()
 {
-    LogRel(("UIMachineLogic: Host-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogic: Host-screen count changed\n"));
 
     /* Make sure all machine-window(s) have proper geometry: */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -726,7 +726,7 @@ void UIMachineLogic::sltHostScreenCountChange()
 
 void UIMachineLogic::sltHostScreenGeometryChange()
 {
-    LogRel(("UIMachineLogic: Host-screen geometry changed.\n"));
+    LogRel(("GUI: UIMachineLogic: Host-screen geometry changed\n"));
 
     /* Make sure all machine-window(s) have proper geometry: */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -735,7 +735,7 @@ void UIMachineLogic::sltHostScreenGeometryChange()
 
 void UIMachineLogic::sltHostScreenAvailableAreaChange()
 {
-    LogRel(("UIMachineLogic: Host-screen available-area changed.\n"));
+    LogRel(("GUI: UIMachineLogic: Host-screen available-area changed\n"));
 
     /* Make sure all machine-window(s) have proper geometry: */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -831,7 +831,7 @@ void UIMachineLogic::retranslateUi()
         for (int i = 0; i < actions.size(); ++i)
         {
             QAction *pAction = actions.at(i);
-            pAction->setText(QApplication::translate("UIMachineLogic", "Preview Monitor %1").arg(pAction->data().toInt() + 1));
+            pAction->setText(QApplication::translate("UIActionPool", "Preview Monitor %1").arg(pAction->data().toInt() + 1));
         }
     }
 #endif /* Q_WS_MAC */
@@ -957,7 +957,6 @@ void UIMachineLogic::prepareActionGroups()
     m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_View_T_Seamless));
     m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_View_T_Scale));
     m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_View_T_GuestAutoresize));
-    m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_View_S_AdjustWindow));
     m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_Input_M_Keyboard_S_TypeCAD));
 #ifdef Q_WS_X11
     m_pRunningActions->addAction(actionPool()->action(UIActionIndexRT_M_Input_M_Keyboard_S_TypeCABS));
@@ -971,6 +970,10 @@ void UIMachineLogic::prepareActionGroups()
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_Machine_S_TakeSnapshot));
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_Machine_S_ShowInformation));
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_Machine_T_Pause));
+#ifndef Q_WS_MAC
+    m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_S_MinimizeWindow));
+#endif /* !Q_WS_MAC */
+    m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_S_AdjustWindow));
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_S_TakeScreenshot));
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_M_VideoCapture));
     m_pRunningOrPausedActions->addAction(actionPool()->action(UIActionIndexRT_M_View_M_VideoCapture_S_Settings));
@@ -1039,10 +1042,14 @@ void UIMachineLogic::prepareActionConnections()
             this, SLOT(sltPowerOff()), Qt::QueuedConnection);
 
     /* 'View' actions connections: */
+#ifndef Q_WS_MAC
+    connect(actionPool()->action(UIActionIndexRT_M_View_S_MinimizeWindow), SIGNAL(triggered()),
+            this, SLOT(sltMinimizeActiveMachineWindow()));
+#endif /* !Q_WS_MAC */
+    connect(actionPool()->action(UIActionIndexRT_M_View_S_AdjustWindow), SIGNAL(triggered()),
+            this, SLOT(sltAdjustMachineWindows()));
     connect(actionPool()->action(UIActionIndexRT_M_View_T_GuestAutoresize), SIGNAL(toggled(bool)),
             this, SLOT(sltToggleGuestAutoresize(bool)));
-    connect(actionPool()->action(UIActionIndexRT_M_View_S_AdjustWindow), SIGNAL(triggered()),
-            this, SLOT(sltAdjustWindow()));
     connect(actionPool()->action(UIActionIndexRT_M_View_S_TakeScreenshot), SIGNAL(triggered()),
             this, SLOT(sltTakeScreenshot()));
     connect(actionPool()->action(UIActionIndexRT_M_View_M_VideoCapture_S_Settings), SIGNAL(triggered()),
@@ -1402,7 +1409,7 @@ void UIMachineLogic::sltTakeSnapshot()
     pDlg->mLbIcon->setPixmap(vboxGlobal().vmGuestOSTypeIcon(strTypeId));
 
     /* Search for the max available filter index: */
-    QString strNameTemplate = QApplication::translate("UIMachineLogic", "Snapshot %1");
+    QString strNameTemplate = VBoxTakeSnapshotDlg::tr("Snapshot %1");
     int iMaxSnapshotIndex = searchMaxSnapshotIndex(machine(), machine().FindSnapshot(QString()), strNameTemplate);
     pDlg->mLeName->setText(strNameTemplate.arg(++ iMaxSnapshotIndex));
 
@@ -1423,8 +1430,9 @@ void UIMachineLogic::sltTakeSnapshot()
     /* Was the dialog accepted? */
     if (fDialogAccepted)
     {
+        QString strSnapshotId;
         /* Prepare the take-snapshot progress: */
-        CProgress progress = machine().TakeSnapshot(strSnapshotName, strSnapshotDescription, true);
+        CProgress progress = machine().TakeSnapshot(strSnapshotName, strSnapshotDescription, true, strSnapshotId);
         if (machine().isOk())
         {
             /* Show the take-snapshot progress: */
@@ -1533,18 +1541,18 @@ void UIMachineLogic::sltClose()
     activeMachineWindow()->close();
 }
 
-void UIMachineLogic::sltToggleGuestAutoresize(bool fEnabled)
+void UIMachineLogic::sltMinimizeActiveMachineWindow()
 {
     /* Do not process if window(s) missed! */
     if (!isMachineWindowsCreated())
         return;
 
-    /* Toggle guest-autoresize feature for all view(s)! */
-    foreach(UIMachineWindow *pMachineWindow, machineWindows())
-        pMachineWindow->machineView()->setGuestAutoresizeEnabled(fEnabled);
+    /* Minimize active machine-window: */
+    AssertPtrReturnVoid(activeMachineWindow());
+    activeMachineWindow()->showMinimized();
 }
 
-void UIMachineLogic::sltAdjustWindow()
+void UIMachineLogic::sltAdjustMachineWindows()
 {
     /* Do not process if window(s) missed! */
     if (!isMachineWindowsCreated())
@@ -1562,6 +1570,17 @@ void UIMachineLogic::sltAdjustWindow()
     }
 }
 
+void UIMachineLogic::sltToggleGuestAutoresize(bool fEnabled)
+{
+    /* Do not process if window(s) missed! */
+    if (!isMachineWindowsCreated())
+        return;
+
+    /* Toggle guest-autoresize feature for all view(s)! */
+    foreach(UIMachineWindow *pMachineWindow, machineWindows())
+        pMachineWindow->machineView()->setGuestAutoresizeEnabled(fEnabled);
+}
+
 void UIMachineLogic::sltTakeScreenshot()
 {
     /* Do not process if window(s) missed! */
@@ -1971,13 +1990,6 @@ void UIMachineLogic::sltShowLogDialog()
 #endif /* VBOX_WITH_DEBUGGER_GUI */
 
 #ifdef Q_WS_MAC
-void UIMachineLogic::sltMinimizeActiveMachineWindow()
-{
-    /* Minimize active machine-window: */
-    AssertPtrReturnVoid(activeMachineWindow());
-    activeMachineWindow()->showMinimized();
-}
-
 void UIMachineLogic::sltSwitchToMachineWindow()
 {
     /* Acquire appropriate sender action: */
@@ -2059,7 +2071,7 @@ void UIMachineLogic::sltSwitchKeyboardLedsToGuestLeds()
     WinHidDevicesBroadcastLeds(uisession()->isNumLock(), uisession()->isCapsLock(), uisession()->isScrollLock());
     keyboardHandler()->winSkipKeyboardEvents(false);
 #else
-    LogRelFlow(("UIMachineLogic::sltSwitchKeyboardLedsToGuestLeds: keep host LED lock states and broadcast guest's ones does not supported on this platform.\n"));
+    LogRelFlow(("UIMachineLogic::sltSwitchKeyboardLedsToGuestLeds: keep host LED lock states and broadcast guest's ones does not supported on this platform\n"));
 #endif
 }
 
@@ -2084,7 +2096,7 @@ void UIMachineLogic::sltSwitchKeyboardLedsToPreviousLeds()
         WinHidDevicesApplyAndReleaseLedsState(m_pHostLedsState);
         keyboardHandler()->winSkipKeyboardEvents(false);
 #else
-        LogRelFlow(("UIMachineLogic::sltSwitchKeyboardLedsToPreviousLeds: restore host LED lock states does not supported on this platform.\n"));
+        LogRelFlow(("UIMachineLogic::sltSwitchKeyboardLedsToPreviousLeds: restore host LED lock states does not supported on this platform\n"));
 #endif
         m_pHostLedsState = NULL;
     }
@@ -2185,7 +2197,8 @@ void UIMachineLogic::updateMenuDevicesNetwork(QMenu *pMenu)
     foreach (int iSlot, adapterData.keys())
     {
         QAction *pAction = pMenu->addAction(UIIconPool::iconSet(adapterData[iSlot] ? ":/connect_16px.png": ":/disconnect_16px.png"),
-                                            adapterData.size() == 1 ? tr("Connect Network Adapter") : tr("Connect Network Adapter %1").arg(iSlot + 1),
+                                            adapterData.size() == 1 ? UIActionPool::tr("&Connect Network Adapter") :
+                                                                      UIActionPool::tr("Connect Network Adapter &%1").arg(iSlot + 1),
                                             this, SLOT(sltToggleNetworkAdapterConnection()));
         pAction->setProperty("slot", iSlot);
         pAction->setCheckable(true);
@@ -2206,8 +2219,8 @@ void UIMachineLogic::updateMenuDevicesUSB(QMenu *pMenu)
         /* Add only one - "empty" action: */
         QAction *pEmptyMenuAction = pMenu->addAction(UIIconPool::iconSet(":/usb_unavailable_16px.png",
                                                                          ":/usb_unavailable_disabled_16px.png"),
-                                                     tr("No USB Devices Connected"));
-        pEmptyMenuAction->setToolTip(tr("No supported devices connected to the host PC"));
+                                                     UIActionPool::tr("No USB Devices Connected"));
+        pEmptyMenuAction->setToolTip(UIActionPool::tr("No supported devices connected to the host PC"));
         pEmptyMenuAction->setEnabled(false);
     }
     /* If device list is NOT empty: */
@@ -2252,8 +2265,8 @@ void UIMachineLogic::updateMenuDevicesWebCams(QMenu *pMenu)
         /* Add only one - "empty" action: */
         QAction *pEmptyMenuAction = pMenu->addAction(UIIconPool::iconSet(":/web_camera_unavailable_16px.png",
                                                                          ":/web_camera_unavailable_disabled_16px.png"),
-                                                     tr("No Webcams Connected"));
-        pEmptyMenuAction->setToolTip(tr("No supported webcams connected to the host PC"));
+                                                     UIActionPool::tr("No Webcams Connected"));
+        pEmptyMenuAction->setToolTip(UIActionPool::tr("No supported webcams connected to the host PC"));
         pEmptyMenuAction->setEnabled(false);
     }
     /* If webcam list is NOT empty: */
@@ -2560,14 +2573,14 @@ bool UIMachineLogic::dbgCreated()
                 return true;
             }
 
-            LogRel(("DBGGuiCreate failed, incompatible versions (loaded %#x/%#x, expected %#x)\n",
+            LogRel(("GUI: DBGGuiCreate failed, incompatible versions (loaded %#x/%#x, expected %#x)\n",
                     m_pDbgGuiVT->u32Version, m_pDbgGuiVT->u32EndVersion, DBGGUIVT_VERSION));
         }
         else
-            LogRel(("DBGGuiCreate failed, rc=%Rrc\n", rc));
+            LogRel(("GUI: DBGGuiCreate failed, rc=%Rrc\n", rc));
     }
     else
-        LogRel(("RTLdrGetSymbol(,\"DBGGuiCreate\",) -> %Rrc\n", rc));
+        LogRel(("GUI: RTLdrGetSymbol(,\"DBGGuiCreate\",) -> %Rrc\n", rc));
 
     m_pDbgGui = 0;
     m_pDbgGuiVT = 0;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
index ad7acfc..390468b 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
@@ -265,8 +265,9 @@ private slots:
     void sltClose();
 
     /* "View" menu functionality: */
+    void sltMinimizeActiveMachineWindow();
+    void sltAdjustMachineWindows();
     void sltToggleGuestAutoresize(bool fEnabled);
-    void sltAdjustWindow();
     void sltTakeScreenshot();
     void sltOpenVideoCaptureOptions();
     void sltToggleVideoCapture(bool fEnabled);
@@ -296,7 +297,6 @@ private slots:
 
 #ifdef RT_OS_DARWIN /* Something is *really* broken in regards of the moc here */
     /* "Window" menu functionality: */
-    void sltMinimizeActiveMachineWindow();
     void sltSwitchToMachineWindow();
 
     /* "Dock" menu functionality: */
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
index 6d49429..8fc18a9 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
@@ -181,7 +181,10 @@ void UIMachineView::destroy(UIMachineView *pMachineView)
 
 #ifdef VBOX_WITH_DRAG_AND_DROP
     if (pMachineView->m_pDnDHandler)
+    {
         delete pMachineView->m_pDnDHandler;
+        pMachineView->m_pDnDHandler = NULL;
+    }
 #endif
     delete pMachineView;
 }
@@ -236,8 +239,10 @@ void UIMachineView::sltPerformGuestResize(const QSize &toSize)
                                uisession()->isScreenVisible(screenId()),
                                false, 0, 0, size.width(), size.height(), 0);
 
-    /* And track whether we have a "normal" or "fullscreen"/"seamless" size-hint sent: */
-    gEDataManager->markLastGuestSizeHintAsFullScreen(m_uScreenId, isFullscreenOrSeamless(), vboxGlobal().managedVMUuid());
+    /* If we are in normal or scaled mode, remember the size sent for the next
+     * time we have to restore one of those two modes: */
+    if (!isFullscreenOrSeamless())
+        storeGuestSizeHint(size);
 }
 
 void UIMachineView::sltHandleNotifyChange(int iWidth, int iHeight)
@@ -825,7 +830,7 @@ UIMachineLogic* UIMachineView::machineLogic() const
 
 QSize UIMachineView::sizeHint() const
 {
-    if (m_sizeHintOverride.isValid())
+    if (m_sizeHintOverride.isValid() && uisession()->isGuestSupportsGraphics())
         return m_sizeHintOverride;
 
     /* Get frame-buffer size-hint: */
@@ -1414,10 +1419,19 @@ void UIMachineView::paintEvent(QPaintEvent *pPaintEvent)
 }
 
 #ifdef VBOX_WITH_DRAG_AND_DROP
+bool UIMachineView::dragAndDropIsActive(void) const
+{
+    return (   m_pDnDHandler
+            && machine().GetDnDMode() != KDnDMode_Disabled);
+}
+
 void UIMachineView::dragEnterEvent(QDragEnterEvent *pEvent)
 {
     AssertPtrReturnVoid(pEvent);
 
+    if (!dragAndDropIsActive())
+        return;
+
     /* Get mouse-pointer location. */
     const QPoint &cpnt = viewportToContents(pEvent->pos());
 
@@ -1438,6 +1452,9 @@ void UIMachineView::dragMoveEvent(QDragMoveEvent *pEvent)
 {
     AssertPtrReturnVoid(pEvent);
 
+    if (!dragAndDropIsActive())
+        return;
+
     /* Get mouse-pointer location. */
     const QPoint &cpnt = viewportToContents(pEvent->pos());
 
@@ -1458,6 +1475,9 @@ void UIMachineView::dragLeaveEvent(QDragLeaveEvent *pEvent)
 {
     AssertPtrReturnVoid(pEvent);
 
+    if (!dragAndDropIsActive())
+        return;
+
     m_pDnDHandler->dragLeave(screenId());
 
     pEvent->accept();
@@ -1465,6 +1485,9 @@ void UIMachineView::dragLeaveEvent(QDragLeaveEvent *pEvent)
 
 void UIMachineView::dragIsPending(void)
 {
+    if (!dragAndDropIsActive())
+        return;
+
     /** @todo Add guest->guest DnD functionality here by getting
      *        the source of guest B (when copying from B to A). */
     m_pDnDHandler->dragIsPending(screenId());
@@ -1474,6 +1497,9 @@ void UIMachineView::dropEvent(QDropEvent *pEvent)
 {
     AssertPtrReturnVoid(pEvent);
 
+    if (!dragAndDropIsActive())
+        return;
+
     /* Get mouse-pointer location. */
     const QPoint &cpnt = viewportToContents(pEvent->pos());
 
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
index 3f1e9b4..1ace537 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.h
@@ -258,6 +258,12 @@ protected:
 
 #ifdef VBOX_WITH_DRAG_AND_DROP
     /**
+     * Returns @true if drag and drop for this machine is active 
+     * (that is, host->guest, guest->host or bidirectional), @false if not. 
+     */
+    bool dragAndDropIsActive(void) const;
+
+    /**
      * Host -> Guest: Issued when the host cursor enters the guest (VM) window.
      *                The guest will receive the relative cursor coordinates of the
      *                appropriate screen ID.
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
index 858b2eb..3a39f0c 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineWindow.cpp
@@ -573,7 +573,7 @@ Qt::Alignment UIMachineWindow::viewAlignment(UIVisualStateType visualStateType)
 void UIMachineWindow::handleNativeNotification(const QString &strNativeNotificationName, QWidget *pWidget)
 {
     /* Handle arrived notification: */
-    LogRel(("UIMachineWindow::handleNativeNotification: Notification '%s' received.\n",
+    LogRel(("GUI: UIMachineWindow::handleNativeNotification: Notification '%s' received\n",
             strNativeNotificationName.toAscii().constData()));
     if (UIMachineWindow *pMachineWindow = qobject_cast<UIMachineWindow*>(pWidget))
     {
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMenuBarEditorWindow.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMenuBarEditorWindow.cpp
index f852053..ec3de8b 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMenuBarEditorWindow.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMenuBarEditorWindow.cpp
@@ -534,6 +534,7 @@ void UIMenuBarEditorWidget::prepareMenuMachine()
     AssertPtrReturnVoid(pMenu);
     {
         prepareCopiedAction(pMenu, actionPool()->action(UIActionIndexRT_M_Machine_S_Settings));
+        pMenu->addSeparator();
         prepareCopiedAction(pMenu, actionPool()->action(UIActionIndexRT_M_Machine_S_TakeSnapshot));
         prepareCopiedAction(pMenu, actionPool()->action(UIActionIndexRT_M_Machine_S_ShowInformation));
         pMenu->addSeparator();
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp
index 874a6e6..fedd0ba 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp
@@ -70,7 +70,7 @@ void UIMultiScreenLayout::update()
      * and all guests screens need there own host screen. */
     CDisplay display = m_pMachineLogic->session().GetConsole().GetDisplay();
     bool fShouldWeAutoMountGuestScreens = gEDataManager->autoMountGuestScreensEnabled(vboxGlobal().managedVMUuid());
-    LogRel(("UIMultiScreenLayout::update: GUI/AutomountGuestScreens is %s.\n", fShouldWeAutoMountGuestScreens ? "enabled" : "disabled"));
+    LogRel(("GUI: UIMultiScreenLayout::update: GUI/AutomountGuestScreens is %s\n", fShouldWeAutoMountGuestScreens ? "enabled" : "disabled"));
     QDesktopWidget *pDW = QApplication::desktop();
     foreach (int iGuestScreen, m_guestScreens)
     {
@@ -129,7 +129,7 @@ void UIMultiScreenLayout::update()
         else if (fShouldWeAutoMountGuestScreens)
         {
             /* Then we have to disable excessive guest-screen: */
-            LogRel(("UIMultiScreenLayout::update: Disabling excessive guest-screen %d.\n", iGuestScreen));
+            LogRel(("GUI: UIMultiScreenLayout::update: Disabling excessive guest-screen %d\n", iGuestScreen));
             display.SetVideoModeHint(iGuestScreen, false, false, 0, 0, 0, 0, 0);
         }
     }
@@ -161,7 +161,7 @@ void UIMultiScreenLayout::update()
                 pFrameBuffer->setAutoEnabled(true);
             }
             /* Re-enable guest-screen with proper resolution: */
-            LogRel(("UIMultiScreenLayout::update: Enabling guest-screen %d with following resolution: %dx%d.\n",
+            LogRel(("GUI: UIMultiScreenLayout::update: Enabling guest-screen %d with following resolution: %dx%d\n",
                     iGuestScreen, uWidth, uHeight));
             display.SetVideoModeHint(iGuestScreen, true, false, 0, 0, uWidth, uHeight, 32);
         }
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
index 1711b7d..f6b061e 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UISession.cpp
@@ -229,18 +229,18 @@ bool UISession::initialize()
 
 #ifdef VBOX_WITH_VIDEOHWACCEL
     /* Log whether 2D video acceleration is enabled: */
-    LogRel(("GUI: 2D video acceleration is %s.\n",
+    LogRel(("GUI: 2D video acceleration is %s\n",
            machine().GetAccelerate2DVideoEnabled() && VBoxGlobal::isAcceleration2DVideoAvailable()
            ? "enabled" : "disabled"));
 #endif /* VBOX_WITH_VIDEOHWACCEL */
 
 /* Log whether HID LEDs sync is enabled: */
 #if defined(Q_WS_MAC) || defined(Q_WS_WIN)
-    LogRel(("GUI: HID LEDs sync is %s.\n",
+    LogRel(("GUI: HID LEDs sync is %s\n",
             uimachine()->machineLogic()->isHidLedsSyncEnabled()
             ? "enabled" : "disabled"));
 #else /* !Q_WS_MAC && !Q_WS_WIN */
-    LogRel(("GUI: HID LEDs sync is not supported on this platform.\n"));
+    LogRel(("GUI: HID LEDs sync is not supported on this platform\n"));
 #endif /* !Q_WS_MAC && !Q_WS_WIN */
 
 #ifdef VBOX_GUI_WITH_PIDFILE
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp
index 64e8548..38393e3 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/UIStatusBarEditorWindow.cpp
@@ -124,7 +124,9 @@ UIStatusBarEditorButton::UIStatusBarEditorButton(IndicatorType type)
 
     /* Prepare icon for assigned type: */
     const QIcon icon = gpConverter->toIcon(m_type);
-    m_pixmapSize = icon.availableSizes().first();
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+    m_pixmapSize = QSize(iIconMetric, iIconMetric);
     m_pixmap = icon.pixmap(m_pixmapSize);
 
     /* Cache button size-hint: */
@@ -148,8 +150,8 @@ void UIStatusBarEditorButton::setChecked(bool fChecked)
 void UIStatusBarEditorButton::retranslateUi()
 {
     /* Translate tool-tip: */
-    setToolTip(tr("<nobr><b>Click</b> to toggle indicator presence.</nobr><br>"
-                  "<nobr><b>Drag&Drop</b> to change indicator position.</nobr>"));
+    setToolTip(UIStatusBarEditorWidget::tr("<nobr><b>Click</b> to toggle indicator presence.</nobr><br>"
+                                           "<nobr><b>Drag&Drop</b> to change indicator position.</nobr>"));
 }
 
 void UIStatusBarEditorButton::paintEvent(QPaintEvent*)
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
index ef68d96..7d6f168 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen/UIMachineLogicFullscreen.cpp
@@ -102,7 +102,7 @@ Qt::WindowFlags UIMachineLogicFullscreen::windowFlags(ulong uScreenId) const
 
 void UIMachineLogicFullscreen::adjustMachineWindowsGeometry()
 {
-    LogRel(("UIMachineLogicFullscreen::adjustMachineWindowsGeometry\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen::adjustMachineWindowsGeometry\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
@@ -143,8 +143,8 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenWillEnter()
     /* Get sender machine-window: */
     UIMachineWindow *pMachineWindow = qobject_cast<UIMachineWindow*>(sender());
     AssertPtrReturnVoid(pMachineWindow);
-    LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenWillEnter: "
-            "Machine-window #%d will enter native fullscreen.\n",
+    LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenWillEnter: "
+            "Machine-window #%d will enter native fullscreen\n",
             (int)pMachineWindow->screenId()));
 }
 
@@ -156,8 +156,8 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenDidEnter()
     /* Get sender machine-window: */
     UIMachineWindow *pMachineWindow = qobject_cast<UIMachineWindow*>(sender());
     AssertPtrReturnVoid(pMachineWindow);
-    LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenDidEnter: "
-            "Machine-window #%d did enter native fullscreen.\n",
+    LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenDidEnter: "
+            "Machine-window #%d did enter native fullscreen\n",
             (int)pMachineWindow->screenId()));
 
     /* Add machine-window to corresponding set: */
@@ -178,8 +178,8 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenWillExit()
     /* Get sender machine-window: */
     UIMachineWindow *pMachineWindow = qobject_cast<UIMachineWindow*>(sender());
     AssertPtrReturnVoid(pMachineWindow);
-    LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenWillExit: "
-            "Machine-window #%d will exit native fullscreen.\n",
+    LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenWillExit: "
+            "Machine-window #%d will exit native fullscreen\n",
             (int)pMachineWindow->screenId()));
 }
 
@@ -205,8 +205,8 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit()
     /* If that window was invalidated: */
     if (m_invalidFullscreenMachineWindows.contains(pMachineWindow))
     {
-        LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
-                "Machine-window #%d exited invalidated native fullscreen, revalidate it.\n",
+        LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
+                "Machine-window #%d exited invalidated native fullscreen, revalidate it\n",
                 (int)pMachineWindow->screenId()));
 
         /* Exclude machine-window from invalidation set: */
@@ -224,7 +224,7 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit()
         /* If there are 'fullscreen' windows: */
         if (!m_fullscreenMachineWindows.isEmpty())
         {
-            LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
+            LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
                     "Machine-window #%d exited native fullscreen, asking others to exit too...\n",
                     (int)pMachineWindow->screenId()));
 
@@ -234,7 +234,7 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit()
         /* If there are no 'fullscreen' windows: */
         else
         {
-            LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
+            LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenDidExit: "
                     "Machine-window #%d exited native fullscreen, changing visual-state to requested...\n",
                     (int)pMachineWindow->screenId()));
 
@@ -264,7 +264,7 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter()
     /* If there are 'fullscreen' windows: */
     if (!m_fullscreenMachineWindows.isEmpty())
     {
-        LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter: "
+        LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter: "
                 "Machine-window #%d failed to enter native fullscreen, asking others to exit...\n",
                 (int)pMachineWindow->screenId()));
 
@@ -274,7 +274,7 @@ void UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter()
     /* If there are no 'fullscreen' windows: */
     else
     {
-        LogRel(("UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter: "
+        LogRel(("GUI: UIMachineLogicFullscreen::sltHandleNativeFullscreenFailToEnter: "
                 "Machine-window #%d failed to enter native fullscreen, requesting change visual-state to normal...\n",
                 (int)pMachineWindow->screenId()));
 
@@ -334,7 +334,7 @@ void UIMachineLogicFullscreen::sltChangeVisualStateToScale()
 
 void UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType()
 {
-    LogRel(("UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType: Requested-state=%d, Machine-state=%d\n",
+    LogRel(("GUI: UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType: Requested-state=%d, Machine-state=%d\n",
             uisession()->requestedVisualState(), uisession()->machineState()));
 
     /* Do not try to change visual-state type if machine was not started yet: */
@@ -351,7 +351,7 @@ void UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType()
         /* If 'normal' visual-state type is requested: */
         case UIVisualStateType_Normal:
         {
-            LogRel(("UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType: "
+            LogRel(("GUI: UIMachineLogicFullscreen::sltCheckForRequestedVisualStateType: "
                     "Going 'normal' as requested...\n"));
             uisession()->setRequestedVisualState(UIVisualStateType_Invalid);
             uisession()->changeVisualState(UIVisualStateType_Normal);
@@ -371,7 +371,7 @@ void UIMachineLogicFullscreen::sltMachineStateChanged()
     /* If machine-state changed from 'paused' to 'running': */
     if (uisession()->isRunning() && uisession()->wasPaused())
     {
-        LogRel(("UIMachineLogicFullscreen::sltMachineStateChanged:"
+        LogRel(("GUI: UIMachineLogicFullscreen::sltMachineStateChanged:"
                 "Machine-state changed from 'paused' to 'running': "
                 "Adjust machine-window geometry...\n"));
 
@@ -394,7 +394,7 @@ void UIMachineLogicFullscreen::sltInvokePopupMenu()
 
 void UIMachineLogicFullscreen::sltScreenLayoutChanged()
 {
-    LogRel(("UIMachineLogicFullscreen::sltScreenLayoutChanged: Multi-screen layout changed.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen::sltScreenLayoutChanged: Multi-screen layout changed\n"));
 
 #ifdef Q_WS_MAC
     /* For Lion and previous: */
@@ -415,7 +415,7 @@ void UIMachineLogicFullscreen::sltScreenLayoutChanged()
 
 void UIMachineLogicFullscreen::sltGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo)
 {
-    LogRel(("UIMachineLogicFullscreen: Guest-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen: Guest-screen count changed\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
@@ -434,7 +434,7 @@ void UIMachineLogicFullscreen::sltGuestMonitorChange(KGuestMonitorChangedEventTy
 
 void UIMachineLogicFullscreen::sltHostScreenCountChange()
 {
-    LogRel(("UIMachineLogicFullscreen: Host-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen: Host-screen count changed\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
@@ -453,7 +453,7 @@ void UIMachineLogicFullscreen::sltHostScreenCountChange()
 
 void UIMachineLogicFullscreen::sltHostScreenAvailableAreaChange()
 {
-    LogRel(("UIMachineLogicFullscreen: Host-screen available-area change ignored.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen: Host-screen available-area change ignored\n"));
 }
 
 void UIMachineLogicFullscreen::prepareActionGroups()
@@ -673,7 +673,7 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
 
     /* Get screen ID: */
     const ulong uScreenID = pMachineWindow->screenId();
-    LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: For machine-window #%d.\n",
+    LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: For machine-window #%d\n",
             (int)uScreenID));
 
     /* Validate window which can't be fullscreen: */
@@ -685,8 +685,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
         if (   !darwinIsOnActiveSpace(machineWindows().first())
             || m_fullscreenMachineWindows.isEmpty() || !m_invalidFullscreenMachineWindows.isEmpty())
         {
-            LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                    "Ask transient machine-window #%d to hide.\n", (int)uScreenID));
+            LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                    "Ask transient machine-window #%d to hide\n", (int)uScreenID));
 
             /* Make sure window hidden: */
             pMachineWindow->hide();
@@ -694,8 +694,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
         /* If there is valid fullscreen window: */
         else
         {
-            LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                    "Ask transient machine-window #%d to show/normalize.\n", (int)uScreenID));
+            LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                    "Ask transient machine-window #%d to show/normalize\n", (int)uScreenID));
 
             /* Make sure window have proper geometry and shown: */
             pMachineWindow->showInNecessaryMode();
@@ -713,8 +713,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
             if (   uisession()->isScreenVisible(uScreenID)
                 && hasHostScreenForGuestScreen(uScreenID))
             {
-                LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                        "Ask machine-window #%d to enter native fullscreen.\n", (int)uScreenID));
+                LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                        "Ask machine-window #%d to enter native fullscreen\n", (int)uScreenID));
 
                 /* Make sure window have proper geometry and shown: */
                 pMachineWindow->showInNecessaryMode();
@@ -726,8 +726,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
              * is shown while shouldn't: */
             else if (pMachineWindow->isVisible())
             {
-                LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                        "Ask machine-window #%d to hide.\n", (int)uScreenID));
+                LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                        "Ask machine-window #%d to hide\n", (int)uScreenID));
 
                 /* Make sure window hidden: */
                 pMachineWindow->hide();
@@ -750,8 +750,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
                 || !hasHostScreenForGuestScreen(uScreenID)
                 || iWantedHostScreenIndex != iCurrentHostScreenIndex)
             {
-                LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                        "Ask machine-window #%d to exit native fullscreen.\n", (int)uScreenID));
+                LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                        "Ask machine-window #%d to exit native fullscreen\n", (int)uScreenID));
 
                 /* Mark window as invalidated: */
                 m_invalidFullscreenMachineWindows << pMachineWindow;
@@ -765,8 +765,8 @@ void UIMachineLogicFullscreen::revalidateNativeFullScreen(UIMachineWindow *pMach
              * 1. have another frame-buffer size than actually should. */
             else if (frameBufferSize != screenSize)
             {
-                LogRel(("UIMachineLogicFullscreen::revalidateNativeFullScreen: "
-                        "Ask machine-window #%d to adjust guest geometry.\n", (int)uScreenID));
+                LogRel(("GUI: UIMachineLogicFullscreen::revalidateNativeFullScreen: "
+                        "Ask machine-window #%d to adjust guest geometry\n", (int)uScreenID));
 
                 /* Just adjust machine-view size if necessary: */
                 pMachineWindow->adjustMachineViewSize();
@@ -815,8 +815,8 @@ void UIMachineLogicFullscreen::nativeHandlerForApplicationActivation(const QMap<
     if (!darwinIsOnActiveSpace(machineWindows().first()))
         return;
 
-    LogRel(("UIMachineLogicFullscreen::nativeHandlerForApplicationActivation: "
-            "Full-screen application activated.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen::nativeHandlerForApplicationActivation: "
+            "Full-screen application activated\n"));
 
     /* Revalidate full-screen mode for transient machine-window(s): */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -846,8 +846,8 @@ void UIMachineLogicFullscreen::nativeHandlerForActiveSpaceChange(const QMap<QStr
     if (!darwinIsOnActiveSpace(machineWindows().first()))
         return;
 
-    LogRel(("UIMachineLogicFullscreen::nativeHandlerForActiveSpaceChange: "
-            "Full-screen user-space activated.\n"));
+    LogRel(("GUI: UIMachineLogicFullscreen::nativeHandlerForActiveSpaceChange: "
+            "Full-screen user-space activated\n"));
 
     /* Revalidate full-screen mode for transient machine-window(s): */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
index 276a786..ab846c2 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.cpp
@@ -54,15 +54,12 @@ UIMachineViewNormal::UIMachineViewNormal(  UIMachineWindow *pMachineWindow
                     )
     , m_bIsGuestAutoresizeEnabled(actionPool()->action(UIActionIndexRT_M_View_T_GuestAutoresize)->isChecked())
 {
-    /* Resend the last resize hint if necessary: */
-    maybeResendSizeHint();
+    /* Resend the last resize hint: */
+    resendSizeHint();
 }
 
 UIMachineViewNormal::~UIMachineViewNormal()
 {
-    /* Save machine view settings: */
-    saveMachineViewSettings();
-
     /* Cleanup frame buffer: */
     cleanupFrameBuffer();
 }
@@ -126,13 +123,6 @@ void UIMachineViewNormal::prepareConsoleConnections()
     connect(uisession(), SIGNAL(sigAdditionsStateActualChange()), this, SLOT(sltAdditionsStateChanged()));
 }
 
-void UIMachineViewNormal::saveMachineViewSettings()
-{
-    /* If guest screen-still visible => store it's size-hint: */
-    if (uisession()->isScreenVisible(screenId()))
-        storeGuestSizeHint(QSize(frameBuffer()->width(), frameBuffer()->height()));
-}
-
 void UIMachineViewNormal::setGuestAutoresizeEnabled(bool fEnabled)
 {
     if (m_bIsGuestAutoresizeEnabled != fEnabled)
@@ -144,25 +134,17 @@ void UIMachineViewNormal::setGuestAutoresizeEnabled(bool fEnabled)
     }
 }
 
-void UIMachineViewNormal::maybeResendSizeHint()
+void UIMachineViewNormal::resendSizeHint()
 {
-    if (m_bIsGuestAutoresizeEnabled && uisession()->isGuestSupportsGraphics())
-    {
-        /* Send guest-screen size-hint if needed to reverse a transition to fullscreen or seamless: */
-        if (gEDataManager->wasLastGuestSizeHintForFullScreen(m_uScreenId, vboxGlobal().managedVMUuid()))
-        {
-            const QSize sizeHint = guestSizeHint();
-            LogRel(("UIMachineViewNormal::maybeResendSizeHint: "
-                    "Restoring guest size-hint for screen %d to %dx%d\n",
-                    (int)screenId(), sizeHint.width(), sizeHint.height()));
-            /* Temporarily restrict the size to prevent a brief resize to the
-             * framebuffer dimensions (see @a UIMachineView::sizeHint()) before
-             * the following resize() is acted upon. */
-            setMaximumSize(sizeHint);
-            m_sizeHintOverride = sizeHint;
-            sltPerformGuestResize(sizeHint);
-        }
-    }
+    const QSize sizeHint = guestSizeHint();
+    LogRel(("GUI: UIMachineViewNormal::resendSizeHint: Restoring guest size-hint for screen %d to %dx%d\n",
+            (int)screenId(), sizeHint.width(), sizeHint.height()));
+    /* Temporarily restrict the size to prevent a brief resize to the
+     * framebuffer dimensions (see @a UIMachineView::sizeHint()) before
+     * the following resize() is acted upon. */
+    setMaximumSize(sizeHint);
+    m_sizeHintOverride = sizeHint;
+    sltPerformGuestResize(sizeHint);
 }
 
 void UIMachineViewNormal::adjustGuestScreenSize()
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h b/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h
index d06a937..d00c94c 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineViewNormal.h
@@ -51,10 +51,8 @@ private:
     void prepareCommon();
     void prepareFilters();
     void prepareConsoleConnections();
-    //void loadMachineViewSettings();
 
     /* Cleanup helpers: */
-    void saveMachineViewSettings();
     //void cleanupConsoleConnections() {}
     //void cleanupFilters() {}
     //void cleanupCommon() {}
@@ -62,8 +60,8 @@ private:
     /* Hidden setters: */
     void setGuestAutoresizeEnabled(bool bEnabled);
 
-    /** Resends guest size-hint if necessary. */
-    void maybeResendSizeHint();
+    /** Resends guest size-hint. */
+    void resendSizeHint();
 
     /** Adjusts guest-screen size to correspond current <i>machine-window</i> size. */
     void adjustGuestScreenSize();
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp
index ca6b101..79fc2f5 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.cpp
@@ -56,15 +56,12 @@ UIMachineViewScale::UIMachineViewScale(  UIMachineWindow *pMachineWindow
 #endif
                     )
 {
-    /* Resend the last resize hint if necessary: */
-    maybeResendSizeHint();
+    /* Resend the last resize hint: */
+    resendSizeHint();
 }
 
 UIMachineViewScale::~UIMachineViewScale()
 {
-    /* Save machine view settings: */
-    saveMachineViewSettings();
-
     /* Cleanup frame buffer: */
     cleanupFrameBuffer();
 }
@@ -120,13 +117,6 @@ bool UIMachineViewScale::eventFilter(QObject *pWatched, QEvent *pEvent)
     return UIMachineView::eventFilter(pWatched, pEvent);
 }
 
-void UIMachineViewScale::saveMachineViewSettings()
-{
-    /* If guest screen-still visible => store it's size-hint: */
-    if (uisession()->isScreenVisible(screenId()))
-        storeGuestSizeHint(QSize(frameBuffer()->width(), frameBuffer()->height()));
-}
-
 void UIMachineViewScale::applyMachineViewScaleFactor()
 {
     /* If scaled-size is valid: */
@@ -160,20 +150,12 @@ void UIMachineViewScale::applyMachineViewScaleFactor()
     display().ViewportChanged(screenId(), contentsX(), contentsY(), visibleWidth(), visibleHeight());
 }
 
-void UIMachineViewScale::maybeResendSizeHint()
+void UIMachineViewScale::resendSizeHint()
 {
-    if (uisession()->isGuestSupportsGraphics())
-    {
-        /* Send guest-screen size-hint if needed to reverse a transition to fullscreen or seamless: */
-        if (gEDataManager->wasLastGuestSizeHintForFullScreen(m_uScreenId, vboxGlobal().managedVMUuid()))
-        {
-            const QSize sizeHint = guestSizeHint();
-            LogRel(("UIMachineViewScale::maybeResendSizeHint: "
-                    "Restoring guest size-hint for screen %d to %dx%d\n",
-                    (int)screenId(), sizeHint.width(), sizeHint.height()));
-            sltPerformGuestResize(sizeHint);
-        }
-    }
+    const QSize sizeHint = guestSizeHint();
+    LogRel(("GUI: UIMachineViewScale::resendSizeHint: Restoring guest size-hint for screen %d to %dx%d\n",
+            (int)screenId(), sizeHint.width(), sizeHint.height()));
+    sltPerformGuestResize(sizeHint);
 }
 
 QSize UIMachineViewScale::sizeHint() const
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h b/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h
index 01365d6..92ff5c7 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/scale/UIMachineViewScale.h
@@ -47,17 +47,11 @@ private:
     /* Event handlers: */
     bool eventFilter(QObject *pWatched, QEvent *pEvent);
 
-    /* Prepare helpers: */
-    //void loadMachineViewSettings() {}
-
-    /* Cleanup helpers: */
-    void saveMachineViewSettings();
-
     /** Applies machine-view scale-factor. */
     void applyMachineViewScaleFactor();
 
-    /** Resends guest size-hint if necessary. */
-    void maybeResendSizeHint();
+    /** Resends guest size-hint. */
+    void resendSizeHint();
 
     /* Private helpers: */
     QSize sizeHint() const;
diff --git a/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp b/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
index 5b72b26..18ad075 100644
--- a/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
@@ -90,7 +90,7 @@ bool UIMachineLogicSeamless::checkAvailability()
 
 void UIMachineLogicSeamless::adjustMachineWindowsGeometry()
 {
-    LogRel(("UIMachineLogicSeamless::adjustMachineWindowsGeometry\n"));
+    LogRel(("GUI: UIMachineLogicSeamless::adjustMachineWindowsGeometry\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
@@ -124,7 +124,7 @@ void UIMachineLogicSeamless::notifyAbout3DOverlayVisibilityChange(bool)
 
 void UIMachineLogicSeamless::sltCheckForRequestedVisualStateType()
 {
-    LogRel(("UIMachineLogicSeamless::sltCheckForRequestedVisualStateType: Requested-state=%d, Machine-state=%d\n",
+    LogRel(("GUI: UIMachineLogicSeamless::sltCheckForRequestedVisualStateType: Requested-state=%d, Machine-state=%d\n",
             uisession()->requestedVisualState(), uisession()->machineState()));
 
     /* Do not try to change visual-state type if machine was not started yet: */
@@ -138,7 +138,7 @@ void UIMachineLogicSeamless::sltCheckForRequestedVisualStateType()
     /* If 'seamless' visual-state type is no more supported: */
     if (!uisession()->isGuestSupportsSeamless())
     {
-        LogRel(("UIMachineLogicSeamless::sltCheckForRequestedVisualStateType: "
+        LogRel(("GUI: UIMachineLogicSeamless::sltCheckForRequestedVisualStateType: "
                 "Leaving 'seamless' as it is no more supported...\n"));
         uisession()->setRequestedVisualState(UIVisualStateType_Seamless);
         uisession()->changeVisualState(UIVisualStateType_Normal);
@@ -153,7 +153,7 @@ void UIMachineLogicSeamless::sltMachineStateChanged()
     /* If machine-state changed from 'paused' to 'running': */
     if (uisession()->isRunning() && uisession()->wasPaused())
     {
-        LogRel(("UIMachineLogicSeamless::sltMachineStateChanged:"
+        LogRel(("GUI: UIMachineLogicSeamless::sltMachineStateChanged:"
                 "Machine-state changed from 'paused' to 'running': "
                 "Adjust machine-window geometry...\n"));
 
@@ -178,7 +178,7 @@ void UIMachineLogicSeamless::sltInvokePopupMenu()
 
 void UIMachineLogicSeamless::sltScreenLayoutChanged()
 {
-    LogRel(("UIMachineLogicSeamless::sltScreenLayoutChanged: Multi-screen layout changed.\n"));
+    LogRel(("GUI: UIMachineLogicSeamless::sltScreenLayoutChanged: Multi-screen layout changed.\n"));
 
     /* Make sure all machine-window(s) have proper geometry: */
     foreach (UIMachineWindow *pMachineWindow, machineWindows())
@@ -187,7 +187,7 @@ void UIMachineLogicSeamless::sltScreenLayoutChanged()
 
 void UIMachineLogicSeamless::sltGuestMonitorChange(KGuestMonitorChangedEventType changeType, ulong uScreenId, QRect screenGeo)
 {
-    LogRel(("UIMachineLogicSeamless: Guest-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogicSeamless: Guest-screen count changed.\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
@@ -198,7 +198,7 @@ void UIMachineLogicSeamless::sltGuestMonitorChange(KGuestMonitorChangedEventType
 
 void UIMachineLogicSeamless::sltHostScreenCountChange()
 {
-    LogRel(("UIMachineLogicSeamless: Host-screen count changed.\n"));
+    LogRel(("GUI: UIMachineLogicSeamless: Host-screen count changed.\n"));
 
     /* Rebuild multi-screen layout: */
     m_pScreenLayout->rebuild();
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp b/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp
index d14c171..b438619 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/UIActionPoolSelector.cpp
@@ -240,7 +240,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&New Machine..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Create a new virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Create new virtual machine"));
         setToolTip(text().remove('&').remove('.') +
                    (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
     }
@@ -270,7 +270,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Add Machine..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Add an existing virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Add existing virtual machine"));
     }
 };
 
@@ -298,7 +298,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Rena&me Group..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Rename the selected virtual machine group"));
+        setStatusTip(QApplication::translate("UIActionPool", "Rename selected virtual machine group"));
     }
 };
 
@@ -325,8 +325,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "&Ungroup..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Ungroup items of the selected virtual machine group"));
+        setName(QApplication::translate("UIActionPool", "&Ungroup"));
+        setStatusTip(QApplication::translate("UIActionPool", "Ungroup the items of selected virtual machine group"));
     }
 };
 
@@ -348,8 +348,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Sort"));
-        setStatusTip(QApplication::translate("UIActionPool", "Sort the items of the selected virtual machine group alphabetically"));
+        setName(QApplication::translate("UIActionPool", "&Sort"));
+        setStatusTip(QApplication::translate("UIActionPool", "Sort the items of selected virtual machine group alphabetically"));
     }
 };
 
@@ -395,7 +395,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&New..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Create a new virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Create new virtual machine"));
         setToolTip(text().remove('&').remove('.') +
                    (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
     }
@@ -425,7 +425,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Add..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Add an existing virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Add existing virtual machine"));
     }
 };
 
@@ -453,7 +453,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Gro&up"));
-        setStatusTip(QApplication::translate("UIActionPool", "Add a new group based on the items selected"));
+        setStatusTip(QApplication::translate("UIActionPool", "Add new group based on selected virtual machines"));
     }
 };
 
@@ -483,7 +483,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Settings..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Manage the virtual machine settings"));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the virtual machine settings window"));
         setToolTip(text().remove('&').remove('.') +
                    (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
     }
@@ -513,7 +513,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Cl&one..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Clone the selected virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Clone selected virtual machine"));
     }
 };
 
@@ -543,7 +543,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Remove..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Remove the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Remove selected virtual machines"));
     }
 };
 
@@ -574,7 +574,7 @@ protected:
             {
                 showMenu();
                 setName(QApplication::translate("UIActionPool", "S&tart"));
-                setStatusTip(QApplication::translate("UIActionPool", "Start the selected virtual machines"));
+                setStatusTip(QApplication::translate("UIActionPool", "Start selected virtual machines"));
                 setToolTip(text().remove('&').remove('.') +
                            (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
                 break;
@@ -583,7 +583,7 @@ protected:
             {
                 hideMenu();
                 setName(QApplication::translate("UIActionPool", "S&how"));
-                setStatusTip(QApplication::translate("UIActionPool", "Switch to the windows of the selected virtual machines"));
+                setStatusTip(QApplication::translate("UIActionPool", "Switch to the windows of selected virtual machines"));
                 setToolTip(text().remove('&').remove('.') +
                            (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
                 break;
@@ -615,7 +615,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Normal Start"));
-        setStatusTip(QApplication::translate("UIActionPool", "Start the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Start selected virtual machines"));
     }
 };
 
@@ -640,7 +640,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Headless Start"));
-        setStatusTip(QApplication::translate("UIActionPool", "Start the selected virtual machines in the background"));
+        setStatusTip(QApplication::translate("UIActionPool", "Start selected virtual machines in the background"));
     }
 };
 
@@ -665,7 +665,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Detachable Start"));
-        setStatusTip(QApplication::translate("UIActionPool", "Start the selected virtual machines with the option of continuing them in the background"));
+        setStatusTip(QApplication::translate("UIActionPool", "Start selected virtual machines with the option of continuing them in the background"));
     }
 };
 
@@ -676,9 +676,7 @@ class UIActionToggleCommonPauseAndResume : public UIActionToggle
 public:
 
     UIActionToggleCommonPauseAndResume(UIActionPool *pParent)
-        : UIActionToggle(pParent,
-                         ":/vm_pause_32px.png", ":/vm_pause_16px.png",
-                         ":/vm_pause_disabled_32px.png", ":/vm_pause_disabled_16px.png") {}
+        : UIActionToggle(pParent, ":/vm_pause_16px.png", ":/vm_pause_disabled_16px.png") {}
 
 protected:
 
@@ -695,7 +693,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Pause"));
-        setStatusTip(QApplication::translate("UIActionPool", "Suspend the execution of the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Suspend the execution of selected virtual machines"));
     }
 };
 
@@ -723,7 +721,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "&Reset"));
-        setStatusTip(QApplication::translate("UIActionPool", "Reset the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Reset selected virtual machines"));
     }
 };
 
@@ -753,8 +751,8 @@ protected:
     void retranslateUi()
     {
         setIconText(QApplication::translate("UIActionPool", "Discard"));
-        setName(QApplication::translate("UIActionPool", "D&iscard saved state..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Discard the saved state of the selected virtual machines"));
+        setName(QApplication::translate("UIActionPool", "D&iscard Saved State..."));
+        setStatusTip(QApplication::translate("UIActionPool", "Discard the saved state of selected virtual machines"));
         setToolTip(text().remove('&').remove('.') +
                    (shortcut().toString().isEmpty() ? "" : QString(" (%1)").arg(shortcut().toString())));
     }
@@ -789,7 +787,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Show &Log..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Show the log files of the selected virtual machine"));
+        setStatusTip(QApplication::translate("UIActionPool", "Show the log files of selected virtual machines"));
     }
 };
 
@@ -813,8 +811,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Re&fresh..."));
-        setStatusTip(QApplication::translate("UIActionPool", "Refresh the accessibility state of the selected virtual machine"));
+        setName(QApplication::translate("UIActionPool", "Re&fresh"));
+        setStatusTip(QApplication::translate("UIActionPool", "Refresh the accessibility state of selected virtual machines"));
     }
 };
 
@@ -837,14 +835,14 @@ protected:
     void retranslateUi()
     {
 #if defined(Q_WS_MAC)
-        setName(QApplication::translate("UIActionPool", "Show in Finder"));
-        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition file in Finder"));
+        setName(QApplication::translate("UIActionPool", "S&how in Finder"));
+        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition files in Finder"));
 #elif defined(Q_WS_WIN)
-        setName(QApplication::translate("UIActionPool", "Show in Explorer"));
-        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition file in Explorer"));
+        setName(QApplication::translate("UIActionPool", "S&how in Explorer"));
+        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition files in Explorer"));
 #else
-        setName(QApplication::translate("UIActionPool", "Show in File Manager"));
-        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition file in the File Manager"));
+        setName(QApplication::translate("UIActionPool", "S&how in File Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Show the VirtualBox Machine Definition files in the File Manager"));
 #endif
     }
 };
@@ -868,11 +866,11 @@ protected:
     void retranslateUi()
     {
 #if defined(Q_WS_MAC)
-        setName(QApplication::translate("UIActionPool", "Create Alias on Desktop"));
-        setStatusTip(QApplication::translate("UIActionPool", "Creates an alias file to the VirtualBox Machine Definition file on your desktop"));
+        setName(QApplication::translate("UIActionPool", "Cr&eate Alias on Desktop"));
+        setStatusTip(QApplication::translate("UIActionPool", "Create alias files to the VirtualBox Machine Definition files on your desktop"));
 #else
-        setName(QApplication::translate("UIActionPool", "Create Shortcut on Desktop"));
-        setStatusTip(QApplication::translate("UIActionPool", "Creates an shortcut file to the VirtualBox Machine Definition file on your desktop"));
+        setName(QApplication::translate("UIActionPool", "Cr&eate Shortcut on Desktop"));
+        setStatusTip(QApplication::translate("UIActionPool", "Create shortcut files to the VirtualBox Machine Definition files on your desktop"));
 #endif
     }
 };
@@ -895,8 +893,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Sort"));
-        setStatusTip(QApplication::translate("UIActionPool", "Sort the group of the first selected machine alphabetically"));
+        setName(QApplication::translate("UIActionPool", "&Sort"));
+        setStatusTip(QApplication::translate("UIActionPool", "Sort the group of first selected virtual machine alphabetically"));
     }
 };
 
@@ -941,8 +939,8 @@ protected:
 
     void retranslateUi()
     {
-        setName(QApplication::translate("UIActionPool", "Save State"));
-        setStatusTip(QApplication::translate("UIActionPool", "Save the machine state of the selected virtual machines"));
+        setName(QApplication::translate("UIActionPool", "&Save State"));
+        setStatusTip(QApplication::translate("UIActionPool", "Save the state of selected virtual machines"));
     }
 };
 
@@ -970,7 +968,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "ACPI Sh&utdown"));
-        setStatusTip(QApplication::translate("UIActionPool", "Send the ACPI Power Button press event to the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Send the ACPI Shutdown signal to selected virtual machines"));
     }
 };
 
@@ -998,7 +996,7 @@ protected:
     void retranslateUi()
     {
         setName(QApplication::translate("UIActionPool", "Po&wer Off"));
-        setStatusTip(QApplication::translate("UIActionPool", "Power off the selected virtual machines"));
+        setStatusTip(QApplication::translate("UIActionPool", "Power off selected virtual machines"));
     }
 };
 
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp b/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
index 46f5bf4..752afd4 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
@@ -683,8 +683,9 @@ void UISelectorWindow::sltPerformSaveAction()
         CConsole console = session.GetConsole();
         /* Get session machine: */
         CMachine machine = session.GetMachine();
-        /* Pause VM first: */
-        console.Pause();
+        /* Pause VM first if necessary: */
+        if (pItem->machineState() != KMachineState_Paused)
+            console.Pause();
         if (console.isOk())
         {
             /* Prepare machine state saving: */
@@ -898,6 +899,10 @@ void UISelectorWindow::sltCurrentVMItemChanged(bool fRefreshDetails, bool fRefre
     /* Update action appearance: */
     updateActionsAppearance();
 
+    /* Refresh details-pane even if there are no items selected: */
+    if (fRefreshDetails)
+        m_pDetails->setItems(currentItems());
+
     /* If currently selected VM item is accessible: */
     if (pItem && pItem->accessible())
     {
@@ -907,8 +912,6 @@ void UISelectorWindow::sltCurrentVMItemChanged(bool fRefreshDetails, bool fRefre
         else
             m_pContainer->setCurrentWidget(m_pDetails);
 
-        if (fRefreshDetails)
-            m_pDetails->setItems(currentItems());
         if (fRefreshSnapshots)
         {
             m_pVMDesktop->updateSnapshots(pItem, pItem->machine());
@@ -1202,30 +1205,66 @@ void UISelectorWindow::prepareMenuFile(QMenu *pMenu)
     if (!pMenu->isEmpty())
         return;
 
-    /* Populate File-menu: */
+    /* The Application / 'File' menu contents is very different depending on host type. */
+
 #ifdef Q_WS_MAC
+    /* 'About' action goes to Application menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_About));
+# ifdef VBOX_GUI_WITH_NETWORK_MANAGER
+    /* 'Check for Updates' action goes to Application menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
+    /* 'Network Access Manager' action goes to Application menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
+# endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
+    /* 'Reset Warnings' action goes to Application menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_ResetWarnings));
+    /* 'Preferences' action goes to Application menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_Preferences));
-#endif /* Q_WS_MAC */
+    /* 'Close' action goes to Application menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_Close));
+
+    /* 'Import Appliance' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ImportAppliance));
+    /* 'Export Appliance' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ExportAppliance));
-    pMenu->addSeparator();
-    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowMediumManager));
-#ifdef DEBUG
+# ifdef DEBUG
+    /* 'Show Extra-data Manager' action goes to 'File' menu for Debug build: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowExtraDataManager));
-#endif /* DEBUG */
-#ifndef Q_WS_MAC
+# endif /* DEBUG */
+    /* 'Show Medium Manager' action goes to 'File' menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowMediumManager));
+
+#else /* !Q_WS_MAC */
+
+    /* 'Preferences' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_Preferences));
-#endif /* Q_WS_MAC */
+    /* Separator after 'Preferences' action of the 'File' menu: */
     pMenu->addSeparator();
-#ifdef VBOX_GUI_WITH_NETWORK_MANAGER
+    /* 'Import Appliance' action goes to 'File' menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ImportAppliance));
+    /* 'Export Appliance' action goes to 'File' menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ExportAppliance));
+    /* Separator after 'Export Appliance' action of the 'File' menu: */
+    pMenu->addSeparator();
+# ifdef DEBUG
+    /* 'Extra-data Manager' action goes to 'File' menu for Debug build: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowExtraDataManager));
+# endif /* DEBUG */
+    /* 'Show Medium Manager' action goes to 'File' menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowMediumManager));
+# ifdef VBOX_GUI_WITH_NETWORK_MANAGER
+    /* 'Network Access Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
+    /* 'Check for Updates' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_CheckForUpdates));
-# ifndef Q_WS_MAC
+# endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
+    /* 'Reset Warnings' action goes 'File' menu: */
+    pMenu->addAction(actionPool()->action(UIActionIndex_M_Application_S_ResetWarnings));
+    /* Separator after 'Reset Warnings' action of the 'File' menu: */
     pMenu->addSeparator();
-# endif /* Q_WS_MAC */
-#endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
+    /* 'Close' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_Close));
+#endif /* !Q_WS_MAC */
 }
 
 void UISelectorWindow::prepareMenuGroup(QMenu *pMenu)
@@ -1409,7 +1448,9 @@ void UISelectorWindow::prepareWidgets()
     /* Prepare tool-bar: */
     mVMToolBar = new UIToolBar(this);
     mVMToolBar->setContextMenuPolicy(Qt::CustomContextMenu);
-    mVMToolBar->setIconSize(QSize(32, 32));
+    const QSize toolBarIconSize = mVMToolBar->iconSize();
+    if (toolBarIconSize.width() < 32 || toolBarIconSize.height() < 32)
+        mVMToolBar->setIconSize(QSize(32, 32));
     mVMToolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
     mVMToolBar->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_New));
     mVMToolBar->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Settings));
@@ -1530,7 +1571,7 @@ void UISelectorWindow::prepareConnections()
             this, SLOT(sltShowSelectorContextMenu(const QPoint&)));
 
     /* Graphics VM chooser connections: */
-    connect(m_pChooser, SIGNAL(sigSelectionChanged()), this, SLOT(sltCurrentVMItemChanged()), Qt::QueuedConnection);
+    connect(m_pChooser, SIGNAL(sigSelectionChanged()), this, SLOT(sltCurrentVMItemChanged()));
     connect(m_pChooser, SIGNAL(sigSlidingStarted()), m_pDetails, SIGNAL(sigSlidingStarted()));
     connect(m_pChooser, SIGNAL(sigToggleStarted()), m_pDetails, SIGNAL(sigToggleStarted()));
     connect(m_pChooser, SIGNAL(sigToggleFinished()), m_pDetails, SIGNAL(sigToggleFinished()));
@@ -1571,7 +1612,7 @@ void UISelectorWindow::loadSettings()
 #else /* Q_WS_MAC */
         setGeometry(m_geometry);
 #endif /* !Q_WS_MAC */
-        LogRel(("UISelectorWindow: Geometry loaded to: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UISelectorWindow: Geometry loaded to: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
 
         /* Maximize (if necessary): */
@@ -1629,7 +1670,7 @@ void UISelectorWindow::saveSettings()
 #else /* Q_WS_MAC */
         gEDataManager->setSelectorWindowGeometry(m_geometry, isMaximized());
 #endif /* !Q_WS_MAC */
-        LogRel(("UISelectorWindow: Geometry saved as: %dx%d @ %dx%d.\n",
+        LogRel(("GUI: UISelectorWindow: Geometry saved as: %dx%d @ %dx%d\n",
                 m_geometry.x(), m_geometry.y(), m_geometry.width(), m_geometry.height()));
     }
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/VBoxSnapshotsWgt.cpp b/src/VBox/Frontends/VirtualBox/src/selector/VBoxSnapshotsWgt.cpp
index 8e9144e..b764510 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/VBoxSnapshotsWgt.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/VBoxSnapshotsWgt.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2006-2014 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -388,9 +388,13 @@ VBoxSnapshotsWgt::VBoxSnapshotsWgt (QWidget *aParent)
     m_offlineSnapshotIcon = UIIconPool::iconSet(":/snapshot_offline_16px.png");
     m_onlineSnapshotIcon = UIIconPool::iconSet(":/snapshot_online_16px.png");
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize) * 1.375;
+
     /* ToolBar creation */
     UIToolBar *toolBar = new UIToolBar (this);
-    toolBar->setIconSize (QSize (22, 22));
+    toolBar->setIconSize (QSize (iIconMetric, iIconMetric));
     toolBar->setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed);
 
     toolBar->addAction (mTakeSnapshotAction);
@@ -478,31 +482,30 @@ void VBoxSnapshotsWgt::setMachine (const CMachine &aMachine)
 
 void VBoxSnapshotsWgt::retranslateUi()
 {
-    /* Translate uic generated strings */
-    Ui::VBoxSnapshotsWgt::retranslateUi (this);
+    /* Translate uic generated strings: */
+    Ui::VBoxSnapshotsWgt::retranslateUi(this);
 
-    mRestoreSnapshotAction->setText (tr ("&Restore Snapshot"));
-    mDeleteSnapshotAction->setText (tr ("&Delete Snapshot"));
-    mShowSnapshotDetailsAction->setText (tr ("S&how Details"));
-    mTakeSnapshotAction->setText (tr ("Take &Snapshot"));
+    mRestoreSnapshotAction->setText(tr("&Restore Snapshot"));
+    mDeleteSnapshotAction->setText(tr("&Delete Snapshot"));
+    mShowSnapshotDetailsAction->setText(tr("S&how Details"));
+    mTakeSnapshotAction->setText(tr("Take &Snapshot"));
     mCloneSnapshotAction->setText(tr("&Clone..."));
 
-
-    mRestoreSnapshotAction->setStatusTip (tr ("Restore the selected snapshot of the virtual machine"));
-    mDeleteSnapshotAction->setStatusTip (tr ("Delete the selected snapshot of the virtual machine"));
-    mShowSnapshotDetailsAction->setStatusTip (tr ("Show the details of the selected snapshot"));
-    mTakeSnapshotAction->setStatusTip (tr ("Take a snapshot of the current virtual machine state"));
-    mCloneSnapshotAction->setStatusTip(tr("Clone the selected virtual machine"));
-
-    mRestoreSnapshotAction->setToolTip (mRestoreSnapshotAction->text().remove ('&').remove ('.') +
-        QString (" (%1)").arg (mRestoreSnapshotAction->shortcut().toString()));
-    mDeleteSnapshotAction->setToolTip (mDeleteSnapshotAction->text().remove ('&').remove ('.') +
-        QString (" (%1)").arg (mDeleteSnapshotAction->shortcut().toString()));
-    mShowSnapshotDetailsAction->setToolTip (mShowSnapshotDetailsAction->text().remove ('&').remove ('.') +
-        QString (" (%1)").arg (mShowSnapshotDetailsAction->shortcut().toString()));
-    mTakeSnapshotAction->setToolTip (mTakeSnapshotAction->text().remove ('&').remove ('.') +
-        QString (" (%1)").arg (mTakeSnapshotAction->shortcut().toString()));
-    mCloneSnapshotAction->setToolTip(mCloneSnapshotAction->text().remove('&').remove('.') +
+    mRestoreSnapshotAction->setStatusTip(tr("Restore selected snapshot of the virtual machine"));
+    mDeleteSnapshotAction->setStatusTip(tr("Delete selected snapshot of the virtual machine"));
+    mShowSnapshotDetailsAction->setStatusTip(tr("Display a window with selected snapshot details"));
+    mTakeSnapshotAction->setStatusTip(tr("Take a snapshot of the current virtual machine state"));
+    mCloneSnapshotAction->setStatusTip(tr("Clone selected virtual machine"));
+
+    mRestoreSnapshotAction->setToolTip(mRestoreSnapshotAction->statusTip() +
+        QString(" (%1)").arg(mRestoreSnapshotAction->shortcut().toString()));
+    mDeleteSnapshotAction->setToolTip(mDeleteSnapshotAction->statusTip() +
+        QString(" (%1)").arg(mDeleteSnapshotAction->shortcut().toString()));
+    mShowSnapshotDetailsAction->setToolTip(mShowSnapshotDetailsAction->statusTip() +
+        QString(" (%1)").arg(mShowSnapshotDetailsAction->shortcut().toString()));
+    mTakeSnapshotAction->setToolTip(mTakeSnapshotAction->statusTip() +
+        QString(" (%1)").arg(mTakeSnapshotAction->shortcut().toString()));
+    mCloneSnapshotAction->setToolTip(mCloneSnapshotAction->statusTip() +
         QString(" (%1)").arg(mCloneSnapshotAction->shortcut().toString()));
 }
 
@@ -884,8 +887,9 @@ bool VBoxSnapshotsWgt::takeSnapshot()
             /* Was the dialog accepted? */
             if (fDialogAccepted)
             {
+                QString strSnapshotId;
                 /* Prepare the take-snapshot progress: */
-                CProgress progress = machine.TakeSnapshot(strSnapshotName, strSnapshotDescription, true);
+                CProgress progress = machine.TakeSnapshot(strSnapshotName, strSnapshotDescription, true, strSnapshotId);
                 if (machine.isOk())
                 {
                     /* Show the take-snapshot progress: */
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerMouse.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerMouse.cpp
index 13fc721..8cd5d70 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerMouse.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserHandlerMouse.cpp
@@ -108,6 +108,7 @@ bool UIGChooserHandlerMouse::handleMousePress(QGraphicsSceneMouseEvent *pEvent)
                             model()->addToCurrentItems(pClickedItem);
                         /* Move focus to clicked item: */
                         model()->setFocusItem(pClickedItem);
+                        model()->makeSureSomeItemIsSelected();
                     }
                     /* Was no modifiers pressed? */
                     else if (pEvent->modifiers() == Qt::NoModifier)
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp
index ec7804c..8132017 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp
@@ -160,11 +160,14 @@ void UIGChooserItemMachine::enumerateMachineItems(const QList<UIGChooserItem*> &
         {
             /* Get the iterated machine-item: */
             UIGChooserItemMachine *pMachineItem = pItem->toMachineItem();
-            /* Skip if this item is already enumerated but we need unique: */
+            /* Skip if exactly this item is already enumerated: */
+            if (ol.contains(pMachineItem))
+                continue;
+            /* Skip if item with same ID is already enumerated but we need unique: */
             if ((iEnumerationFlags & UIGChooserItemMachineEnumerationFlag_Unique) &&
                 contains(ol, pMachineItem))
                 continue;
-            /* Skip if ths item is accessible and we no need it: */
+            /* Skip if this item is accessible and we no need it: */
             if ((iEnumerationFlags & UIGChooserItemMachineEnumerationFlag_Inaccessible) &&
                 pMachineItem->accessible())
                 continue;
@@ -238,10 +241,13 @@ void UIGChooserItemMachine::updatePixmap()
 
 void UIGChooserItemMachine::updateStatePixmap()
 {
+    /* Determine the icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
     /* Get new state-pixmap and state-pixmap size: */
     const QIcon stateIcon = machineStateIcon();
     AssertReturnVoid(!stateIcon.isNull());
-    const QSize statePixmapSize = stateIcon.availableSizes().first();
+    const QSize statePixmapSize = QSize(iIconMetric, iIconMetric);
     const QPixmap statePixmap = stateIcon.pixmap(statePixmapSize);
     /* Update linked values: */
     if (m_statePixmapSize != statePixmapSize)
@@ -538,6 +544,13 @@ void UIGChooserItemMachine::removeAll(const QString &strId)
     if (id() != strId)
         return;
 
+    /* Exclude itself from the current items: */
+    if (model()->currentItems().contains(this))
+        model()->removeFromCurrentItems(this);
+    /* Move the focus item to the first available current after that: */
+    if (model()->focusItem() == this && !model()->currentItems().isEmpty())
+        model()->setFocusItem(model()->currentItems().first());
+
     /* Remove item: */
     delete this;
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
index 15095a9..2648a1a 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
@@ -277,7 +277,11 @@ void UIGChooserModel::setCurrentItems(const QList<UIGChooserItem*> &items)
 void UIGChooserModel::setCurrentItem(UIGChooserItem *pItem)
 {
     /* Call for wrapper above: */
-    setCurrentItems(QList<UIGChooserItem*>() << pItem);
+    QList<UIGChooserItem*> items;
+    if (pItem)
+        items << pItem;
+    setCurrentItems(items);
+
     /* Move focus to current-item: */
     setFocusItem(currentItem());
 }
@@ -343,12 +347,16 @@ void UIGChooserModel::removeFromCurrentItems(UIGChooserItem *pItem)
     setCurrentItems(list);
 }
 
-void UIGChooserModel::notifyCurrentItemChanged()
+void UIGChooserModel::makeSureSomeItemIsSelected()
 {
     /* Make sure selection item list is never empty
      * if at least one item (for example 'focus') present: */
     if (!currentItem() && focusItem())
         setCurrentItem(focusItem());
+}
+
+void UIGChooserModel::notifyCurrentItemChanged()
+{
     /* Notify listeners about selection change: */
     emit sigSelectionChanged();
 }
@@ -1493,6 +1501,9 @@ void UIGChooserModel::unregisterMachines(const QStringList &ids)
     if (iResultCode == AlertButton_Cancel)
         return;
 
+    /* Unset current item(s): */
+    unsetCurrentItem();
+
     /* For every selected item: */
     for (int iMachineIndex = 0; iMachineIndex < machines.size(); ++iMachineIndex)
     {
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
index 13e90b5..e665b7f 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
@@ -123,6 +123,7 @@ public:
     void unsetCurrentItem();
     void addToCurrentItems(UIGChooserItem *pItem);
     void removeFromCurrentItems(UIGChooserItem *pItem);
+    void makeSureSomeItemIsSelected();
     void notifyCurrentItemChanged();
     bool isSingleGroupSelected() const;
     bool isAllItemsOfOneGroupSelected() const;
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.cpp
index 55f702c..b9b9335 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.cpp
@@ -30,7 +30,7 @@
 
 
 UIGChooserView::UIGChooserView(QWidget *pParent)
-    : QGraphicsView(pParent)
+    : QIGraphicsView(pParent)
     , m_iMinimumWidthHint(0)
     , m_iMinimumHeightHint(0)
 {
@@ -90,7 +90,7 @@ void UIGChooserView::sltFocusChanged(UIGChooserItem *pFocusItem)
 void UIGChooserView::resizeEvent(QResizeEvent *pEvent)
 {
     /* Call to base-class: */
-    QGraphicsView::resizeEvent(pEvent);
+    QIGraphicsView::resizeEvent(pEvent);
     /* Notify listeners: */
     emit sigResized();
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.h b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.h
index e0f78af..f5a14ad 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.h
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserView.h
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2012-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -18,14 +18,14 @@
 #ifndef __UIGChooserView_h__
 #define __UIGChooserView_h__
 
-/* Qt includes: */
-#include <QGraphicsView>
+/* GUI includes: */
+#include "QIGraphicsView.h"
 
 /* Forward declarations: */
 class UIGChooserItem;
 
 /* Graphics chooser-view: */
-class UIGChooserView : public QGraphicsView
+class UIGChooserView : public QIGraphicsView
 {
     Q_OBJECT;
 
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.cpp
index 5716c32..5b111ad 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.cpp
@@ -30,7 +30,7 @@
 
 
 UIGDetailsView::UIGDetailsView(QWidget *pParent)
-    : QGraphicsView(pParent)
+    : QIGraphicsView(pParent)
     , m_iMinimumWidthHint(0)
     , m_iMinimumHeightHint(0)
 {
@@ -93,7 +93,7 @@ void UIGDetailsView::preparePalette()
 void UIGDetailsView::resizeEvent(QResizeEvent *pEvent)
 {
     /* Call to base-class: */
-    QGraphicsView::resizeEvent(pEvent);
+    QIGraphicsView::resizeEvent(pEvent);
     /* Notify listeners: */
     emit sigResized();
 }
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.h b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.h
index f0957b1..bc9cd2a 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.h
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsView.h
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2012 Oracle Corporation
+ * Copyright (C) 2012-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -18,11 +18,11 @@
 #ifndef __UIGDetailsView_h__
 #define __UIGDetailsView_h__
 
-/* Qt includes: */
-#include <QGraphicsView>
+/* GUI includes: */
+#include "QIGraphicsView.h"
 
 /* Graphics details-view: */
-class UIGDetailsView : public QGraphicsView
+class UIGDetailsView : public QIGraphicsView
 {
     Q_OBJECT;
 
diff --git a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp
index fe7dbb2..9edcf28 100644
--- a/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp
@@ -212,10 +212,13 @@ void UIGMachinePreview::sltRecreatePreview()
                     if (!m_machine.isOk() || screenData.isEmpty())
                         break;
 
-                    /* Calculate aspect-ratio: */
-                    double dAspectRatio = (double)uGuestWidth / uGuestHeight;
-                    /* Look for the best aspect-ratio preset: */
-                    preset = bestAspectRatioPreset(dAspectRatio, m_ratios);
+                    if (uGuestWidth > 0 && uGuestHeight > 0)
+                    {
+                        /* Calculate aspect-ratio: */
+                        const double dAspectRatio = (double)uGuestWidth / uGuestHeight;
+                        /* Look for the best aspect-ratio preset: */
+                        preset = bestAspectRatioPreset(dAspectRatio, m_ratios);
+                    }
 
                     /* Create image based on shallow copy or screenshot data,
                      * scale image down if necessary to the size possible to reflect: */
@@ -245,22 +248,19 @@ void UIGMachinePreview::sltRecreatePreview()
                     if (!console.isOk() || display.isNull())
                         break;
 
-                    /* Calculate aspect-ratio: */
-                    LONG iOriginX, iOriginY;
-                    ULONG uGuestWidth, uGuestHeight, uBpp;
+                    /* Acquire guest-screen attributes: */
+                    LONG iOriginX = 0, iOriginY = 0;
+                    ULONG uGuestWidth = 0, uGuestHeight = 0, uBpp = 0;
                     KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled;
                     display.GetScreenResolution(0, uGuestWidth, uGuestHeight, uBpp, iOriginX, iOriginY, monitorStatus);
-                    if (uGuestWidth == 0 || uGuestHeight == 0)
+                    if (uGuestWidth > 0 && uGuestHeight > 0)
                     {
-                        AssertMsgFailed(("Acquired guest screen resolution is %dx%d\n",
-                                         uGuestWidth, uGuestHeight));
-                        break;
+                        /* Calculate aspect-ratio: */
+                        const double dAspectRatio = (double)uGuestWidth / uGuestHeight;
+                        /* Look for the best aspect-ratio preset: */
+                        preset = bestAspectRatioPreset(dAspectRatio, m_ratios);
                     }
 
-                    double dAspectRatio = (double)uGuestWidth / uGuestHeight;
-                    /* Look for the best aspect-ratio preset preset: */
-                    preset = bestAspectRatioPreset(dAspectRatio, m_ratios);
-
                     /* Calculate size corresponding to aspect-ratio: */
                     const QSize size = imageAspectRatioSize(m_vRect.size(), QSize(uGuestWidth, uGuestHeight));
 
@@ -523,7 +523,8 @@ QSize UIGMachinePreview::imageAspectRatioSize(const QSize &hostSize, const QSize
 {
     /* Make sure host-size and guest-size are valid: */
     AssertReturn(!hostSize.isNull(), QSize());
-    AssertReturn(!guestSize.isNull(), hostSize);
+    if (guestSize.isNull())
+        return hostSize;
 
     /* Calculate host/guest aspect-ratio: */
     const double dHostAspectRatio = (double)hostSize.width() / hostSize.height();
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp b/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp
index 10e9084..7909d30 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp
@@ -190,12 +190,14 @@ VBoxSettingsTreeViewSelector::VBoxSettingsTreeViewSelector (QWidget *aParent /*
     sizePolicy.setHorizontalStretch (0);
     sizePolicy.setVerticalStretch (0);
     sizePolicy.setHeightForWidth (mTwSelector->sizePolicy().hasHeightForWidth());
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
     mTwSelector->setSizePolicy (sizePolicy);
     mTwSelector->setVerticalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
     mTwSelector->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
     mTwSelector->setRootIsDecorated (false);
     mTwSelector->setUniformRowHeights (true);
-    mTwSelector->setIconSize(QSize(24, 24));
+    mTwSelector->setIconSize(QSize(1.5 * iIconMetric, 1.5 * iIconMetric));
     /* Add the columns */
     mTwSelector->headerItem()->setText (treeWidget_Category, "Category");
     mTwSelector->headerItem()->setText (treeWidget_Id, "[id]");
@@ -290,15 +292,20 @@ void VBoxSettingsTreeViewSelector::setVisibleById (int aId, bool aShow)
 void VBoxSettingsTreeViewSelector::polish()
 {
     /* Get recommended size hint: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
     int iItemWidth = static_cast<QAbstractItemView*>(mTwSelector)->sizeHintForColumn(treeWidget_Category);
-    int iItemHeight = qMax(24 /* icon height */, mTwSelector->fontMetrics().height() /* text height */);
+    int iItemHeight = qMax((int)(iIconMetric * 1.5) /* icon height */,
+                           mTwSelector->fontMetrics().height() /* text height */);
     /* Add some margin to every item in the tree: */
     iItemHeight += 4 /* margin itself */ * 2 /* margin count */;
     /* Set final size hint for items: */
     mTwSelector->setSizeHintForItems(QSize(iItemWidth , iItemHeight));
 
-    /* Fix selector width to minimum possible: */
+    /* Adjust selector width/height: */
     mTwSelector->setFixedWidth(iItemWidth + 2 * mTwSelector->frameWidth());
+    mTwSelector->setMinimumHeight(mTwSelector->topLevelItemCount() * iItemHeight +
+                                  1 /* margin itself */ * 2 /* margin count */);
 
     /* Sort selector by the id column: */
     mTwSelector->sortItems(treeWidget_Id, Qt::AscendingOrder);
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.ui
index 41629e5..b126094 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsDisplay.ui
@@ -63,7 +63,7 @@
       </sizepolicy>
      </property>
      <property name="whatsThis">
-      <string>Specifies the maximum width which we would like the guest to use.</string>
+      <string>Holds the maximum width which we would like the guest to use.</string>
      </property>
     </widget>
    </item>
@@ -89,7 +89,7 @@
       </sizepolicy>
      </property>
      <property name="whatsThis">
-      <string>Specifies the maximum height which we would like the guest to use.</string>
+      <string>Holds the maximum height which we would like the guest to use.</string>
      </property>
     </widget>
    </item>
@@ -112,7 +112,7 @@
       </sizepolicy>
      </property>
      <property name="whatsThis" >
-      <string>If checked, machine windows will be raised when the mouse pointer moves over them.</string>
+      <string>When checked, machine windows will be raised when the mouse pointer moves over them.</string>
      </property>
      <property name="text">
       <string>&Raise Window Under Mouse</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
index 91ac035..c4250e4 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsExtension.cpp
@@ -105,8 +105,12 @@ UIGlobalSettingsExtension::UIGlobalSettingsExtension()
     connect(m_pPackagesTree, SIGNAL(customContextMenuRequested(const QPoint&)),
             this, SLOT(sltShowContextMenu(const QPoint&)));
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Setup tool-bar: */
-    m_pPackagesToolbar->setIconSize(QSize(16, 16));
+    m_pPackagesToolbar->setIconSize(QSize(iIconMetric, iIconMetric));
     m_pPackagesToolbar->setOrientation(Qt::Vertical);
     m_pActionAdd = m_pPackagesToolbar->addAction(UIIconPool::iconSet(":/extension_pack_install_16px.png",
                                                                      ":/extension_pack_install_disabled_16px.png"),
@@ -279,8 +283,14 @@ void UIGlobalSettingsExtension::retranslateUi()
     Ui::UIGlobalSettingsExtension::retranslateUi(this);
 
     /* Translate actions: */
-    m_pActionAdd->setText(tr("Add package"));
-    m_pActionRemove->setText(tr("Remove package"));
+    m_pActionAdd->setText(tr("Add Package"));
+    m_pActionRemove->setText(tr("Remove Package"));
+
+    m_pActionAdd->setWhatsThis(tr("Adds new package."));
+    m_pActionRemove->setWhatsThis(tr("Removes selected package."));
+
+    m_pActionAdd->setToolTip(m_pActionAdd->whatsThis());
+    m_pActionRemove->setToolTip(m_pActionRemove->whatsThis());
 }
 
 void UIGlobalSettingsExtension::sltHandleCurrentItemChange(QTreeWidgetItem *pCurrentItem)
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.ui
index 7e8b0cf..0043490 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsGeneral.ui
@@ -73,7 +73,7 @@
    <item row="2" column="0">
     <widget class="QLabel" name="m_pLabelHostScreenSaver">
      <property name="text">
-      <string>&Host Screensaver:</string>
+      <string>Host Screensaver:</string>
      </property>
      <property name="alignment">
       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
@@ -89,7 +89,7 @@
       <string>When checked, the host screensaver will be disabled whenever a virtual machine is running.</string>
      </property>
      <property name="text">
-      <string>Disable When Running Virtual Machines</string>
+      <string>&Disable When Running Virtual Machines</string>
      </property>
     </widget>
    </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
index fc9173c..d8b450f 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsInput.cpp
@@ -223,12 +223,10 @@ void UIGlobalSettingsInput::retranslateUi()
     /* Translate tab-widget labels: */
     m_pTabWidget->setTabText(UIHotKeyTableIndex_Selector, tr("&VirtualBox Manager"));
     m_pTabWidget->setTabText(UIHotKeyTableIndex_Machine, tr("Virtual &Machine"));
-    m_pSelectorTable->setWhatsThis(tr("Lists all the available shortcuts "
-                                      "which can be configured."));
-    m_pMachineTable->setWhatsThis(tr("Lists all the available shortcuts "
-                                     "which can be configured."));
-    m_pSelectorFilterEditor->setWhatsThis(tr("Enter a sequence to filter the shortcut list."));
-    m_pMachineFilterEditor->setWhatsThis(tr("Enter a sequence to filter the shortcut list."));
+    m_pSelectorTable->setWhatsThis(tr("Lists all available shortcuts which can be configured."));
+    m_pMachineTable->setWhatsThis(tr("Lists all available shortcuts which can be configured."));
+    m_pSelectorFilterEditor->setWhatsThis(tr("Holds a sequence to filter the shortcut list."));
+    m_pMachineFilterEditor->setWhatsThis(tr("Holds a sequence to filter the shortcut list."));
 }
 
 void UIGlobalSettingsInput::prepareValidation()
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp
index c91947d..4e5cb9f 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetwork.cpp
@@ -455,9 +455,13 @@ UIGlobalSettingsNetwork::UIGlobalSettingsNetwork()
         connect(m_pActionEditNetworkHost, SIGNAL(triggered(bool)), this, SLOT(sltEditNetworkHost()));
     }
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Prepare NAT network toolbar: */
     {
-        m_pToolbarNetworkNAT->setIconSize(QSize(16, 16));
+        m_pToolbarNetworkNAT->setIconSize(QSize(iIconMetric, iIconMetric));
         m_pToolbarNetworkNAT->setOrientation(Qt::Vertical);
         m_pToolbarNetworkNAT->addAction(m_pActionAddNetworkNAT);
         m_pToolbarNetworkNAT->addAction(m_pActionDelNetworkNAT);
@@ -465,7 +469,7 @@ UIGlobalSettingsNetwork::UIGlobalSettingsNetwork()
     }
     /* Prepare Host network toolbar: */
     {
-        m_pToolbarNetworkHost->setIconSize(QSize(16, 16));
+        m_pToolbarNetworkHost->setIconSize(QSize(iIconMetric, iIconMetric));
         m_pToolbarNetworkHost->setOrientation(Qt::Vertical);
         m_pToolbarNetworkHost->addAction(m_pActionAddNetworkHost);
         m_pToolbarNetworkHost->addAction(m_pActionDelNetworkHost);
@@ -652,33 +656,33 @@ void UIGlobalSettingsNetwork::retranslateUi()
                                            << tr("Name"));
 
         /* Translate action text: */
-        m_pActionAddNetworkNAT->setText(tr("&Add NAT network"));
-        m_pActionDelNetworkNAT->setText(tr("&Remove NAT network"));
-        m_pActionEditNetworkNAT->setText(tr("&Edit NAT network"));
-
-        /* Recompose action tool-tips: */
-        m_pActionAddNetworkNAT->setToolTip(m_pActionAddNetworkNAT->text().remove('&') +
-            QString(" (%1)").arg(m_pActionAddNetworkNAT->shortcut().toString()));
-        m_pActionDelNetworkNAT->setToolTip(m_pActionDelNetworkNAT->text().remove('&') +
-            QString(" (%1)").arg(m_pActionDelNetworkNAT->shortcut().toString()));
-        m_pActionEditNetworkNAT->setToolTip(m_pActionEditNetworkNAT->text().remove('&') +
-            QString(" (%1)").arg(m_pActionEditNetworkNAT->shortcut().toString()));
+        m_pActionAddNetworkNAT->setText(tr("Add NAT Network"));
+        m_pActionDelNetworkNAT->setText(tr("Remove NAT Network"));
+        m_pActionEditNetworkNAT->setText(tr("Edit NAT Network"));
+
+        m_pActionAddNetworkNAT->setWhatsThis(tr("Adds new NAT network."));
+        m_pActionDelNetworkNAT->setWhatsThis(tr("Removes selected NAT network."));
+        m_pActionEditNetworkNAT->setWhatsThis(tr("Edits selected NAT network."));
+
+        m_pActionAddNetworkNAT->setToolTip(m_pActionAddNetworkNAT->whatsThis());
+        m_pActionDelNetworkNAT->setToolTip(m_pActionDelNetworkNAT->whatsThis());
+        m_pActionEditNetworkNAT->setToolTip(m_pActionEditNetworkNAT->whatsThis());
     }
 
     /* Host networks: */
     {
         /* Translate action text: */
-        m_pActionAddNetworkHost->setText(tr("&Add host-only network"));
-        m_pActionDelNetworkHost->setText(tr("&Remove host-only network"));
-        m_pActionEditNetworkHost->setText(tr("&Edit host-only network"));
-
-        /* Recompose action tool-tips: */
-        m_pActionAddNetworkHost->setToolTip(m_pActionAddNetworkHost->text().remove('&') +
-            QString(" (%1)").arg(m_pActionAddNetworkHost->shortcut().toString()));
-        m_pActionDelNetworkHost->setToolTip(m_pActionDelNetworkHost->text().remove('&') +
-            QString(" (%1)").arg(m_pActionDelNetworkHost->shortcut().toString()));
-        m_pActionEditNetworkHost->setToolTip(m_pActionEditNetworkHost->text().remove('&') +
-            QString(" (%1)").arg(m_pActionEditNetworkHost->shortcut().toString()));
+        m_pActionAddNetworkHost->setText(tr("Add Host-only Network"));
+        m_pActionDelNetworkHost->setText(tr("Remove Host-only Network"));
+        m_pActionEditNetworkHost->setText(tr("Edit Host-only Network"));
+
+        m_pActionAddNetworkHost->setWhatsThis(tr("Adds new host-only network."));
+        m_pActionDelNetworkHost->setWhatsThis(tr("Removes selected host-only network."));
+        m_pActionEditNetworkHost->setWhatsThis(tr("Edits selected host-only network."));
+
+        m_pActionAddNetworkHost->setToolTip(m_pActionAddNetworkHost->whatsThis());
+        m_pActionDelNetworkHost->setToolTip(m_pActionDelNetworkHost->whatsThis());
+        m_pActionEditNetworkHost->setToolTip(m_pActionEditNetworkHost->whatsThis());
     }
 }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsHost.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsHost.ui
index c1cbb2c..2ff9e65 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsHost.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsHost.ui
@@ -51,7 +51,7 @@
           <bool>true</bool>
          </property>
          <property name="toolTip">
-          <string>Use manual configuration for this host-only network adapter.</string>
+          <string>When checked, manual configuration will be used for this network adapter.</string>
          </property>
         </widget>
        </item>
@@ -185,7 +185,7 @@
           <string>&Enable Server</string>
          </property>
          <property name="toolTip">
-          <string>Indicates whether the DHCP Server is enabled on machine startup or not.</string>
+          <string>When checked, the DHCP Server will be enabled for this network on machine startup.</string>
          </property>
         </widget>
        </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui
index 09c6483..e9204ce 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsNetworkDetailsNAT.ui
@@ -24,7 +24,7 @@
       <string>&Enable Network</string>
      </property>
      <property name="toolTip">
-      <string>Enable this NAT network.</string>
+      <string>When checked, this network will be enabled.</string>
      </property>
     </widget>
    </item>
@@ -103,7 +103,7 @@
          <string>Supports &DHCP</string>
         </property>
         <property name="toolTip">
-         <string>Determines whether this network supports DHCP.</string>
+         <string>When checked, this network will support DHCP.</string>
         </property>
        </widget>
       </item>
@@ -113,7 +113,7 @@
          <string>Supports &IPv6</string>
         </property>
         <property name="toolTip">
-         <string>Determines whether this network supports IPv6.</string>
+         <string>When checked, this network will support IPv6.</string>
         </property>
        </widget>
       </item>
@@ -123,14 +123,14 @@
          <string>Advertise Default IPv6 &Route</string>
         </property>
         <property name="toolTip">
-         <string>Determines whether this network should be advertised as the default IPv6 route.</string>
+         <string>When checked, this network will be advertised as the default IPv6 route.</string>
         </property>
        </widget>
       </item>
       <item row="5" column="2">
        <widget class="QPushButton" name="m_pButtonPortForwarding">
         <property name="whatsThis">
-         <string>Opens a window to manage port forwarding rules.</string>
+         <string>Displays a window to configure port forwarding rules.</string>
         </property>
         <property name="text">
          <string>&Port Forwarding</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.ui
index be200ff..078fa18 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsProxy.ui
@@ -72,7 +72,7 @@
       <item>
        <widget class="QILineEdit" name="m_pHostEditor">
         <property name="whatsThis">
-         <string>Changes the proxy host.</string>
+         <string>Holds the proxy host.</string>
         </property>
        </widget>
       </item>
@@ -92,7 +92,7 @@
       <item>
        <widget class="QILineEdit" name="m_pPortEditor">
         <property name="whatsThis">
-         <string>Changes the proxy port.</string>
+         <string>Holds the proxy port.</string>
         </property>
        </widget>
       </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.ui b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.ui
index 1e9a03d..a0e776a 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/global/UIGlobalSettingsUpdate.ui
@@ -68,7 +68,7 @@
         <item>
          <widget class="QComboBox" name="m_pComboBoxUpdatePeriod">
           <property name="whatsThis">
-           <string>Specifies how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</string>
+           <string>Selects how often the new version check should be performed. Note that if you want to completely disable this check, just clear the above check box.</string>
           </property>
           <property name="sizePolicy">
            <sizepolicy vsizetype="Fixed" hsizetype="Minimum">
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.ui
index 445e7e8..70a4d0c 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsAudio.ui
@@ -72,7 +72,7 @@
             </sizepolicy>
            </property>
            <property name="whatsThis">
-            <string>Controls the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</string>
+            <string>Selects the audio output driver. The <b>Null Audio Driver</b> makes the guest see an audio card, however every access to it will be ignored.</string>
            </property>
           </widget>
          </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
index 2e7240d..375e21e 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.cpp
@@ -355,7 +355,7 @@ bool UIMachineSettingsDisplay::validate(QList<UIValidationMessage> &messages)
             if ((quint64)m_pEditorVideoMemorySize->value() * _1M < uNeedBytes)
             {
                 message.second << tr("The virtual machine is currently assigned less than <b>%1</b> of video memory "
-                                     "which is the minimum amount required to switch to fullscreen or seamless mode.")
+                                     "which is the minimum amount required to switch to full-screen or seamless mode.")
                                      .arg(vboxGlobal().formatSize(uNeedBytes, 0, FormatSize_RoundUp));
             }
 #ifdef VBOX_WITH_VIDEOHWACCEL
@@ -492,10 +492,13 @@ void UIMachineSettingsDisplay::retranslateUi()
 
     /* Screen stuff: */
     CSystemProperties sys = vboxGlobal().virtualBox().GetSystemProperties();
-    m_pLabelVideoMemorySizeMin->setText(tr("<qt>%1 MB</qt>").arg(m_iMinVRAM));
-    m_pLabelVideoMemorySizeMax->setText(tr("<qt>%1 MB</qt>").arg(m_iMaxVRAMVisible));
-    m_pLabelVideoScreenCountMin->setText(tr("<qt>%1</qt>").arg(1));
-    m_pLabelVideoScreenCountMax->setText(tr("<qt>%1</qt>").arg(qMin(sys.GetMaxGuestMonitors(), (ULONG)8)));
+    m_pEditorVideoMemorySize->setSuffix(QString(" %1").arg(tr("MB")));
+    m_pLabelVideoMemorySizeMin->setText(tr("%1 MB").arg(m_iMinVRAM));
+    m_pLabelVideoMemorySizeMax->setText(tr("%1 MB").arg(m_iMaxVRAMVisible));
+    m_pLabelVideoScreenCountMin->setText(QString::number(1));
+    m_pLabelVideoScreenCountMax->setText(QString::number(qMin(sys.GetMaxGuestMonitors(), (ULONG)8)));
+    m_pLabelGuestScreenScaleMin->setText(tr("%1%").arg(100));
+    m_pLabelGuestScreenScaleMax->setText(tr("%1%").arg(200));
 
     /* Remote Display stuff: */
     m_pComboRemoteDisplayAuthMethod->setItemText(0, gpConverter->toString(KAuthType_Null));
@@ -503,14 +506,14 @@ void UIMachineSettingsDisplay::retranslateUi()
     m_pComboRemoteDisplayAuthMethod->setItemText(2, gpConverter->toString(KAuthType_Guest));
 
     /* Video Capture stuff: */
+    m_pEditorVideoCaptureFrameRate->setSuffix(QString(" %1").arg(tr("fps")));
+    m_pEditorVideoCaptureBitRate->setSuffix(QString(" %1").arg(tr("kbps")));
     m_pComboVideoCaptureSize->setItemText(0, tr("User Defined"));
     m_pLabelVideoCaptureFrameRateMin->setText(tr("%1 fps").arg(m_pSliderVideoCaptureFrameRate->minimum()));
     m_pLabelVideoCaptureFrameRateMax->setText(tr("%1 fps").arg(m_pSliderVideoCaptureFrameRate->maximum()));
-    m_pLabelVideoCaptureFrameRateUnits->setText(tr("fps"));
     m_pLabelVideoCaptureQualityMin->setText(tr("low", "quality"));
     m_pLabelVideoCaptureQualityMed->setText(tr("medium", "quality"));
     m_pLabelVideoCaptureQualityMax->setText(tr("high", "quality"));
-    m_pLabelVideoCaptureBitRateUnits->setText(tr("kbps"));
 
     updateVideoCaptureSizeHint();
 }
@@ -526,7 +529,6 @@ void UIMachineSettingsDisplay::polishPage()
     m_pLabelVideoMemorySizeMin->setEnabled(isMachineOffline());
     m_pLabelVideoMemorySizeMax->setEnabled(isMachineOffline());
     m_pEditorVideoMemorySize->setEnabled(isMachineOffline());
-    m_pLabelVideoMemoryUnit->setEnabled(isMachineOffline());
     m_pLabelVideoScreenCount->setEnabled(isMachineOffline());
     m_pSliderVideoScreenCount->setEnabled(isMachineOffline());
     m_pLabelVideoScreenCountMin->setEnabled(isMachineOffline());
@@ -659,12 +661,10 @@ void UIMachineSettingsDisplay::sltHandleVideoCaptureCheckboxToggle()
     m_pLabelVideoCaptureFrameRate->setEnabled(fIsVideoCaptureOptionsEnabled);
     m_pContainerSliderVideoCaptureFrameRate->setEnabled(fIsVideoCaptureOptionsEnabled);
     m_pEditorVideoCaptureFrameRate->setEnabled(fIsVideoCaptureOptionsEnabled);
-    m_pLabelVideoCaptureFrameRateUnits->setEnabled(fIsVideoCaptureOptionsEnabled);
 
     m_pLabelVideoCaptureRate->setEnabled(fIsVideoCaptureOptionsEnabled);
     m_pContainerSliderVideoCaptureQuality->setEnabled(fIsVideoCaptureOptionsEnabled);
     m_pEditorVideoCaptureBitRate->setEnabled(fIsVideoCaptureOptionsEnabled);
-    m_pLabelVideoCaptureBitRateUnits->setEnabled(fIsVideoCaptureOptionsEnabled);
 
     m_pLabelVideoCaptureScreens->setEnabled(fIsVideoCaptureScreenOptionEnabled);
     m_pLabelVideoCaptureSizeHint->setEnabled(fIsVideoCaptureScreenOptionEnabled);
@@ -976,7 +976,7 @@ void UIMachineSettingsDisplay::checkVRAMRequirements()
     m_pSliderVideoMemorySize->setPageStep(calcPageStep(m_iMaxVRAMVisible));
     m_pSliderVideoMemorySize->setWarningHint(1, qMin((int)uNeedMBytes, m_iMaxVRAMVisible));
     m_pSliderVideoMemorySize->setOptimalHint(qMin((int)uNeedMBytes, m_iMaxVRAMVisible), m_iMaxVRAMVisible);
-    m_pLabelVideoMemorySizeMax->setText(tr("<qt>%1 MB</qt>").arg(m_iMaxVRAMVisible));
+    m_pLabelVideoMemorySizeMax->setText(tr("%1 MB").arg(m_iMaxVRAMVisible));
 }
 
 bool UIMachineSettingsDisplay::shouldWeWarnAboutLowVideoMemory()
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.ui
index 2f6af32..92763f0 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsDisplay.ui
@@ -89,13 +89,6 @@
             </property>
            </widget>
           </item>
-          <item row="0" column="3">
-           <widget class="QLabel" name="m_pLabelVideoMemoryUnit">
-            <property name="text">
-             <string>MB</string>
-            </property>
-           </widget>
-          </item>
           <item row="2" column="0">
            <widget class="QLabel" name="m_pLabelVideoScreenCount">
             <property name="text">
@@ -178,11 +171,7 @@
              </widget>
             </item>
             <item row="1" column="0">
-             <widget class="QLabel" name="m_pLabelGuestScreenScaleMin">
-              <property name="text">
-               <string>100%</string>
-              </property>
-             </widget>
+             <widget class="QLabel" name="m_pLabelGuestScreenScaleMin"/>
             </item>
             <item row="1" column="1">
              <spacer name="m_pSpacerGuestScreenScale">
@@ -198,11 +187,7 @@
              </spacer>
             </item>
             <item row="1" column="2">
-             <widget class="QLabel" name="m_pLabelGuestScreenScaleMax">
-              <property name="text">
-               <string>200%</string>
-              </property>
-             </widget>
+             <widget class="QLabel" name="m_pLabelGuestScreenScaleMax"/>
             </item>
            </layout>
           </item>
@@ -219,14 +204,14 @@
           <item row="6" column="0">
            <widget class="QLabel" name="m_pLabelHiDPI">
             <property name="text">
-             <string>HiDPI:</string>
+             <string>HiDPI Support:</string>
             </property>
             <property name="alignment">
              <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
             </property>
            </widget>
           </item>
-          <item row="6" column="1" colspan="2">
+          <item row="6" column="1">
            <widget class="QCheckBox" name="m_pCheckBoxUnscaledHiDPIOutput">
             <property name="sizePolicy">
              <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding">
@@ -252,7 +237,7 @@
             </property>
            </widget>
           </item>
-          <item row="7" column="1" colspan="2">
+          <item row="7" column="1">
            <widget class="QCheckBox" name="m_pCheckbox3D">
             <property name="sizePolicy">
              <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -268,7 +253,7 @@
             </property>
            </widget>
           </item>
-          <item row="8" column="1" colspan="2">
+          <item row="8" column="1">
            <widget class="QCheckBox" name="m_pCheckbox2DVideo">
             <property name="sizePolicy">
              <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -358,7 +343,7 @@
              <item row="0" column="1">
               <widget class="QLineEdit" name="m_pEditorRemoteDisplayPort">
                <property name="whatsThis">
-                <string>The VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</string>
+                <string>Holds the VRDP Server port number. You may specify <tt>0</tt> (zero), to select port 3389, the standard port for RDP.</string>
                </property>
               </widget>
              </item>
@@ -378,7 +363,7 @@
              <item row="1" column="1">
               <widget class="QComboBox" name="m_pComboRemoteDisplayAuthMethod">
                <property name="whatsThis">
-                <string>Defines the VRDP authentication method.</string>
+                <string>Selects the VRDP authentication method.</string>
                </property>
               </widget>
              </item>
@@ -398,7 +383,7 @@
              <item row="2" column="1">
               <widget class="QLineEdit" name="m_pEditorRemoteDisplayTimeout">
                <property name="whatsThis">
-                <string>Specifies the timeout for guest authentication, in milliseconds.</string>
+                <string>Holds the timeout for guest authentication, in milliseconds.</string>
                </property>
               </widget>
              </item>
@@ -421,7 +406,7 @@
                 </sizepolicy>
                </property>
                <property name="whatsThis">
-                <string>Specifies whether multiple simultaneous connections to the VM are permitted.</string>
+                <string>When checked, multiple simultaneous connections to the VM are permitted.</string>
                </property>
                <property name="text">
                 <string>&Allow Multiple Connections</string>
@@ -508,7 +493,7 @@
              <item row="0" column="1" colspan="3">
               <widget class="VBoxFilePathSelectorWidget" name="m_pEditorVideoCapturePath">
                <property name="whatsThis">
-                <string>This setting determines the filename VirtualBox uses to save the recorded content.</string>
+                <string>Holds the filename VirtualBox uses to save the recorded content.</string>
                </property>
               </widget>
              </item>
@@ -534,21 +519,21 @@
                 </sizepolicy>
                </property>
                <property name="whatsThis">
-                <string>This setting determines the resolution (frame size) of the recorded video.</string>
+                <string>Selects the resolution (frame size) of the recorded video.</string>
                </property>
               </widget>
              </item>
              <item row="1" column="2">
               <widget class="QSpinBox" name="m_pEditorVideoCaptureWidth">
                <property name="whatsThis">
-                <string>This setting determines the <b>horizontal</b> resolution (frame width) of the recorded video.</string>
+                <string>Holds the <b>horizontal</b> resolution (frame width) of the recorded video.</string>
                </property>
               </widget>
              </item>
              <item row="1" column="3">
               <widget class="QSpinBox" name="m_pEditorVideoCaptureHeight">
                <property name="whatsThis">
-                <string>This setting determines the <b>vertical</b> resolution (frame height) of the recorded video.</string>
+                <string>Holds the <b>vertical</b> resolution (frame height) of the recorded video.</string>
                </property>
               </widget>
              </item>
@@ -574,7 +559,7 @@
                 <item row="0" column="0" colspan="3">
                  <widget class="QIAdvancedSlider" name="m_pSliderVideoCaptureFrameRate">
                   <property name="whatsThis">
-                   <string>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</string>
+                   <string>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</string>
                   </property>
                   <property name="orientation">
                    <enum>Qt::Horizontal</enum>
@@ -603,16 +588,13 @@
                </layout>
               </widget>
              </item>
-             <item row="2" column="2">
+             <item row="2" column="2" colspan="2">
               <widget class="QSpinBox" name="m_pEditorVideoCaptureFrameRate">
                <property name="whatsThis">
-                <string>This setting determines the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</string>
+                <string>Controls the maximum number of <b>frames per second</b>. Additional frames will be skipped. Reducing this value will increase the number of skipped frames and reduce the file size.</string>
                </property>
               </widget>
              </item>
-             <item row="2" column="3">
-              <widget class="QLabel" name="m_pLabelVideoCaptureFrameRateUnits"/>
-             </item>
              <item row="4" column="0">
               <widget class="QLabel" name="m_pLabelVideoCaptureRate">
                <property name="text">
@@ -635,7 +617,7 @@
                 <item row="0" column="0" colspan="5">
                  <widget class="QIAdvancedSlider" name="m_pSliderVideoCaptureQuality">
                   <property name="whatsThis">
-                   <string>This setting determines the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</string>
+                   <string>Controls the <b>quality</b>. Increasing this value will make the video look better at the cost of an increased file size.</string>
                   </property>
                   <property name="orientation">
                    <enum>Qt::Horizontal</enum>
@@ -680,16 +662,13 @@
                </layout>
               </widget>
              </item>
-             <item row="4" column="2">
+             <item row="4" column="2" colspan="2">
               <widget class="QSpinBox" name="m_pEditorVideoCaptureBitRate">
                <property name="whatsThis">
-                <string>This setting determines the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</string>
+                <string>Holds the bitrate in <b>kilobits per second</b>. Increasing this value will make the video look better at the cost of an increased file size.</string>
                </property>
               </widget>
              </item>
-             <item row="4" column="3">
-              <widget class="QLabel" name="m_pLabelVideoCaptureBitRateUnits"/>
-             </item>
              <item row="6" column="1">
               <widget class="QLabel" name="m_pLabelVideoCaptureSizeHint"/>
              </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp
index 3fd42d3..6316bb6 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.cpp
@@ -478,7 +478,7 @@ void UIMachineSettingsGeneral::retranslateUi()
     AssertPtrReturnVoid(mPsSnapshot);
     mPsSnapshot->setWhatsThis(tr("Holds the path where snapshots of this "
                                  "virtual machine will be stored. Be aware that "
-                                 "snapshots can take quite a lot of disk space."));
+                                 "snapshots can take quite a lot of storage space."));
     /* Translate Shared Clipboard mode combo: */
     AssertPtrReturnVoid(mCbClipboard);
     mCbClipboard->setItemText(0, gpConverter->toString(KClipboardMode_Disabled));
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.ui
index e2f7a82..f22f4a8 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsGeneral.ui
@@ -275,7 +275,7 @@
           <item row="0" column="1">
            <widget class="QComboBox" name="m_pComboCipher">
             <property name="whatsThis" >
-             <string>Holds the cipher to be used for encrypting the virtual machine disks.</string>
+             <string>Selects the cipher to be used for encrypting the virtual machine disks.</string>
             </property>
            </widget>
           </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.ui
index 93c4c73..ce20d61 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsInterface.ui
@@ -55,10 +55,10 @@
       </sizepolicy>
      </property>
      <property name="whatsThis">
-      <string>If checked, show the Mini ToolBar in Fullscreen and Seamless modes.</string>
+      <string>When checked, show the Mini ToolBar in full-screen and seamless modes.</string>
      </property>
      <property name="text">
-      <string>Show in &Fullscreen/Seamless</string>
+      <string>Show in &Full-screen/Seamless</string>
      </property>
      <property name="checked">
       <bool>true</bool>
@@ -74,7 +74,7 @@
       </sizepolicy>
      </property>
      <property name="whatsThis">
-      <string>If checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</string>
+      <string>When checked, show the Mini ToolBar at the top of the screen, rather than in its default position at the bottom of the screen.</string>
      </property>
      <property name="text">
       <string>Show at &Top of Screen</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp
index 9430a2f..f0a3764 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp
@@ -60,12 +60,16 @@ UIMachineSettingsNetwork::UIMachineSettingsNetwork(UIMachineSettingsNetworkPage
     /* Apply UI decorations: */
     Ui::UIMachineSettingsNetwork::setupUi(this);
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize) * .625;
+
     /* Setup widgets: */
     m_pAdapterNameCombo->setInsertPolicy(QComboBox::NoInsert);
     m_pMACEditor->setValidator(new QRegExpValidator(QRegExp("[0-9A-Fa-f]{12}"), this));
     m_pMACEditor->setMinimumWidthByText(QString().fill('0', 12));
     m_pMACButton->setIcon(UIIconPool::iconSet(":/refresh_16px.png"));
-    m_pAdvancedArrow->setIconSize(QSize(10, 10));
+    m_pAdvancedArrow->setIconSize(QSize(iIconMetric, iIconMetric));
     m_pAdvancedArrow->setIconForButtonState(QIArrowButtonSwitch::ButtonState_Collapsed,
                                             UIIconPool::iconSet(":/arrow_right_10px.png"));
     m_pAdvancedArrow->setIconForButtonState(QIArrowButtonSwitch::ButtonState_Expanded,
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui
index d4feb2a..e6169e6 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui
@@ -77,7 +77,7 @@
          </sizepolicy>
         </property>
         <property name="whatsThis">
-         <string>Controls how this virtual adapter is attached to the real network of the Host OS.</string>
+         <string>Selects how this virtual adapter is attached to the real network of the Host OS.</string>
         </property>
        </widget>
       </item>
@@ -128,7 +128,7 @@
            <string>A&dvanced</string>
           </property>
           <property name="whatsThis">
-           <string>Shows or hides additional network adapter options.</string>
+           <string>Shows additional network adapter options.</string>
           </property>
          </widget>
         </item>
@@ -232,14 +232,14 @@
       <item row="6" column="1" colspan="3">
        <widget class="QTextEdit" name="m_pGenericPropertiesTextEdit">
         <property name="whatsThis">
-         <string>Enter any configuration settings here for the network attachment driver you will be using. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</string>
+         <string>Holds the configuration settings for the network attachment driver. The settings should be of the form <b>name=value</b> and will depend on the driver. Use <b>shift-enter</b> to add a new entry.</string>
         </property>
        </widget>
       </item>
       <item row="7" column="1" colspan="3">
        <widget class="QCheckBox" name="m_pCableConnectedCheckBox">
         <property name="whatsThis">
-         <string>Indicates whether the virtual network cable is plugged in on machine startup or not.</string>
+         <string>When checked, the virtual network cable is plugged in.</string>
         </property>
         <property name="text">
          <string>&Cable Connected</string>
@@ -249,7 +249,7 @@
       <item row="8" column="1">
        <widget class="QPushButton" name="m_pPortForwardingButton">
         <property name="whatsThis">
-         <string>Opens a window to manage port forwarding rules.</string>
+         <string>Displays a window to configure port forwarding rules.</string>
         </property>
         <property name="text">
          <string>&Port Forwarding</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp
index a1edcda..fa145b4 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp
@@ -359,27 +359,27 @@ bool UIMachineSettingsParallelPage::validate(QList<UIValidationMessage> &message
 
         if (strIRQ.isEmpty())
         {
-            message.second << tr("No IRQ is currently specified.");
+            message.second << UIMachineSettingsParallel::tr("No IRQ is currently specified.");
             fPass = false;
         }
         if (strIOPort.isEmpty())
         {
-            message.second << tr("No I/O port is currently specified.");
+            message.second << UIMachineSettingsParallel::tr("No I/O port is currently specified.");
             fPass = false;
         }
         if (ports.contains(pair))
         {
-            message.second << tr("Two or more ports have the same settings.");
+            message.second << UIMachineSettingsParallel::tr("Two or more ports have the same settings.");
             fPass = false;
         }
         if (strPath.isEmpty())
         {
-            message.second << tr("No port path is currently specified.");
+            message.second << UIMachineSettingsParallel::tr("No port path is currently specified.");
             fPass = false;
         }
         if (paths.contains(strPath))
         {
-            message.second << tr("There are currently duplicate port paths specified.");
+            message.second << UIMachineSettingsParallel::tr("There are currently duplicate port paths specified.");
             fPass = false;
         }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSF.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSF.cpp
index 9210046..950f06f 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSF.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSF.cpp
@@ -191,8 +191,12 @@ UIMachineSettingsSF::UIMachineSettingsSF()
     mDelAction->setIcon(UIIconPool::iconSet(":/sf_remove_16px.png",
                                             ":/sf_remove_disabled_16px.png"));
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Prepare tool-bar: */
-    m_pFoldersToolBar->setIconSize(QSize(16, 16));
+    m_pFoldersToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
     m_pFoldersToolBar->setOrientation(Qt::Vertical);
     m_pFoldersToolBar->addAction(mNewAction);
     m_pFoldersToolBar->addAction(mEdtAction);
@@ -403,27 +407,24 @@ void UIMachineSettingsSF::setOrderAfter (QWidget *aWidget)
 
 void UIMachineSettingsSF::retranslateUi()
 {
-    /* Translate uic generated strings */
-    Ui::UIMachineSettingsSF::retranslateUi (this);
-
-    mNewAction->setText (tr ("&Add Shared Folder"));
-    mEdtAction->setText (tr ("&Edit Shared Folder"));
-    mDelAction->setText (tr ("&Remove Shared Folder"));
-
-    mNewAction->setToolTip (mNewAction->text().remove ('&') +
-        QString (" (%1)").arg (mNewAction->shortcut().toString()));
-    mEdtAction->setToolTip (mEdtAction->text().remove ('&') +
-        QString (" (%1)").arg (mEdtAction->shortcut().toString()));
-    mDelAction->setToolTip (mDelAction->text().remove ('&') +
-        QString (" (%1)").arg (mDelAction->shortcut().toString()));
-
-    mNewAction->setWhatsThis (tr ("Adds a new shared folder definition."));
-    mEdtAction->setWhatsThis (tr ("Edits the selected shared folder definition."));
-    mDelAction->setWhatsThis (tr ("Removes the selected shared folder definition."));
-
-    mTrFull = tr ("Full");
-    mTrReadOnly = tr ("Read-only");
-    mTrYes = tr ("Yes"); /** @todo Need to figure out if this string is necessary at all! */
+    /* Translate uic generated strings: */
+    Ui::UIMachineSettingsSF::retranslateUi(this);
+
+    mNewAction->setText(tr("Add Shared Folder"));
+    mEdtAction->setText(tr("Edit Shared Folder"));
+    mDelAction->setText(tr("Remove Shared Folder"));
+
+    mNewAction->setWhatsThis(tr("Adds new shared folder."));
+    mEdtAction->setWhatsThis(tr("Edits selected shared folder."));
+    mDelAction->setWhatsThis(tr("Removes selected shared folder."));
+
+    mNewAction->setToolTip(mNewAction->whatsThis());
+    mEdtAction->setToolTip(mEdtAction->whatsThis());
+    mDelAction->setToolTip(mDelAction->whatsThis());
+
+    mTrFull = tr("Full");
+    mTrReadOnly = tr("Read-only");
+    mTrYes = tr("Yes");
 }
 
 void UIMachineSettingsSF::addTriggered()
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSFDetails.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSFDetails.ui
index 3e973c1..cba45d8 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSFDetails.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSFDetails.ui
@@ -76,7 +76,7 @@
    <item row="4" column="1" >
     <widget class="QCheckBox" name="mCbPermanent" >
      <property name="toolTip" >
-      <string>If checked, this shared folder will be permanent.</string>
+      <string>When checked, this shared folder will be permanent.</string>
      </property>
      <property name="text" >
       <string>&Make Permanent</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
index e69579f..e934d4f 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
@@ -404,17 +404,17 @@ bool UIMachineSettingsSerialPage::validate(QList<UIValidationMessage> &messages)
 
         if (strIRQ.isEmpty())
         {
-            message.second << tr("No IRQ is currently specified.");
+            message.second << UIMachineSettingsSerial::tr("No IRQ is currently specified.");
             fPass = false;
         }
         if (strIOPort.isEmpty())
         {
-            message.second << tr("No I/O port is currently specified.");
+            message.second << UIMachineSettingsSerial::tr("No I/O port is currently specified.");
             fPass = false;
         }
         if (ports.contains(pair))
         {
-            message.second << tr("Two or more ports have the same settings.");
+            message.second << UIMachineSettingsSerial::tr("Two or more ports have the same settings.");
             fPass = false;
         }
 
@@ -427,12 +427,12 @@ bool UIMachineSettingsSerialPage::validate(QList<UIValidationMessage> &messages)
 
             if (strPath.isEmpty())
             {
-                message.second << tr("No port path is currently specified.");
+                message.second << UIMachineSettingsSerial::tr("No port path is currently specified.");
                 fPass = false;
             }
             if (paths.contains(strPath))
             {
-                message.second << tr("There are currently duplicate port paths specified.");
+                message.second << UIMachineSettingsSerial::tr("There are currently duplicate port paths specified.");
                 fPass = false;
             }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.ui
index f86baac..d48b95b 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.ui
@@ -156,7 +156,7 @@
       <item row="1" column="1" >
        <widget class="QComboBox" name="mCbMode" >
         <property name="whatsThis" >
-         <string>Controls the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</string>
+         <string>Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest OS will detect the serial port but will not be able to operate it.</string>
         </property>
        </widget>
       </item>
@@ -176,7 +176,7 @@
       <item row="2" column="1" colspan="5" >
        <widget class="QCheckBox" name="mCbPipe" >
         <property name="whatsThis" >
-         <string>If checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</string>
+         <string>When checked, the virtual machine will assume that the pipe or socket specified in the <b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be created by the virtual machine when it starts.</string>
         </property>
         <property name="text" >
          <string>&Connect to existing pipe/socket</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
index 2d82b7f..c1c9f2e 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
@@ -122,8 +122,12 @@ QPixmap UIIconPoolStorageSettings::pixmap(PixmapType pixmapType) const
                     ("Undefined icon for type '%s'.", (int)pixmapType),
                     nullPixmap);
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Return pixmap of first available size: */
-    return icon.pixmap(availableSizes.first());
+    return icon.pixmap(QSize(iIconMetric, iIconMetric));
 }
 
 QIcon UIIconPoolStorageSettings::icon(PixmapType pixmapType,
@@ -905,7 +909,7 @@ void AttachmentItem::cache()
             case KDeviceType_DVD:
             case KDeviceType_Floppy:
             {
-                mAttFormat = mAttIsHostDrive ? UIMachineSettingsStorage::tr("Host Drive") : UIMachineSettingsStorage::tr("Image");
+                mAttFormat = mAttIsHostDrive ? UIMachineSettingsStorage::tr("Host Drive") : UIMachineSettingsStorage::tr("Image", "storage image");
                 break;
             }
             default:
@@ -1072,16 +1076,16 @@ QVariant StorageModel::data (const QModelIndex &aIndex, int aRole) const
                     {
                         case ExpanderToolTip:
                             if (aIndex.child (0, 0).isValid())
-                                tip = UIMachineSettingsStorage::tr ("<nobr>Expand/Collapse Item</nobr>");
+                                tip = UIMachineSettingsStorage::tr("<nobr>Expands/Collapses item.</nobr>");
                             break;
                         case HDAdderToolTip:
-                            tip = UIMachineSettingsStorage::tr ("<nobr>Add Hard Disk</nobr>");
+                            tip = UIMachineSettingsStorage::tr("<nobr>Adds hard disk.</nobr>");
                             break;
                         case CDAdderToolTip:
-                            tip = UIMachineSettingsStorage::tr ("<nobr>Add Optical Drive</nobr>");
+                            tip = UIMachineSettingsStorage::tr("<nobr>Adds optical drive.</nobr>");
                             break;
                         case FDAdderToolTip:
-                            tip = UIMachineSettingsStorage::tr ("<nobr>Add Floppy Drive</nobr>");
+                            tip = UIMachineSettingsStorage::tr("<nobr>Adds floppy drive.</nobr>");
                             break;
                         default:
                             break;
@@ -1418,7 +1422,7 @@ QVariant StorageModel::data (const QModelIndex &aIndex, int aRole) const
         }
         case R_IconSize:
         {
-            return 16;
+            return QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
         }
 
         case R_HDPixmapEn:
@@ -2024,8 +2028,12 @@ UIMachineSettingsStorage::UIMachineSettingsStorage()
     mTwStorageTree->setRootIndex (mStorageModel->root());
     mTwStorageTree->setCurrentIndex (mStorageModel->root());
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Storage ToolBar */
-    mTbStorageBar->setIconSize (QSize (16, 16));
+    mTbStorageBar->setIconSize (QSize (iIconMetric, iIconMetric));
     mTbStorageBar->addAction (mAddAttAction);
     mTbStorageBar->addAction (mDelAttAction);
     mTbStorageBar->addAction (mAddCtrAction);
@@ -2433,46 +2441,37 @@ bool UIMachineSettingsStorage::validate(QList<UIValidationMessage> &messages)
 
 void UIMachineSettingsStorage::retranslateUi()
 {
-    /* Translate uic generated strings */
-    Ui::UIMachineSettingsStorage::retranslateUi (this);
-
-    mAddCtrAction->setShortcut (QKeySequence ("Ins"));
-    mDelCtrAction->setShortcut (QKeySequence ("Del"));
-    mAddAttAction->setShortcut (QKeySequence ("+"));
-    mDelAttAction->setShortcut (QKeySequence ("-"));
-
-    mAddCtrAction->setText (tr ("Add Controller"));
-    mAddIDECtrAction->setText (tr ("Add IDE Controller"));
-    mAddSATACtrAction->setText (tr ("Add SATA Controller"));
-    mAddSCSICtrAction->setText (tr ("Add SCSI Controller"));
-    mAddSASCtrAction->setText (tr ("Add SAS Controller"));
-    mAddFloppyCtrAction->setText (tr ("Add Floppy Controller"));
-    mAddUSBCtrAction->setText (tr ("Add USB Controller"));
-    mDelCtrAction->setText (tr ("Remove Controller"));
-    mAddAttAction->setText (tr ("Add Attachment"));
-    mAddHDAttAction->setText (tr ("Add Hard Disk"));
-    mAddCDAttAction->setText (tr ("Add Optical Drive"));
-    mAddFDAttAction->setText (tr ("Add Floppy Drive"));
-    mDelAttAction->setText (tr ("Remove Attachment"));
-
-    mAddCtrAction->setWhatsThis (tr ("Adds a new controller to the end of the Storage Tree."));
-    mDelCtrAction->setWhatsThis (tr ("Removes the controller highlighted in the Storage Tree."));
-    mAddAttAction->setWhatsThis (tr ("Adds a new attachment to the Storage Tree using "
-                                     "currently selected controller as parent."));
-    mDelAttAction->setWhatsThis (tr ("Removes the attachment highlighted in the Storage Tree."));
-
-    mAddCtrAction->setToolTip (QString ("<nobr>%1 (%2)")
-                               .arg (mAddCtrAction->text().remove ('&'))
-                               .arg (mAddCtrAction->shortcut().toString()));
-    mDelCtrAction->setToolTip (QString ("<nobr>%1 (%2)")
-                               .arg (mDelCtrAction->text().remove ('&'))
-                               .arg (mDelCtrAction->shortcut().toString()));
-    mAddAttAction->setToolTip (QString ("<nobr>%1 (%2)")
-                               .arg (mAddAttAction->text().remove ('&'))
-                               .arg (mAddAttAction->shortcut().toString()));
-    mDelAttAction->setToolTip (QString ("<nobr>%1 (%2)")
-                               .arg (mDelAttAction->text().remove ('&'))
-                               .arg (mDelAttAction->shortcut().toString()));
+    /* Translate uic generated strings: */
+    Ui::UIMachineSettingsStorage::retranslateUi(this);
+
+    mAddCtrAction->setShortcut(QKeySequence("Ins"));
+    mDelCtrAction->setShortcut(QKeySequence("Del"));
+    mAddAttAction->setShortcut(QKeySequence("+"));
+    mDelAttAction->setShortcut(QKeySequence("-"));
+
+    mAddCtrAction->setText(tr("Add Controller"));
+    mAddIDECtrAction->setText(tr("Add IDE Controller"));
+    mAddSATACtrAction->setText(tr("Add SATA Controller"));
+    mAddSCSICtrAction->setText(tr("Add SCSI Controller"));
+    mAddSASCtrAction->setText(tr("Add SAS Controller"));
+    mAddFloppyCtrAction->setText(tr("Add Floppy Controller"));
+    mAddUSBCtrAction->setText(tr("Add USB Controller"));
+    mDelCtrAction->setText(tr("Remove Controller"));
+    mAddAttAction->setText(tr("Add Attachment"));
+    mAddHDAttAction->setText(tr("Add Hard Disk"));
+    mAddCDAttAction->setText(tr("Add Optical Drive"));
+    mAddFDAttAction->setText(tr("Add Floppy Drive"));
+    mDelAttAction->setText(tr("Remove Attachment"));
+
+    mAddCtrAction->setWhatsThis(tr("Adds new storage controller."));
+    mDelCtrAction->setWhatsThis(tr("Removes selected storage controller."));
+    mAddAttAction->setWhatsThis(tr("Adds new storage attachment."));
+    mDelAttAction->setWhatsThis(tr("Removes selected storage attachment."));
+
+    mAddCtrAction->setToolTip(mAddCtrAction->whatsThis());
+    mDelCtrAction->setToolTip(mDelCtrAction->whatsThis());
+    mAddAttAction->setToolTip(mAddAttAction->whatsThis());
+    mDelAttAction->setToolTip(mDelAttAction->whatsThis());
 }
 
 void UIMachineSettingsStorage::showEvent (QShowEvent *aEvent)
@@ -2748,7 +2747,6 @@ void UIMachineSettingsStorage::getInformation()
                         mTbOpen->setIcon(iconPool()->icon(HDAttachmentNormal));
                         mTbOpen->setWhatsThis(tr("Choose or create a virtual hard disk file. The virtual machine will see "
                                                  "the data in the file as the contents of the virtual hard disk."));
-                        mTbOpen->setToolTip(tr("Set up the virtual hard disk"));
                         break;
                     case KDeviceType_DVD:
                         mLbMedium->setText(tr("Optical &Drive:"));
@@ -2756,7 +2754,6 @@ void UIMachineSettingsStorage::getInformation()
                         mTbOpen->setWhatsThis(tr("Choose a virtual optical disk or a physical drive to use with the virtual drive. "
                                                  "The virtual machine will see a disk inserted into the drive with the data "
                                                  "in the file or on the disk in the physical drive as its contents."));
-                        mTbOpen->setToolTip(tr("Set up the virtual optical drive"));
                         break;
                     case KDeviceType_Floppy:
                         mLbMedium->setText(tr("Floppy &Drive:"));
@@ -2764,7 +2761,6 @@ void UIMachineSettingsStorage::getInformation()
                         mTbOpen->setWhatsThis(tr("Choose a virtual floppy disk or a physical drive to use with the virtual drive. "
                                                  "The virtual machine will see a disk inserted into the drive with the data "
                                                  "in the file or on the disk in the physical drive as its contents."));
-                        mTbOpen->setToolTip(tr("Set up the virtual floppy drive"));
                         break;
                     default:
                         break;
@@ -2911,11 +2907,11 @@ void UIMachineSettingsStorage::sltPrepareOpenMediumMenu()
             case UIMediumType_HardDisk:
             {
                 /* Add "Create a new virtual hard disk" action: */
-                QAction *pCreateNewHardDisk = pOpenMediumMenu->addAction(tr("Create a new hard disk..."));
+                QAction *pCreateNewHardDisk = pOpenMediumMenu->addAction(tr("Create New Hard Disk..."));
                 pCreateNewHardDisk->setIcon(iconPool()->icon(HDNewEn, HDNewDis));
                 connect(pCreateNewHardDisk, SIGNAL(triggered(bool)), this, SLOT(sltCreateNewHardDisk()));
                 /* Add "Choose a virtual hard disk file" action: */
-                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose a virtual hard disk file..."));
+                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose Virtual Hard Disk File..."));
                 /* Add recent mediums list: */
                 addRecentMediumActions(pOpenMediumMenu, m_pMediumIdHolder->type());
                 break;
@@ -2923,14 +2919,14 @@ void UIMachineSettingsStorage::sltPrepareOpenMediumMenu()
             case UIMediumType_DVD:
             {
                 /* Add "Choose a virtual optical disk file" action: */
-                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose a virtual optical disk file..."));
+                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose Virtual Optical Disk File..."));
                 /* Add "Choose a physical drive" actions: */
                 addChooseHostDriveActions(pOpenMediumMenu);
                 /* Add recent mediums list: */
                 addRecentMediumActions(pOpenMediumMenu, m_pMediumIdHolder->type());
                 /* Add "Eject current medium" action: */
                 pOpenMediumMenu->addSeparator();
-                QAction *pEjectCurrentMedium = pOpenMediumMenu->addAction(tr("Remove disk from virtual drive"));
+                QAction *pEjectCurrentMedium = pOpenMediumMenu->addAction(tr("Remove Disk From Virtual Drive"));
                 pEjectCurrentMedium->setEnabled(!m_pMediumIdHolder->isNull());
                 pEjectCurrentMedium->setIcon(iconPool()->icon(CDUnmountEnabled, CDUnmountDisabled));
                 connect(pEjectCurrentMedium, SIGNAL(triggered(bool)), this, SLOT(sltUnmountDevice()));
@@ -2939,14 +2935,14 @@ void UIMachineSettingsStorage::sltPrepareOpenMediumMenu()
             case UIMediumType_Floppy:
             {
                 /* Add "Choose a virtual floppy disk file" action: */
-                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose a virtual floppy disk file..."));
+                addChooseExistingMediumAction(pOpenMediumMenu, tr("Choose Virtual Floppy Disk File..."));
                 /* Add "Choose a physical drive" actions: */
                 addChooseHostDriveActions(pOpenMediumMenu);
                 /* Add recent mediums list: */
                 addRecentMediumActions(pOpenMediumMenu, m_pMediumIdHolder->type());
                 /* Add "Eject current medium" action: */
                 pOpenMediumMenu->addSeparator();
-                QAction *pEjectCurrentMedium = pOpenMediumMenu->addAction(tr("Remove disk from virtual drive"));
+                QAction *pEjectCurrentMedium = pOpenMediumMenu->addAction(tr("Remove Disk From Virtual Drive"));
                 pEjectCurrentMedium->setEnabled(!m_pMediumIdHolder->isNull());
                 pEjectCurrentMedium->setIcon(iconPool()->icon(FDUnmountEnabled, FDUnmountDisabled));
                 connect(pEjectCurrentMedium, SIGNAL(triggered(bool)), this, SLOT(sltUnmountDevice()));
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.ui
index 306cb6a..1111782 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.ui
@@ -58,7 +58,7 @@
        <item>
         <layout class="QVBoxLayout" name="mLtStorage" >
          <property name="spacing" >
-          <number>0</number>
+          <number>3</number>
          </property>
          <property name="margin" >
           <number>0</number>
@@ -66,7 +66,7 @@
          <item>
           <widget class="QITreeView" native="1" name="mTwStorageTree" >
            <property name="whatsThis" >
-            <string>Contains all storage controllers for this machine and the virtual images and host drives attached to them.</string>
+            <string>Lists all storage controllers for this machine and the virtual images and host drives attached to them.</string>
            </property>
           </widget>
          </item>
@@ -178,7 +178,7 @@
         <item row="1" column="2" >
          <widget class="QLineEdit" name="mLeName" >
           <property name="whatsThis" >
-           <string>Changes the name of the storage controller currently selected in the Storage Tree.</string>
+           <string>Holds the name of the storage controller currently selected in the Storage Tree.</string>
           </property>
          </widget>
         </item>
@@ -237,7 +237,7 @@
         <item row="4" column="2" >
          <widget class="QCheckBox" name="mCbIoCache" >
           <property name="whatsThis" >
-           <string>Allows to use host I/O caching capabilities.</string>
+           <string>When checked, allows to use host I/O caching capabilities.</string>
           </property>
           <property name="text" >
            <string>Use Host I/O Cache</string>
@@ -362,7 +362,7 @@
              </sizepolicy>
             </property>
             <property name="whatsThis">
-             <string>When checked the virtual disk will not be removed when the guest system ejects it.</string>
+             <string>When checked, the virtual disk will not be removed when the guest system ejects it.</string>
             </property>
             <property name="text">
              <string>&Live CD/DVD</string>
@@ -378,7 +378,7 @@
              </sizepolicy>
             </property>
             <property name="whatsThis">
-             <string>When checked the guest system will see the virtual disk as a solid state device.</string>
+             <string>When checked, the guest system will see the virtual disk as a solid-state device.</string>
             </property>
             <property name="text">
              <string>&Solid-state Drive</string>
@@ -394,7 +394,7 @@
              </sizepolicy>
             </property>
             <property name="whatsThis">
-             <string>When checked the guest system will see the virtual disk as a hot-pluggable device.</string>
+             <string>When checked, the guest system will see the virtual disk as a hot-pluggable device.</string>
             </property>
             <property name="text">
              <string>&Hot-pluggable</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp
index 0c585f0..eaa31a0 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.cpp
@@ -443,16 +443,17 @@ void UIMachineSettingsSystem::retranslateUi()
     adjustBootOrderTWSize();
 
     /* Retranslate the memory slider legend: */
-    m_pLabelMemoryMin->setText(tr("<qt>%1 MB</qt>").arg(m_pSliderMemorySize->minRAM()));
-    m_pLabelMemoryMax->setText(tr("<qt>%1 MB</qt>").arg(m_pSliderMemorySize->maxRAM()));
+    m_pEditorMemorySize->setSuffix(QString(" %1").arg(tr("MB")));
+    m_pLabelMemoryMin->setText(tr("%1 MB").arg(m_pSliderMemorySize->minRAM()));
+    m_pLabelMemoryMax->setText(tr("%1 MB").arg(m_pSliderMemorySize->maxRAM()));
 
     /* Retranslate the cpu slider legend: */
-    m_pLabelCPUMin->setText(tr("<qt>%1 CPU</qt>", "%1 is 1 for now").arg(m_uMinGuestCPU));
-    m_pLabelCPUMax->setText(tr("<qt>%1 CPUs</qt>", "%1 is host cpu count * 2 for now").arg(m_uMaxGuestCPU));
+    m_pLabelCPUMin->setText(tr("%1 CPU", "%1 is 1 for now").arg(m_uMinGuestCPU));
+    m_pLabelCPUMax->setText(tr("%1 CPUs", "%1 is host cpu count * 2 for now").arg(m_uMaxGuestCPU));
 
     /* Retranslate the cpu cap slider legend: */
-    m_pLabelCPUExecCapMin->setText(tr("<qt>%1%</qt>", "Min CPU execution cap in %").arg(m_uMinGuestCPUExecCap));
-    m_pLabelCPUExecCapMax->setText(tr("<qt>%1%</qt>", "Max CPU execution cap in %").arg(m_uMaxGuestCPUExecCap));
+    m_pLabelCPUExecCapMin->setText(tr("%1%").arg(m_uMinGuestCPUExecCap));
+    m_pLabelCPUExecCapMax->setText(tr("%1%").arg(m_uMaxGuestCPUExecCap));
 
     /* Retranslate combo-boxes: */
     retranslateComboChipsetType();
@@ -469,7 +470,6 @@ void UIMachineSettingsSystem::polishPage()
     m_pLabelMemorySize->setEnabled(isMachineOffline());
     m_pLabelMemoryMin->setEnabled(isMachineOffline());
     m_pLabelMemoryMax->setEnabled(isMachineOffline());
-    m_pLabelMemoryUnits->setEnabled(isMachineOffline());
     m_pSliderMemorySize->setEnabled(isMachineOffline());
     m_pEditorMemorySize->setEnabled(isMachineOffline());
     m_pLabelBootOrder->setEnabled(isMachineOffline());
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui
index 5d795ac..5b1150a 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSystem.ui
@@ -87,22 +87,11 @@
         </widget>
        </item>
        <item row="0" column="3">
-        <layout class="QHBoxLayout">
-         <item>
-          <widget class="QSpinBox" name="m_pEditorMemorySize">
-           <property name="whatsThis">
-            <string>Controls the amount of memory provided to the virtual machine. If you assign too much, the machine might not start.</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QLabel" name="m_pLabelMemoryUnits">
-           <property name="text">
-            <string>MB</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
+        <widget class="QSpinBox" name="m_pEditorMemorySize">
+         <property name="whatsThis">
+          <string>Controls the amount of memory provided to the virtual machine. If you assign too much, the machine might not start.</string>
+         </property>
+        </widget>
        </item>
        <item row="2" column="0">
         <widget class="QLabel" name="m_pLabelBootOrder">
@@ -159,9 +148,6 @@
              <property name="focusPolicy">
               <enum>Qt::StrongFocus</enum>
              </property>
-             <property name="toolTip">
-              <string>Move Up (Ctrl-Up)</string>
-             </property>
              <property name="whatsThis">
               <string>Moves the selected boot device up.</string>
              </property>
@@ -179,9 +165,6 @@
              <property name="focusPolicy">
               <enum>Qt::StrongFocus</enum>
              </property>
-             <property name="toolTip">
-              <string>Move Down (Ctrl-Down)</string>
-             </property>
              <property name="whatsThis">
               <string>Moves the selected boot device down.</string>
              </property>
@@ -343,7 +326,7 @@
        <item row="8" column="1" colspan="3">
         <widget class="QCheckBox" name="m_pCheckBoxUseUTC" >
          <property name="whatsThis" >
-          <string>If checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</string>
+          <string>When checked, the RTC device will report the time in UTC, otherwise in local (host) time. Unix usually expects the hardware clock to be set to UTC.</string>
          </property>
          <property name="text" >
           <string>Hardware Clock in &UTC Time</string>
@@ -502,6 +485,9 @@
          <property name="whatsThis">
           <string>Limits the amount of time that each virtual CPU is allowed to run for. Each virtual CPU will be allowed to use up to this percentage of the processing time available on one physical CPU. The execution cap can be disabled by setting it to 100%. Setting the cap too low can make the machine feel slow to respond.</string>
          </property>
+         <property name="suffix">
+          <string>%</string>
+         </property>
         </widget>
        </item>
        <item row="4" column="0">
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp
index c6d2c74..49d212b 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp
@@ -186,8 +186,12 @@ UIMachineSettingsUSB::UIMachineSettingsUSB()
     mMdnAction->setIcon(UIIconPool::iconSet(":/usb_movedown_16px.png",
                                             ":/usb_movedown_disabled_16px.png"));
 
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Prepare tool-bar: */
-    m_pFiltersToolBar->setIconSize(QSize(16, 16));
+    m_pFiltersToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
     m_pFiltersToolBar->setOrientation(Qt::Vertical);
     m_pFiltersToolBar->addAction(mNewAction);
     m_pFiltersToolBar->addAction(mAddAction);
@@ -534,42 +538,33 @@ void UIMachineSettingsUSB::setOrderAfter (QWidget *aWidget)
 
 void UIMachineSettingsUSB::retranslateUi()
 {
-    /* Translate uic generated strings */
-    Ui::UIMachineSettingsUSB::retranslateUi (this);
-
-    mNewAction->setText (tr ("&Add Empty Filter"));
-    mAddAction->setText (tr ("A&dd Filter From Device"));
-    mEdtAction->setText (tr ("&Edit Filter"));
-    mDelAction->setText (tr ("&Remove Filter"));
-    mMupAction->setText (tr ("&Move Filter Up"));
-    mMdnAction->setText (tr ("M&ove Filter Down"));
-
-    mNewAction->setToolTip (mNewAction->text().remove ('&') +
-        QString (" (%1)").arg (mNewAction->shortcut().toString()));
-    mAddAction->setToolTip (mAddAction->text().remove ('&') +
-        QString (" (%1)").arg (mAddAction->shortcut().toString()));
-    mEdtAction->setToolTip (mEdtAction->text().remove ('&') +
-        QString (" (%1)").arg (mEdtAction->shortcut().toString()));
-    mDelAction->setToolTip (mDelAction->text().remove ('&') +
-        QString (" (%1)").arg (mDelAction->shortcut().toString()));
-    mMupAction->setToolTip (mMupAction->text().remove ('&') +
-        QString (" (%1)").arg (mMupAction->shortcut().toString()));
-    mMdnAction->setToolTip (mMdnAction->text().remove ('&') +
-        QString (" (%1)").arg (mMdnAction->shortcut().toString()));
-
-    mNewAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
-                                  "initially set to empty strings. Note "
-                                  "that such a filter will match any "
-                                  "attached USB device."));
-    mAddAction->setWhatsThis (tr ("Adds a new USB filter with all fields "
-                                  "set to the values of the selected USB "
-                                  "device attached to the host PC."));
-    mEdtAction->setWhatsThis (tr ("Edits the selected USB filter."));
-    mDelAction->setWhatsThis (tr ("Removes the selected USB filter."));
-    mMupAction->setWhatsThis (tr ("Moves the selected USB filter up."));
-    mMdnAction->setWhatsThis (tr ("Moves the selected USB filter down."));
-
-    mUSBFilterName = tr ("New Filter %1", "usb");
+    /* Translate uic generated strings: */
+    Ui::UIMachineSettingsUSB::retranslateUi(this);
+
+    mNewAction->setText(tr("Add Empty Filter"));
+    mAddAction->setText(tr("Add Filter From Device"));
+    mEdtAction->setText(tr("Edit Filter"));
+    mDelAction->setText(tr("Remove Filter"));
+    mMupAction->setText(tr("Move Filter Up"));
+    mMdnAction->setText(tr("Move Filter Down"));
+
+    mNewAction->setWhatsThis(tr("Adds new USB filter with all fields initially set to empty strings. "
+                                "Note that such a filter will match any attached USB device."));
+    mAddAction->setWhatsThis(tr("Adds new USB filter with all fields set to the values of the "
+                                "selected USB device attached to the host PC."));
+    mEdtAction->setWhatsThis(tr("Edits selected USB filter."));
+    mDelAction->setWhatsThis(tr("Removes selected USB filter."));
+    mMupAction->setWhatsThis(tr("Moves selected USB filter up."));
+    mMdnAction->setWhatsThis(tr("Moves selected USB filter down."));
+
+    mNewAction->setToolTip(mNewAction->whatsThis());
+    mAddAction->setToolTip(mAddAction->whatsThis());
+    mEdtAction->setToolTip(mEdtAction->whatsThis());
+    mDelAction->setToolTip(mDelAction->whatsThis());
+    mMupAction->setToolTip(mMupAction->whatsThis());
+    mMdnAction->setToolTip(mMdnAction->whatsThis());
+
+    mUSBFilterName = tr("New Filter %1", "usb");
 }
 
 void UIMachineSettingsUSB::usbAdapterToggled(bool fEnabled)
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.ui
index 6f12d2a..a933209 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.ui
@@ -85,7 +85,7 @@
          <item>
           <widget class="QRadioButton" name="mRbUSB1">
            <property name="whatsThis">
-            <string>When checked, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</string>
+            <string>When chosen, enables the virtual USB OHCI controller of this machine. The USB OHCI controller provides USB 1.0 support.</string>
            </property>
            <property name="text">
             <string>USB &1.1 (OHCI) Controller</string>
@@ -95,7 +95,7 @@
          <item>
           <widget class="QRadioButton" name="mRbUSB2">
            <property name="whatsThis">
-            <string>When checked, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</string>
+            <string>When chosen, enables the virtual USB EHCI controller of this machine. The USB EHCI controller provides USB 2.0 support.</string>
            </property>
            <property name="text">
             <string>USB &2.0 (EHCI) Controller</string>
@@ -105,7 +105,7 @@
          <item>
           <widget class="QRadioButton" name="mRbUSB3">
            <property name="whatsThis">
-            <string>When checked, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</string>
+            <string>When chosen, enables the virtual USB xHCI controller of this machine. The USB xHCI controller provides USB 3.0 support.</string>
            </property>
            <property name="text">
             <string>USB &3.0 (xHCI) Controller</string>
diff --git a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.ui b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.ui
index 347fe55..23a259b 100644
--- a/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.ui
+++ b/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.ui
@@ -68,7 +68,7 @@
    <item row="1" column="1" >
     <widget class="QLineEdit" name="mLeVendorID" >
      <property name="toolTip" >
-      <string>Defines the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</string>
+      <string>Holds the vendor ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -88,7 +88,7 @@
    <item row="2" column="1" >
     <widget class="QLineEdit" name="mLeProductID" >
      <property name="toolTip" >
-      <string>Defines the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</string>
+      <string>Holds the product ID filter. The <i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a hexadecimal digit. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -108,7 +108,7 @@
    <item row="3" column="1" >
     <widget class="QLineEdit" name="mLeRevision" >
      <property name="toolTip" >
-      <string>Defines the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</string>
+      <string>Holds the revision number filter. The <i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal digit of the integer part and <tt>F</tt> is a decimal digit of the fractional part. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -128,7 +128,7 @@
    <item row="4" column="1" >
     <widget class="QLineEdit" name="mLeManufacturer" >
      <property name="toolTip" >
-      <string>Defines the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</string>
+      <string>Holds the manufacturer filter as an <i>exact match</i> string. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -148,7 +148,7 @@
    <item row="5" column="1" >
     <widget class="QLineEdit" name="mLeProduct" >
      <property name="toolTip" >
-      <string>Defines the product name filter as an <i>exact match</i> string. An empty string will match any value.</string>
+      <string>Holds the product name filter as an <i>exact match</i> string. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -168,7 +168,7 @@
    <item row="6" column="1" >
     <widget class="QLineEdit" name="mLeSerialNo" >
      <property name="toolTip" >
-      <string>Defines the serial number filter as an <i>exact match</i> string. An empty string will match any value.</string>
+      <string>Holds the serial number filter as an <i>exact match</i> string. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -188,7 +188,7 @@
    <item row="7" column="1" >
     <widget class="QLineEdit" name="mLePort" >
      <property name="toolTip" >
-      <string>Defines the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</string>
+      <string>Holds the host USB port filter as an <i>exact match</i> string. An empty string will match any value.</string>
      </property>
     </widget>
    </item>
@@ -214,7 +214,7 @@
       </sizepolicy>
      </property>
      <property name="toolTip" >
-      <string>Defines whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</string>
+      <string>Holds whether this filter applies to USB devices attached locally to the host computer (<i>No</i>), to a VRDP client's computer (<i>Yes</i>), or both (<i>Any</i>).</string>
      </property>
     </widget>
    </item>
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp
index baf642f..73b9732 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp
@@ -36,6 +36,7 @@
 # include "VBoxOSTypeSelectorButton.h"
 # include "UILineTextEdit.h"
 # include "UIConverter.h"
+# include "UIIconPool.h"
 
 /* COM includes: */
 # include "CSystemProperties.h"
@@ -212,10 +213,10 @@ QVariant HardwareItem::data(int column, int role) const
                     case KVirtualSystemDescriptionType_OS:                     v = UIApplianceEditorWidget::tr("Guest OS Type"); break;
                     case KVirtualSystemDescriptionType_CPU:                    v = UIApplianceEditorWidget::tr("CPU"); break;
                     case KVirtualSystemDescriptionType_Memory:                 v = UIApplianceEditorWidget::tr("RAM"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerIDE:  v = UIApplianceEditorWidget::tr("Hard Disk Controller (IDE)"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSATA: v = UIApplianceEditorWidget::tr("Hard Disk Controller (SATA)"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSCSI: v = UIApplianceEditorWidget::tr("Hard Disk Controller (SCSI)"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSAS:  v = UIApplianceEditorWidget::tr("Hard Disk Controller (SAS)"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerIDE:  v = UIApplianceEditorWidget::tr("Storage Controller (IDE)"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSATA: v = UIApplianceEditorWidget::tr("Storage Controller (SATA)"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSCSI: v = UIApplianceEditorWidget::tr("Storage Controller (SCSI)"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSAS:  v = UIApplianceEditorWidget::tr("Storage Controller (SAS)"); break;
                     case KVirtualSystemDescriptionType_CDROM:                  v = UIApplianceEditorWidget::tr("DVD"); break;
                     case KVirtualSystemDescriptionType_Floppy:                 v = UIApplianceEditorWidget::tr("Floppy"); break;
                     case KVirtualSystemDescriptionType_NetworkAdapter:         v = UIApplianceEditorWidget::tr("Network Adapter"); break;
@@ -266,34 +267,36 @@ QVariant HardwareItem::data(int column, int role) const
             {
                 switch (m_type)
                 {
-                    case KVirtualSystemDescriptionType_Name:                   v = QIcon(":/name_16px.png"); break;
+                    case KVirtualSystemDescriptionType_Name:                   v = UIIconPool::iconSet(":/name_16px.png"); break;
                     case KVirtualSystemDescriptionType_Product:
                     case KVirtualSystemDescriptionType_ProductUrl:
                     case KVirtualSystemDescriptionType_Vendor:
                     case KVirtualSystemDescriptionType_VendorUrl:
                     case KVirtualSystemDescriptionType_Version:
                     case KVirtualSystemDescriptionType_Description:
-                    case KVirtualSystemDescriptionType_License:                v = QIcon(":/description_16px.png"); break;
-                    case KVirtualSystemDescriptionType_OS:                     v = QIcon(":/os_type_16px.png"); break;
-                    case KVirtualSystemDescriptionType_CPU:                    v = QIcon(":/cpu_16px.png"); break;
-                    case KVirtualSystemDescriptionType_Memory:                 v = QIcon(":/ram_16px.png"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerIDE:  v = QIcon(":/ide_16px.png"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSATA: v = QIcon(":/sata_16px.png"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSCSI: v = QIcon(":/scsi_16px.png"); break;
-                    case KVirtualSystemDescriptionType_HardDiskControllerSAS:  v = QIcon(":/scsi_16px.png"); break;
-                    case KVirtualSystemDescriptionType_HardDiskImage:          v = QIcon(":/hd_16px.png"); break;
-                    case KVirtualSystemDescriptionType_CDROM:                  v = QIcon(":/cd_16px.png"); break;
-                    case KVirtualSystemDescriptionType_Floppy:                 v = QIcon(":/fd_16px.png"); break;
-                    case KVirtualSystemDescriptionType_NetworkAdapter:         v = QIcon(":/nw_16px.png"); break;
-                    case KVirtualSystemDescriptionType_USBController:          v = QIcon(":/usb_16px.png"); break;
-                    case KVirtualSystemDescriptionType_SoundCard:              v = QIcon(":/sound_16px.png"); break;
+                    case KVirtualSystemDescriptionType_License:                v = UIIconPool::iconSet(":/description_16px.png"); break;
+                    case KVirtualSystemDescriptionType_OS:                     v = UIIconPool::iconSet(":/os_type_16px.png"); break;
+                    case KVirtualSystemDescriptionType_CPU:                    v = UIIconPool::iconSet(":/cpu_16px.png"); break;
+                    case KVirtualSystemDescriptionType_Memory:                 v = UIIconPool::iconSet(":/ram_16px.png"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerIDE:  v = UIIconPool::iconSet(":/ide_16px.png"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSATA: v = UIIconPool::iconSet(":/sata_16px.png"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSCSI: v = UIIconPool::iconSet(":/scsi_16px.png"); break;
+                    case KVirtualSystemDescriptionType_HardDiskControllerSAS:  v = UIIconPool::iconSet(":/scsi_16px.png"); break;
+                    case KVirtualSystemDescriptionType_HardDiskImage:          v = UIIconPool::iconSet(":/hd_16px.png"); break;
+                    case KVirtualSystemDescriptionType_CDROM:                  v = UIIconPool::iconSet(":/cd_16px.png"); break;
+                    case KVirtualSystemDescriptionType_Floppy:                 v = UIIconPool::iconSet(":/fd_16px.png"); break;
+                    case KVirtualSystemDescriptionType_NetworkAdapter:         v = UIIconPool::iconSet(":/nw_16px.png"); break;
+                    case KVirtualSystemDescriptionType_USBController:          v = UIIconPool::iconSet(":/usb_16px.png"); break;
+                    case KVirtualSystemDescriptionType_SoundCard:              v = UIIconPool::iconSet(":/sound_16px.png"); break;
                     default: break;
                 }
             }
             else if (column == ConfigValueSection &&
                      m_type == KVirtualSystemDescriptionType_OS)
             {
-                v = vboxGlobal().vmGuestOSTypeIcon(m_strConfigValue).scaledToHeight(16, Qt::SmoothTransformation);
+                const QStyle *pStyle = QApplication::style();
+                const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+                v = vboxGlobal().vmGuestOSTypeIcon(m_strConfigValue).scaledToHeight(iIconMetric, Qt::SmoothTransformation);
             }
             break;
         }
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp
index 4cec389..410b027 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIFilmContainer.cpp
@@ -145,7 +145,7 @@ void UIFilm::retranslateUi()
 {
     /* Translate check-box: */
     m_pCheckBox->setText(QApplication::translate("UIMachineSettingsDisplay", "Screen %1").arg(m_iScreenIndex + 1));
-    m_pCheckBox->setWhatsThis(QApplication::translate("UIMachineSettingsDisplay", "Enable video recording for screen %1.").arg(m_iScreenIndex + 1));
+    m_pCheckBox->setWhatsThis(QApplication::translate("UIMachineSettingsDisplay", "When checked, enables video recording for screen %1.").arg(m_iScreenIndex + 1));
 }
 
 void UIFilm::prepare()
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
index 93cf82e..0ec4edc 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIMiniToolBar.cpp
@@ -644,8 +644,12 @@ void UIMiniToolBar::paintEvent(QPaintEvent*)
 
 void UIMiniToolBar::prepare()
 {
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+
     /* Configure toolbar: */
-    setIconSize(QSize(16, 16));
+    setIconSize(QSize(iIconMetric, iIconMetric));
 
     /* Left margin: */
 #ifdef Q_WS_X11
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
index 3efc432..72274af 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UINameAndSystemEditor.cpp
@@ -81,7 +81,7 @@ UINameAndSystemEditor::UINameAndSystemEditor(QWidget *pParent)
         {
             m_pTypeIcon = new QLabel(this);
             {
-                m_pTypeIcon->setFixedSize(32, 32);
+                m_pTypeIcon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
             }
             pIconLayout->addWidget(m_pTypeIcon);
             pIconLayout->addStretch();
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp
index 6185383..c070b67 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp
@@ -18,17 +18,20 @@
 #ifdef VBOX_WITH_PRECOMPILED_HEADERS
 # include <precomp.h>
 #else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
-/* Global includes: */
+
+/* Qt includes: */
+# include <QApplication>
+# include <QStyle>
 # include <QLabel>
-# include <QPaintEvent>
 # include <QPainter>
 # include <QVBoxLayout>
+# include <QPaintEvent>
 
-/* Local includes: */
+/* GUI includes: */
 # include "UIPopupBox.h"
 # ifdef Q_WS_MAC
 #  include "UIImageTools.h"
-# endif
+# endif /* Q_WS_MAC */
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
 
@@ -241,12 +244,14 @@ void UIPopupBox::paintEvent(QPaintEvent *pEvent)
     /* Base background */
     painter.fillRect(QRect(QPoint(0, 0), size()), pal.brush(QPalette::Active, QPalette::Base));
     /* Top header background */
-    QLinearGradient lg(rect.x(), rect.y(), rect.x(), rect.y() + 2 * 5 + m_pTitleLabel->sizeHint().height());
+    const int iMaxHeightHint = qMax(m_pTitleLabel->sizeHint().height(),
+                                    m_pTitleIcon->sizeHint().height());
+    QLinearGradient lg(rect.x(), rect.y(), rect.x(), rect.y() + 2 * 5 + iMaxHeightHint);
     lg.setColorAt(0, base.darker(95));
     lg.setColorAt(1, base.darker(110));
     int theight = rect.height();
     if (m_fOpen)
-        theight = 2 * 5 + m_pTitleLabel->sizeHint().height();
+        theight = 2 * 5 + iMaxHeightHint;
     painter.fillRect(QRect(rect.x(), rect.y(), rect.width(), theight), lg);
     /* Outer round rectangle line */
     painter.setClipping(false);
@@ -274,7 +279,9 @@ void UIPopupBox::paintEvent(QPaintEvent *pEvent)
 void UIPopupBox::updateTitleIcon()
 {
     /* Assign title-icon: */
-    m_pTitleIcon->setPixmap(m_titleIcon.pixmap(16, 16));
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+    m_pTitleIcon->setPixmap(m_titleIcon.pixmap(iIconMetric, iIconMetric));
 }
 
 void UIPopupBox::updateWarningIcon()
@@ -282,7 +289,9 @@ void UIPopupBox::updateWarningIcon()
     /* Hide warning-icon if its null: */
     m_pWarningIcon->setHidden(m_warningIcon.isNull());
     /* Assign warning-icon: */
-    m_pWarningIcon->setPixmap(m_warningIcon.pixmap(16, 16));
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
+    m_pWarningIcon->setPixmap(m_warningIcon.pixmap(iIconMetric, iIconMetric));
 }
 
 void UIPopupBox::updateTitle()
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp
index 5c9feb1..496dfd8 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/UIPortForwardingTable.cpp
@@ -426,12 +426,12 @@ QVariant UIPortForwardingModel::headerData(int iSection, Qt::Orientation orienta
         /* Switch for different columns: */
         switch (iSection)
         {
-            case UIPortForwardingDataType_Name: return tr("Name");
-            case UIPortForwardingDataType_Protocol: return tr("Protocol");
-            case UIPortForwardingDataType_HostIp: return tr("Host IP");
-            case UIPortForwardingDataType_HostPort: return tr("Host Port");
-            case UIPortForwardingDataType_GuestIp: return tr("Guest IP");
-            case UIPortForwardingDataType_GuestPort: return tr("Guest Port");
+            case UIPortForwardingDataType_Name: return UIPortForwardingTable::tr("Name");
+            case UIPortForwardingDataType_Protocol: return UIPortForwardingTable::tr("Protocol");
+            case UIPortForwardingDataType_HostIp: return UIPortForwardingTable::tr("Host IP");
+            case UIPortForwardingDataType_HostPort: return UIPortForwardingTable::tr("Host Port");
+            case UIPortForwardingDataType_GuestIp: return UIPortForwardingTable::tr("Guest IP");
+            case UIPortForwardingDataType_GuestPort: return UIPortForwardingTable::tr("Guest Port");
             default: break;
         }
     }
@@ -594,8 +594,11 @@ UIPortForwardingTable::UIPortForwardingTable(const UIPortForwardingDataList &rul
         /* Create toolbar: */
         m_pToolBar = new UIToolBar;
         {
+            /* Determine icon metric: */
+            const QStyle *pStyle = QApplication::style();
+            const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
             /* Configure toolbar: */
-            m_pToolBar->setIconSize(QSize(16, 16));
+            m_pToolBar->setIconSize(QSize(iIconMetric, iIconMetric));
             m_pToolBar->setOrientation(Qt::Vertical);
             /* Create 'add' action: */
             m_pAddAction = new QAction(this);
@@ -819,16 +822,20 @@ void UIPortForwardingTable::sltAdjustTable()
 void UIPortForwardingTable::retranslateUi()
 {
     /* Table translations: */
-    m_pTableView->setToolTip(QApplication::translate("UIMachineSettingsPortForwardingDlg", "This table contains a list of port forwarding rules."));
+    m_pTableView->setToolTip(tr("Contains a list of port forwarding rules."));
 
     /* Set action's text: */
-    m_pAddAction->setText(QApplication::translate("UIMachineSettingsPortForwardingDlg", "Insert new rule"));
-    m_pCopyAction->setText(QApplication::translate("UIMachineSettingsPortForwardingDlg", "Copy selected rule"));
-    m_pDelAction->setText(QApplication::translate("UIMachineSettingsPortForwardingDlg", "Delete selected rule"));
-    m_pAddAction->setWhatsThis(QApplication::translate("UIMachineSettingsPortForwardingDlg", "This button adds new port forwarding rule."));
-    m_pDelAction->setWhatsThis(QApplication::translate("UIMachineSettingsPortForwardingDlg", "This button deletes selected port forwarding rule."));
-    m_pAddAction->setToolTip(QString("%1 (%2)").arg(m_pAddAction->text()).arg(m_pAddAction->shortcut().toString()));
-    m_pDelAction->setToolTip(QString("%1 (%2)").arg(m_pDelAction->text()).arg(m_pDelAction->shortcut().toString()));
+    m_pAddAction->setText(tr("Add New Rule"));
+    m_pCopyAction->setText(tr("Copy Selected Rule"));
+    m_pDelAction->setText(tr("Remove Selected Rule"));
+
+    m_pAddAction->setWhatsThis(tr("Adds new port forwarding rule."));
+    m_pCopyAction->setWhatsThis(tr("Copies selected port forwarding rule."));
+    m_pDelAction->setWhatsThis(tr("Removes selected port forwarding rule."));
+
+    m_pAddAction->setToolTip(m_pAddAction->whatsThis());
+    m_pCopyAction->setToolTip(m_pCopyAction->whatsThis());
+    m_pDelAction->setToolTip(m_pDelAction->whatsThis());
 }
 
 bool UIPortForwardingTable::eventFilter(QObject *pObject, QEvent *pEvent)
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/VBoxFilePathSelectorWidget.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/VBoxFilePathSelectorWidget.cpp
index bb28031..a4b9a1f 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/VBoxFilePathSelectorWidget.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/VBoxFilePathSelectorWidget.cpp
@@ -316,7 +316,7 @@ void VBoxFilePathSelectorWidget::retranslateUi()
     {
         case Mode_Folder:
             setItemData (SelectId,
-                         tr ("Opens a window to select a different folder."),
+                         tr ("Displays a window to select a different folder."),
                          Qt::ToolTipRole);
             setItemData (ResetId,
                          tr ("Resets the folder path to the default value."),
@@ -325,7 +325,7 @@ void VBoxFilePathSelectorWidget::retranslateUi()
         case Mode_File_Open:
         case Mode_File_Save:
             setItemData (SelectId,
-                         tr ("Opens a window to select a different file."),
+                         tr ("Displays a window to select a different file."),
                          Qt::ToolTipRole);
             setItemData (ResetId,
                          tr ("Resets the file path to the default value."),
@@ -511,8 +511,8 @@ void VBoxFilePathSelectorWidget::refreshText()
             setItemText (PathId, mPath);
         setItemIcon (PathId, QIcon());
         setToolTip (mMode == Mode_Folder ?
-            tr ("Please type the folder path here.") :
-            tr ("Please type the file path here."));
+            tr ("Holds the folder path.") :
+            tr ("Holds the file path."));
 
         if (mIsMouseAwaited)
         {
diff --git a/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorButton.cpp b/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorButton.cpp
index 9d3e948..559d194 100644
--- a/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorButton.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/widgets/VBoxOSTypeSelectorButton.cpp
@@ -33,10 +33,13 @@
 VBoxOSTypeSelectorButton::VBoxOSTypeSelectorButton (QWidget *aParent)
   : QIWithRetranslateUI <QPushButton> (aParent)
 {
+    /* Determine icon metric: */
+    const QStyle *pStyle = QApplication::style();
+    const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
     /* We have to make sure that the button has strong focus, otherwise the
      * editing is ended when the menu is shown */
     setFocusPolicy (Qt::StrongFocus);
-    setIconSize (QSize (16, 16));
+    setIconSize (QSize (iIconMetric, iIconMetric));
     /* Create a signal mapper so that we not have to react to every single
      * menu activation ourself. */
     mSignalMapper = new QSignalMapper (this);
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVD.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVD.cpp
index 367393c..6d580ed 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVD.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVD.cpp
@@ -116,7 +116,7 @@ void UIWizardCloneVD::retranslateUi()
     UIWizard::retranslateUi();
 
     /* Translate wizard: */
-    setWindowTitle(tr("Copy Virtual Hard Drive"));
+    setWindowTitle(tr("Copy Virtual Hard Disk"));
     setButtonText(QWizard::FinishButton, tr("Copy"));
 }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic1.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic1.cpp
index 2109dd3..67d6789 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic1.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic1.cpp
@@ -112,13 +112,13 @@ void UIWizardCloneVDPageBasic1::sltHandleOpenSourceDiskClick()
 void UIWizardCloneVDPageBasic1::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardCloneVD::tr("Hard drive to copy"));
+    setTitle(UIWizardCloneVD::tr("Hard disk to copy"));
 
     /* Translate widgets: */
-    m_pLabel->setText(UIWizardCloneVD::tr("<p>Please select the virtual hard drive file that you would like to copy "
+    m_pLabel->setText(UIWizardCloneVD::tr("<p>Please select the virtual hard disk file that you would like to copy "
                                           "if it is not already selected. You can either choose one from the list "
                                           "or use the folder icon beside the list to select one.</p>"));
-    m_pSourceDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a virtual hard drive file to copy..."));
+    m_pSourceDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a virtual hard disk file to copy..."));
 }
 
 void UIWizardCloneVDPageBasic1::initializePage()
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp
index 689fa44..3e386a4 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic2.cpp
@@ -132,11 +132,11 @@ UIWizardCloneVDPageBasic2::UIWizardCloneVDPageBasic2()
 void UIWizardCloneVDPageBasic2::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardCloneVD::tr("Hard drive file type"));
+    setTitle(UIWizardCloneVD::tr("Hard disk file type"));
 
     /* Translate widgets: */
     m_pLabel->setText(UIWizardCloneVD::tr("Please choose the type of file that you would like to use "
-                                          "for the new virtual hard drive. If you do not need to use it "
+                                          "for the new virtual hard disk. If you do not need to use it "
                                           "with other virtualization software you can leave this setting unchanged."));
     QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();
     for (int i = 0; i < buttons.size(); ++i)
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp
index b89c804..12a66af 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic3.cpp
@@ -123,17 +123,17 @@ UIWizardCloneVDPageBasic3::UIWizardCloneVDPageBasic3()
 void UIWizardCloneVDPageBasic3::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardCloneVD::tr("Storage on physical hard drive"));
+    setTitle(UIWizardCloneVD::tr("Storage on physical hard disk"));
 
     /* Translate widgets: */
-    m_pDescriptionLabel->setText(UIWizardCloneVD::tr("Please choose whether the new virtual hard drive file should grow as it is used "
+    m_pDescriptionLabel->setText(UIWizardCloneVD::tr("Please choose whether the new virtual hard disk file should grow as it is used "
                                                      "(dynamically allocated) or if it should be created at its maximum size (fixed size)."));
-    m_pDynamicLabel->setText(UIWizardCloneVD::tr("<p>A <b>dynamically allocated</b> hard drive file will only use space "
-                                                 "on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), "
+    m_pDynamicLabel->setText(UIWizardCloneVD::tr("<p>A <b>dynamically allocated</b> hard disk file will only use space "
+                                                 "on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), "
                                                  "although it will not shrink again automatically when space on it is freed.</p>"));
-    m_pFixedLabel->setText(UIWizardCloneVD::tr("<p>A <b>fixed size</b> hard drive file may take longer to create on some "
+    m_pFixedLabel->setText(UIWizardCloneVD::tr("<p>A <b>fixed size</b> hard disk file may take longer to create on some "
                                                "systems but is often faster to use.</p>"));
-    m_pSplitLabel->setText(UIWizardCloneVD::tr("<p>You can also choose to <b>split</b> the hard drive file into several files "
+    m_pSplitLabel->setText(UIWizardCloneVD::tr("<p>You can also choose to <b>split</b> the hard disk file into several files "
                                                "of up to two gigabytes each. This is mainly useful if you wish to store the "
                                                "virtual machine on removable USB devices or old systems, some of which cannot "
                                                "handle very large files."));
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp
index cbc4878..6791eeb 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageBasic4.cpp
@@ -84,7 +84,7 @@ void UIWizardCloneVDPage4::onSelectLocationButtonClicked()
     /* Open corresponding file-dialog: */
     QString strChosenFilePath = QIFileDialog::getSaveFileName(folder.absoluteFilePath(strFileName),
                                                               strBackendsList, thisImp(),
-                                                              UIWizardCloneVD::tr("Please choose a location for new virtual hard drive file"));
+                                                              UIWizardCloneVD::tr("Please choose a location for new virtual hard disk file"));
 
     /* If there was something really chosen: */
     if (!strChosenFilePath.isEmpty())
@@ -198,12 +198,12 @@ void UIWizardCloneVDPageBasic4::sltSelectLocationButtonClicked()
 void UIWizardCloneVDPageBasic4::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardCloneVD::tr("New hard drive to create"));
+    setTitle(UIWizardCloneVD::tr("New hard disk to create"));
 
     /* Translate widgets: */
-    m_pLabel->setText(UIWizardCloneVD::tr("Please type the name of the new virtual hard drive file into the box below or "
+    m_pLabel->setText(UIWizardCloneVD::tr("Please type the name of the new virtual hard disk file into the box below or "
                                           "click on the folder icon to select a different folder to create the file in."));
-    m_pDestinationDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a location for new virtual hard drive file..."));
+    m_pDestinationDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a location for new virtual hard disk file..."));
 }
 
 void UIWizardCloneVDPageBasic4::initializePage()
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp
index 2ef4454..196c490 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevd/UIWizardCloneVDPageExpert.cpp
@@ -229,18 +229,18 @@ void UIWizardCloneVDPageExpert::sltSelectLocationButtonClicked()
 void UIWizardCloneVDPageExpert::retranslateUi()
 {
     /* Translate widgets: */
-    m_pSourceDiskCnt->setTitle(UIWizardCloneVD::tr("Hard drive to &copy"));
-    m_pSourceDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a virtual hard drive file to copy..."));
-    m_pDestinationCnt->setTitle(UIWizardCloneVD::tr("&New hard drive to create"));
-    m_pDestinationDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a location for new virtual hard drive file..."));
-    m_pFormatCnt->setTitle(UIWizardCloneVD::tr("Hard drive file &type"));
+    m_pSourceDiskCnt->setTitle(UIWizardCloneVD::tr("Hard disk to &copy"));
+    m_pSourceDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a virtual hard disk file to copy..."));
+    m_pDestinationCnt->setTitle(UIWizardCloneVD::tr("&New hard disk to create"));
+    m_pDestinationDiskOpenButton->setToolTip(UIWizardCloneVD::tr("Choose a location for new virtual hard disk file..."));
+    m_pFormatCnt->setTitle(UIWizardCloneVD::tr("Hard disk file &type"));
     QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();
     for (int i = 0; i < buttons.size(); ++i)
     {
         QAbstractButton *pButton = buttons[i];
         pButton->setText(VBoxGlobal::fullMediumFormatName(m_formatNames[m_pFormatButtonGroup->id(pButton)]));
     }
-    m_pVariantCnt->setTitle(UIWizardCloneVD::tr("Storage on physical hard drive"));
+    m_pVariantCnt->setTitle(UIWizardCloneVD::tr("Storage on physical hard disk"));
     m_pDynamicalButton->setText(UIWizardCloneVD::tr("&Dynamically allocated"));
     m_pFixedButton->setText(UIWizardCloneVD::tr("&Fixed size"));
     m_pSplitBox->setText(UIWizardCloneVD::tr("&Split into files of less than 2GB"));
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp
index b5195db..a51d6fd 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVM.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2011-2014 Oracle Corporation
+ * Copyright (C) 2011-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -83,7 +83,8 @@ bool UIWizardCloneVM::cloneVM()
 
         /* Take the snapshot: */
         QString strSnapshotName = tr("Linked Base for %1 and %2").arg(m_machine.GetName()).arg(strName);
-        CProgress progress = machine.TakeSnapshot(strSnapshotName, "", true);
+        QString strSnapshotId;
+        CProgress progress = machine.TakeSnapshot(strSnapshotName, "", true, strSnapshotId);
 
         if (machine.isOk())
         {
@@ -106,7 +107,7 @@ bool UIWizardCloneVM::cloneVM()
         session.UnlockMachine();
 
         /* Get the new snapshot and the snapshot machine. */
-        const CSnapshot &newSnapshot = m_machine.FindSnapshot(strSnapshotName);
+        const CSnapshot &newSnapshot = m_machine.FindSnapshot(strSnapshotId);
         if (newSnapshot.isNull())
         {
             msgCenter().cannotFindSnapshotByName(m_machine, strSnapshotName, this);
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp
index 90e70e6..83b87c5 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/clonevm/UIWizardCloneVMPageBasic2.cpp
@@ -95,11 +95,11 @@ void UIWizardCloneVMPageBasic2::retranslateUi()
     /* Translate widgets: */
     QString strLabel = UIWizardCloneVM::tr("<p>Please choose the type of clone you wish to create.</p>"
                                            "<p>If you choose <b>Full clone</b>, "
-                                           "an exact copy (including all virtual hard drive files) "
+                                           "an exact copy (including all virtual hard disk files) "
                                            "of the original virtual machine will be created.</p>"
                                            "<p>If you choose <b>Linked clone</b>, "
-                                           "a new machine will be created, but the virtual hard drive files "
-                                           "will be tied to the virtual hard drive files of original machine "
+                                           "a new machine will be created, but the virtual hard disk files "
+                                           "will be tied to the virtual hard disk files of original machine "
                                            "and you will not be able to move the new virtual machine "
                                            "to a different computer without moving the original as well.</p>");
     if (m_fAdditionalInfo)
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp
index 7b840b7..0fea7ba 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp
@@ -51,9 +51,11 @@ void UIWizardExportAppPage1::populateVMSelectorItems(const QStringList &selected
         QString strUuid;
         bool fInSaveState = false;
         bool fEnabled = false;
+        const QStyle *pStyle = QApplication::style();
+        const int iIconMetric = pStyle->pixelMetric(QStyle::PM_SmallIconSize);
         if (machine.GetAccessible())
         {
-            pixIcon = vboxGlobal().vmGuestOSTypeIcon(machine.GetOSTypeId()).scaled(16, 16, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+            pixIcon = vboxGlobal().vmGuestOSTypeIcon(machine.GetOSTypeId()).scaled(iIconMetric, iIconMetric, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
             strName = machine.GetName();
             strUuid = machine.GetId();
             fEnabled = machine.GetSessionState() == KSessionState_Unlocked;
@@ -64,7 +66,7 @@ void UIWizardExportAppPage1::populateVMSelectorItems(const QStringList &selected
             QString settingsFile = machine.GetSettingsFilePath();
             QFileInfo fi(settingsFile);
             strName = VBoxGlobal::hasAllowedExtension(fi.completeSuffix(), VBoxFileExts) ? fi.completeBaseName() : fi.fileName();
-            pixIcon = QPixmap(":/os_other.png").scaled(16, 16, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+            pixIcon = QPixmap(":/os_other.png").scaled(iIconMetric, iIconMetric, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
         }
         QListWidgetItem *pItem = new VMListWidgetItem(pixIcon, strName, strUuid, fInSaveState, m_pVMSelector);
         if (!fEnabled)
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
index 43e5251..7d2de80 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVD.cpp
@@ -120,7 +120,7 @@ void UIWizardNewVD::retranslateUi()
     UIWizard::retranslateUi();
 
     /* Translate wizard: */
-    setWindowTitle(tr("Create Virtual Hard Drive"));
+    setWindowTitle(tr("Create Virtual Hard Disk"));
     setButtonText(QWizard::FinishButton, tr("Create"));
 }
 
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp
index 2a6fe2a..32a1116 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic1.cpp
@@ -131,11 +131,11 @@ UIWizardNewVDPageBasic1::UIWizardNewVDPageBasic1()
 void UIWizardNewVDPageBasic1::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardNewVD::tr("Hard drive file type"));
+    setTitle(UIWizardNewVD::tr("Hard disk file type"));
 
     /* Translate widgets: */
     m_pLabel->setText(UIWizardNewVD::tr("Please choose the type of file that you would like to use "
-                                        "for the new virtual hard drive. If you do not need to use it "
+                                        "for the new virtual hard disk. If you do not need to use it "
                                         "with other virtualization software you can leave this setting unchanged."));
     QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();
     for (int i = 0; i < buttons.size(); ++i)
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic2.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic2.cpp
index 1c6cd00..2332922 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic2.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic2.cpp
@@ -123,17 +123,17 @@ UIWizardNewVDPageBasic2::UIWizardNewVDPageBasic2()
 void UIWizardNewVDPageBasic2::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardNewVD::tr("Storage on physical hard drive"));
+    setTitle(UIWizardNewVD::tr("Storage on physical hard disk"));
 
     /* Translate widgets: */
-    m_pDescriptionLabel->setText(UIWizardNewVD::tr("Please choose whether the new virtual hard drive file should grow as it is used "
+    m_pDescriptionLabel->setText(UIWizardNewVD::tr("Please choose whether the new virtual hard disk file should grow as it is used "
                                                    "(dynamically allocated) or if it should be created at its maximum size (fixed size)."));
-    m_pDynamicLabel->setText(UIWizardNewVD::tr("<p>A <b>dynamically allocated</b> hard drive file will only use space "
-                                               "on your physical hard drive as it fills up (up to a maximum <b>fixed size</b>), "
+    m_pDynamicLabel->setText(UIWizardNewVD::tr("<p>A <b>dynamically allocated</b> hard disk file will only use space "
+                                               "on your physical hard disk as it fills up (up to a maximum <b>fixed size</b>), "
                                                "although it will not shrink again automatically when space on it is freed.</p>"));
-    m_pFixedLabel->setText(UIWizardNewVD::tr("<p>A <b>fixed size</b> hard drive file may take longer to create on some "
+    m_pFixedLabel->setText(UIWizardNewVD::tr("<p>A <b>fixed size</b> hard disk file may take longer to create on some "
                                              "systems but is often faster to use.</p>"));
-    m_pSplitLabel->setText(UIWizardNewVD::tr("<p>You can also choose to <b>split</b> the hard drive file into several files "
+    m_pSplitLabel->setText(UIWizardNewVD::tr("<p>You can also choose to <b>split</b> the hard disk file into several files "
                                              "of up to two gigabytes each. This is mainly useful if you wish to store the "
                                              "virtual machine on removable USB devices or old systems, some of which cannot "
                                              "handle very large files."));
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp
index 234880d..b12b7f1 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageBasic3.cpp
@@ -95,7 +95,7 @@ void UIWizardNewVDPage3::onSelectLocationButtonClicked()
     /* Open corresponding file-dialog: */
     QString strChosenFilePath = QIFileDialog::getSaveFileName(folder.absoluteFilePath(strFileName),
                                                               strBackendsList, thisImp(),
-                                                              VBoxGlobal::tr("Please choose a location for new virtual hard drive file"));
+                                                              VBoxGlobal::tr("Please choose a location for new virtual hard disk file"));
 
     /* If there was something really chosen: */
     if (!strChosenFilePath.isEmpty())
@@ -367,12 +367,12 @@ void UIWizardNewVDPageBasic3::retranslateUi()
     setTitle(UIWizardNewVD::tr("File location and size"));
 
     /* Translate widgets: */
-    m_pLocationLabel->setText(UIWizardNewVD::tr("Please type the name of the new virtual hard drive file into the box below or "
+    m_pLocationLabel->setText(UIWizardNewVD::tr("Please type the name of the new virtual hard disk file into the box below or "
                                                 "click on the folder icon to select a different folder to create the file in."));
-    m_pLocationOpenButton->setToolTip(UIWizardNewVD::tr("Choose a location for new virtual hard drive file..."));
-    m_pSizeLabel->setText(UIWizardNewVD::tr("Select the size of the virtual hard drive in megabytes. "
+    m_pLocationOpenButton->setToolTip(UIWizardNewVD::tr("Choose a location for new virtual hard disk file..."));
+    m_pSizeLabel->setText(UIWizardNewVD::tr("Select the size of the virtual hard disk in megabytes. "
                                             "This size is the limit on the amount of file data "
-                                            "that a virtual machine will be able to store on the hard drive."));
+                                            "that a virtual machine will be able to store on the hard disk."));
 }
 
 void UIWizardNewVDPageBasic3::initializePage()
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
index 3c919c0..d8e3e07 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvd/UIWizardNewVDPageExpert.cpp
@@ -246,16 +246,16 @@ void UIWizardNewVDPageExpert::retranslateUi()
 {
     /* Translate widgets: */
     m_pLocationCnt->setTitle(UIWizardNewVD::tr("File &location"));
-    m_pLocationOpenButton->setToolTip(UIWizardNewVD::tr("Choose a location for new virtual hard drive file..."));
+    m_pLocationOpenButton->setToolTip(UIWizardNewVD::tr("Choose a location for new virtual hard disk file..."));
     m_pSizeCnt->setTitle(UIWizardNewVD::tr("File &size"));
-    m_pFormatCnt->setTitle(UIWizardNewVD::tr("Hard drive file &type"));
+    m_pFormatCnt->setTitle(UIWizardNewVD::tr("Hard disk file &type"));
     QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();
     for (int i = 0; i < buttons.size(); ++i)
     {
         QAbstractButton *pButton = buttons[i];
         pButton->setText(VBoxGlobal::fullMediumFormatName(m_formatNames[m_pFormatButtonGroup->id(pButton)]));
     }
-    m_pVariantCnt->setTitle(UIWizardNewVD::tr("Storage on physical hard drive"));
+    m_pVariantCnt->setTitle(UIWizardNewVD::tr("Storage on physical hard disk"));
     m_pDynamicalButton->setText(UIWizardNewVD::tr("&Dynamically allocated"));
     m_pFixedButton->setText(UIWizardNewVD::tr("&Fixed size"));
     m_pSplitBox->setText(UIWizardNewVD::tr("&Split into files of less than 2GB"));
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp
index 10fda8c..275fad6 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic3.cpp
@@ -199,22 +199,22 @@ void UIWizardNewVMPageBasic3::sltGetWithFileOpenDialog()
 void UIWizardNewVMPageBasic3::retranslateUi()
 {
     /* Translate page: */
-    setTitle(UIWizardNewVM::tr("Hard drive"));
+    setTitle(UIWizardNewVM::tr("Hard disk"));
 
     /* Translate widgets: */
     QString strRecommendedHDD = field("type").value<CGuestOSType>().isNull() ? QString() :
                                 VBoxGlobal::formatSize(field("type").value<CGuestOSType>().GetRecommendedHDD());
-    m_pLabel->setText(UIWizardNewVM::tr("<p>If you wish you can add a virtual hard drive to the new machine. "
-                                        "You can either create a new hard drive file or select one from the list "
+    m_pLabel->setText(UIWizardNewVM::tr("<p>If you wish you can add a virtual hard disk to the new machine. "
+                                        "You can either create a new hard disk file or select one from the list "
                                         "or from another location using the folder icon.</p>"
                                         "<p>If you need a more complex storage set-up you can skip this step "
                                         "and make the changes to the machine settings once the machine is created.</p>"
-                                        "<p>The recommended size of the hard drive is <b>%1</b>.</p>")
+                                        "<p>The recommended size of the hard disk is <b>%1</b>.</p>")
                                         .arg(strRecommendedHDD));
-    m_pDiskSkip->setText(UIWizardNewVM::tr("&Do not add a virtual hard drive"));
-    m_pDiskCreate->setText(UIWizardNewVM::tr("&Create a virtual hard drive now"));
-    m_pDiskPresent->setText(UIWizardNewVM::tr("&Use an existing virtual hard drive file"));
-    m_pVMMButton->setToolTip(UIWizardNewVM::tr("Choose a virtual hard drive file..."));
+    m_pDiskSkip->setText(UIWizardNewVM::tr("&Do not add a virtual hard disk"));
+    m_pDiskCreate->setText(UIWizardNewVM::tr("&Create a virtual hard disk now"));
+    m_pDiskPresent->setText(UIWizardNewVM::tr("&Use an existing virtual hard disk file"));
+    m_pVMMButton->setToolTip(UIWizardNewVM::tr("Choose a virtual hard disk file..."));
 }
 
 void UIWizardNewVMPageBasic3::initializePage()
diff --git a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
index 6988d95..9b95f19 100644
--- a/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
+++ b/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
@@ -229,11 +229,11 @@ void UIWizardNewVMPageExpert::retranslateUi()
     m_pRamUnits->setText(VBoxGlobal::tr("MB", "size suffix MBytes=1024 KBytes"));
     m_pRamMin->setText(QString("%1 %2").arg(m_pRamSlider->minRAM()).arg(VBoxGlobal::tr("MB", "size suffix MBytes=1024 KBytes")));
     m_pRamMax->setText(QString("%1 %2").arg(m_pRamSlider->maxRAM()).arg(VBoxGlobal::tr("MB", "size suffix MBytes=1024 KBytes")));
-    m_pDiskCnt->setTitle(UIWizardNewVM::tr("Hard drive"));
-    m_pDiskSkip->setText(UIWizardNewVM::tr("&Do not add a virtual hard drive"));
-    m_pDiskCreate->setText(UIWizardNewVM::tr("&Create a virtual hard drive now"));
-    m_pDiskPresent->setText(UIWizardNewVM::tr("&Use an existing virtual hard drive file"));
-    m_pVMMButton->setToolTip(UIWizardNewVM::tr("Choose a virtual hard drive file..."));
+    m_pDiskCnt->setTitle(UIWizardNewVM::tr("Hard disk"));
+    m_pDiskSkip->setText(UIWizardNewVM::tr("&Do not add a virtual hard disk"));
+    m_pDiskCreate->setText(UIWizardNewVM::tr("&Create a virtual hard disk now"));
+    m_pDiskPresent->setText(UIWizardNewVM::tr("&Use an existing virtual hard disk file"));
+    m_pVMMButton->setToolTip(UIWizardNewVM::tr("Choose a virtual hard disk file..."));
 }
 
 void UIWizardNewVMPageExpert::initializePage()
diff --git a/src/VBox/GuestHost/DragAndDrop/DnDURIList.cpp b/src/VBox/GuestHost/DragAndDrop/DnDURIList.cpp
index 13c9d08..d99aa2e 100644
--- a/src/VBox/GuestHost/DragAndDrop/DnDURIList.cpp
+++ b/src/VBox/GuestHost/DragAndDrop/DnDURIList.cpp
@@ -54,12 +54,12 @@ int DnDURIList::addEntry(const char *pcszSource, const char *pcszTarget, uint32_
     RTFSOBJINFO objInfo;
     int rc = RTPathQueryInfo(pcszSource, &objInfo, RTFSOBJATTRADD_NOTHING);
     if (RT_SUCCESS(rc))
-    {   
+    {
         if (RTFS_IS_FILE(objInfo.Attr.fMode))
         {
             LogFlowFunc(("File '%s' -> '%s'\n", pcszSource, pcszTarget));
 
-            m_lstTree.append(DnDURIObject(DnDURIObject::File, pcszSource, pcszTarget, 
+            m_lstTree.append(DnDURIObject(DnDURIObject::File, pcszSource, pcszTarget,
                              objInfo.Attr.fMode, (uint64_t)objInfo.cbObject));
             m_cTotal++;
             m_cbTotal += (uint64_t)objInfo.cbObject;
@@ -81,20 +81,20 @@ int DnDURIList::addEntry(const char *pcszSource, const char *pcszTarget, uint32_
     return rc;
 }
 
-int DnDURIList::appendPathRecursive(const char *pcszSrcPath, 
+int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                                     const char *pcszDstPath, const char *pcszDstBase, size_t cchDstBase, uint32_t fFlags)
 {
     AssertPtrReturn(pcszSrcPath, VERR_INVALID_POINTER);
     AssertPtrReturn(pcszDstBase, VERR_INVALID_POINTER);
     AssertPtrReturn(pcszDstPath, VERR_INVALID_POINTER);
-   
-    LogFlowFunc(("pcszSrcPath=%s, pcszDstPath=%s, pcszDstBase=%s, cchDstBase=%zu\n", 
+
+    LogFlowFunc(("pcszSrcPath=%s, pcszDstPath=%s, pcszDstBase=%s, cchDstBase=%zu\n",
                  pcszSrcPath, pcszDstPath, pcszDstBase, cchDstBase));
 
     RTFSOBJINFO objInfo;
     int rc = RTPathQueryInfo(pcszSrcPath, &objInfo, RTFSOBJATTRADD_NOTHING);
     if (RT_SUCCESS(rc))
-    {   
+    {
         if (RTFS_IS_DIRECTORY(objInfo.Attr.fMode))
         {
             rc = addEntry(pcszSrcPath, &pcszDstPath[cchDstBase], fFlags);
@@ -103,7 +103,7 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
             if (RT_SUCCESS(rc))
                 rc = RTDirOpen(&hDir, pcszSrcPath);
             if (RT_SUCCESS(rc))
-            {   
+            {
                 do
                 {
                     RTDIRENTRY DirEntry;
@@ -122,7 +122,7 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                             /* Skip "." and ".." entries. */
                             if (   RTStrCmp(DirEntry.szName, ".")  == 0
                                 || RTStrCmp(DirEntry.szName, "..") == 0)
-                                break;                           
+                                break;
 
                             char *pszSrc = RTPathJoinA(pcszSrcPath, DirEntry.szName);
                             if (pszSrc)
@@ -175,7 +175,7 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                                         if (RTFS_IS_DIRECTORY(objInfo.Attr.fMode))
                                         {
                                             LogFlowFunc(("Directory entry is symlink to directory\n"));
-                                            rc = appendPathRecursive(pszSrc, pcszDstPath, pcszDstBase, cchDstBase, fFlags); 
+                                            rc = appendPathRecursive(pszSrc, pcszDstPath, pcszDstBase, cchDstBase, fFlags);
                                         }
                                         else if (RTFS_IS_FILE(objInfo.Attr.fMode))
                                         {
@@ -187,7 +187,7 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                                     }
 
                                     RTStrFree(pszSrc);
-                                }        
+                                }
                                 else
                                     rc = VERR_NO_MEMORY;
                             }
@@ -220,7 +220,7 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                         if (RTFS_IS_DIRECTORY(objInfo.Attr.fMode))
                         {
                             LogFlowFunc(("Symlink to directory\n"));
-                            rc = appendPathRecursive(pszSrc, pcszDstPath, pcszDstBase, cchDstBase, fFlags); 
+                            rc = appendPathRecursive(pszSrc, pcszDstPath, pcszDstBase, cchDstBase, fFlags);
                         }
                         else if (RTFS_IS_FILE(objInfo.Attr.fMode))
                         {
@@ -232,9 +232,9 @@ int DnDURIList::appendPathRecursive(const char *pcszSrcPath,
                     }
 
                     RTStrFree(pszSrc);
-                }        
+                }
                 else
-                    rc = VERR_NO_MEMORY;          
+                    rc = VERR_NO_MEMORY;
             }
         }
         else
@@ -467,9 +467,11 @@ RTCString DnDURIList::RootToString(const RTCString &strPathBase /* = "" */,
                     LogFlowFunc(("URI: %s\n", strRet.c_str()));
                     RTStrFree(pszPathURI);
                 }
-                else
-                    break;
+
                 RTStrFree(pszPath);
+
+                if (!pszPathURI)
+                    break;
             }
             else
                 break;
diff --git a/src/VBox/GuestHost/OpenGL/include/cr_error.h b/src/VBox/GuestHost/OpenGL/include/cr_error.h
index 7a6b9e1..8541b10 100644
--- a/src/VBox/GuestHost/OpenGL/include/cr_error.h
+++ b/src/VBox/GuestHost/OpenGL/include/cr_error.h
@@ -61,7 +61,7 @@ DECLEXPORT(void) crError(const char *format, ... ) NORETURN_PRINTF;
 //extern int g_VBoxFbgFBreakDdi;
 #  define CR_DDI_PROLOGUE() do { /*if (g_VBoxFbgFBreakDdi) {Assert(0);}*/ } while (0)
 # else
-#  define CRASSERT( PRED ) ((PRED)?(void)0:crWarning( "Assertion failed: %s, file %s, line %d", #PRED, __FILE__, __LINE__))
+#  define CRASSERT( PRED ) ((PRED)?(void)0:crWarning( "Assertion failed: %s=%d, file %s, line %d", #PRED, (int)(intptr_t)(PRED), __FILE__, __LINE__))
 #  define CR_DDI_PROLOGUE() do {} while (0)
 # endif
 # define THREADASSERT( PRED ) ((PRED)?(void)0:crError( "Are you trying to run a threaded app ?\nBuild with 'make threadsafe'\nAssertion failed: %s, file %s, line %d", #PRED, __FILE__, __LINE__))
diff --git a/src/VBox/GuestHost/OpenGL/util/error.c b/src/VBox/GuestHost/OpenGL/util/error.c
index d142f87..a59407b 100644
--- a/src/VBox/GuestHost/OpenGL/util/error.c
+++ b/src/VBox/GuestHost/OpenGL/util/error.c
@@ -159,7 +159,7 @@ BOOL WINAPI DllMain(HINSTANCE hDLLInst, DWORD fdwReason, LPVOID lpvReserved)
         case DLL_PROCESS_ATTACH:
         {
             int rc;
-            rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); CRASSERT(rc);
+            rc = RTR3InitDll(RTR3INIT_FLAGS_UNOBTRUSIVE); CRASSERT(rc==0);
 # ifdef IN_GUEST
             rc = VbglR3Init();
 # endif
diff --git a/src/VBox/HostDrivers/Support/SUPDrv.cpp b/src/VBox/HostDrivers/Support/SUPDrv.cpp
index 9dcd7e9..9a6458e 100644
--- a/src/VBox/HostDrivers/Support/SUPDrv.cpp
+++ b/src/VBox/HostDrivers/Support/SUPDrv.cpp
@@ -227,10 +227,13 @@ static SUPFUNC g_aFunctions[] =
     { "RTHandleTableFreeWithCtx",               (void *)RTHandleTableFreeWithCtx },
     { "RTHandleTableLookupWithCtx",             (void *)RTHandleTableLookupWithCtx },
     { "RTLogDefaultInstance",                   (void *)RTLogDefaultInstance },
+    { "RTLogDefaultInstanceEx",                 (void *)RTLogDefaultInstanceEx },
     { "RTLogGetDefaultInstance",                (void *)RTLogGetDefaultInstance },
+    { "RTLogGetDefaultInstanceEx",              (void *)RTLogGetDefaultInstanceEx },
     { "RTLogLoggerExV",                         (void *)RTLogLoggerExV },
     { "RTLogPrintfV",                           (void *)RTLogPrintfV },
-    { "RTLogRelDefaultInstance",                (void *)RTLogRelDefaultInstance },
+    { "RTLogRelGetDefaultInstance",             (void *)RTLogRelGetDefaultInstance },
+    { "RTLogRelGetDefaultInstanceEx",           (void *)RTLogRelGetDefaultInstanceEx },
     { "RTLogSetDefaultInstanceThread",          (void *)RTLogSetDefaultInstanceThread },
     { "RTMemAllocExTag",                        (void *)RTMemAllocExTag },
     { "RTMemAllocTag",                          (void *)RTMemAllocTag },
@@ -5327,7 +5330,7 @@ static int supdrvIOCtl_LoggerSettings(PSUPDRVDEVEXT pDevExt, PSUPDRVSESSION pSes
             break;
 
         case SUPLOGGERSETTINGS_WHICH_RELEASE:
-            pLogger = RTLogRelDefaultInstance();
+            pLogger = RTLogRelGetDefaultInstance();
             break;
 
         default:
diff --git a/src/VBox/HostDrivers/Support/SUPDrvIOC.h b/src/VBox/HostDrivers/Support/SUPDrvIOC.h
index d19bd1d..4f2b38c 100644
--- a/src/VBox/HostDrivers/Support/SUPDrvIOC.h
+++ b/src/VBox/HostDrivers/Support/SUPDrvIOC.h
@@ -212,9 +212,9 @@ typedef SUPREQHDR *PSUPREQHDR;
  *  -# When increment the major number, execute all pending work.
  *
  * @todo Pending work on next major version change:
- *          - (nothing)
+ *          - nothing.
  */
-#define SUPDRV_IOC_VERSION                              0x00220000
+#define SUPDRV_IOC_VERSION                              0x00230000
 
 /** SUP_IOCTL_COOKIE. */
 typedef struct SUPCOOKIE
diff --git a/src/VBox/HostDrivers/Support/SUPLib.cpp b/src/VBox/HostDrivers/Support/SUPLib.cpp
index 85679bb..c334cca 100644
--- a/src/VBox/HostDrivers/Support/SUPLib.cpp
+++ b/src/VBox/HostDrivers/Support/SUPLib.cpp
@@ -278,8 +278,8 @@ SUPR3DECL(int) SUPR3InitEx(bool fUnrestricted, PSUPDRVSESSION *ppSession)
         CookieReq.Hdr.rc = VERR_INTERNAL_ERROR;
         strcpy(CookieReq.u.In.szMagic, SUPCOOKIE_MAGIC);
         CookieReq.u.In.u32ReqVersion = SUPDRV_IOC_VERSION;
-        const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x00200000
-                                   ? 0x00200000
+        const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x00230000
+                                   ? 0x00230000
                                    : SUPDRV_IOC_VERSION & 0xffff0000;
         CookieReq.u.In.u32MinVersion = uMinVersion;
         rc = suplibOsIOCtl(&g_supLibData, SUP_IOCTL_COOKIE, &CookieReq, SUP_IOCTL_COOKIE_SIZE);
@@ -492,7 +492,7 @@ static int supInitFake(PSUPDRVSESSION *ppSession)
         { "RTTimerReleaseSystemGranularity",        0xefef003a },
         { "RTTimerCanDoHighResolution",             0xefef003a },
         { "RTLogDefaultInstance",                   0xefef003b },
-        { "RTLogRelDefaultInstance",                0xefef003c },
+        { "RTLogRelGetDefaultInstance",             0xefef003c },
         { "RTLogSetDefaultInstanceThread",          0xefef003d },
         { "RTLogLogger",                            0xefef003e },
         { "RTLogLoggerEx",                          0xefef003f },
diff --git a/src/VBox/HostDrivers/Support/darwin/SUPLib-darwin.cpp b/src/VBox/HostDrivers/Support/darwin/SUPLib-darwin.cpp
index c14a6a5..7761a9b 100644
--- a/src/VBox/HostDrivers/Support/darwin/SUPLib-darwin.cpp
+++ b/src/VBox/HostDrivers/Support/darwin/SUPLib-darwin.cpp
@@ -31,10 +31,8 @@
 #ifdef IN_SUP_HARDENED_R3
 # undef DEBUG /* Warning: disables RT_STRICT */
 # define LOG_DISABLED
-  /** @todo RTLOGREL_DISABLED */
+# define RTLOG_REL_DISABLED
 # include <iprt/log.h>
-# undef LogRelIt
-# define LogRelIt(pvInst, fFlags, iGroup, fmtargs) do { } while (0)
 #endif
 
 #include <VBox/types.h>
diff --git a/src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp b/src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp
index f4c649b..036cbe6 100644
--- a/src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp
+++ b/src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp
@@ -31,10 +31,8 @@
 #ifdef IN_SUP_HARDENED_R3
 # undef DEBUG /* Warning: disables RT_STRICT */
 # define LOG_DISABLED
-  /** @todo RTLOGREL_DISABLED */
+# define RTLOG_REL_DISABLED
 # include <iprt/log.h>
-# undef LogRelIt
-# define LogRelIt(pvInst, fFlags, iGroup, fmtargs) do { } while (0)
 #endif
 
 #include <VBox/types.h>
diff --git a/src/VBox/HostDrivers/Support/linux/SUPLib-linux.cpp b/src/VBox/HostDrivers/Support/linux/SUPLib-linux.cpp
index 138f832..5e8358c 100644
--- a/src/VBox/HostDrivers/Support/linux/SUPLib-linux.cpp
+++ b/src/VBox/HostDrivers/Support/linux/SUPLib-linux.cpp
@@ -32,10 +32,8 @@
 # undef DEBUG /* Warning: disables RT_STRICT */
 # undef RT_STRICT
 # define LOG_DISABLED
-  /** @todo RTLOGREL_DISABLED */
+# define RTLOG_REL_DISABLED
 # include <iprt/log.h>
-# undef LogRelIt
-# define LogRelIt(pvInst, fFlags, iGroup, fmtargs) do { } while (0)
 #endif
 
 #include <sys/fcntl.h>
diff --git a/src/VBox/HostDrivers/Support/os2/SUPLib-os2.cpp b/src/VBox/HostDrivers/Support/os2/SUPLib-os2.cpp
index 83145ce..1ee7655 100644
--- a/src/VBox/HostDrivers/Support/os2/SUPLib-os2.cpp
+++ b/src/VBox/HostDrivers/Support/os2/SUPLib-os2.cpp
@@ -35,10 +35,8 @@
 #ifdef IN_SUP_HARDENED_R3
 # undef DEBUG /* Warning: disables RT_STRICT */
 # define LOG_DISABLED
-  /** @todo RTLOGREL_DISABLED */
+# define RTLOG_REL_DISABLED
 # include <iprt/log.h>
-# undef LogRelIt
-# define LogRelIt(pvInst, fFlags, iGroup, fmtargs) do { } while (0)
 #endif
 
 #include <VBox/types.h>
diff --git a/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c b/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c
index 912a6d5..21cabea 100644
--- a/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c
+++ b/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_SUP_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <sys/types.h>
 #include <sys/param.h>
 #include <sys/errno.h>
diff --git a/src/VBox/HostDrivers/Support/solaris/SUPLib-solaris.cpp b/src/VBox/HostDrivers/Support/solaris/SUPLib-solaris.cpp
index 4e9ce2c..e1d00b7 100644
--- a/src/VBox/HostDrivers/Support/solaris/SUPLib-solaris.cpp
+++ b/src/VBox/HostDrivers/Support/solaris/SUPLib-solaris.cpp
@@ -31,10 +31,8 @@
 #ifdef IN_SUP_HARDENED_R3
 # undef DEBUG /* Warning: disables RT_STRICT */
 # define LOG_DISABLED
-  /** @todo RTLOGREL_DISABLED */
+# define RTLOG_REL_DISABLED
 # include <iprt/log.h>
-# undef LogRelIt
-# define LogRelIt(pvInst, fFlags, iGroup, fmtargs) do { } while (0)
 #endif
 
 #include <VBox/types.h>
diff --git a/src/VBox/HostDrivers/Support/win/winstub.com b/src/VBox/HostDrivers/Support/win/winstub.com
deleted file mode 100644
index 671e58c..0000000
Binary files a/src/VBox/HostDrivers/Support/win/winstub.com and /dev/null differ
diff --git a/src/VBox/HostDrivers/VBoxNetAdp/solaris/VBoxNetAdp-solaris.c b/src/VBox/HostDrivers/VBoxNetAdp/solaris/VBoxNetAdp-solaris.c
index 408007d..415e234 100644
--- a/src/VBox/HostDrivers/VBoxNetAdp/solaris/VBoxNetAdp-solaris.c
+++ b/src/VBox/HostDrivers/VBoxNetAdp/solaris/VBoxNetAdp-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_NET_ADP_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <VBox/log.h>
 #include <VBox/err.h>
 #include <VBox/version.h>
diff --git a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
index c2a51d2..50fd939 100644
--- a/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
+++ b/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c
@@ -28,6 +28,7 @@
 #include <linux/rtnetlink.h>
 #include <linux/miscdevice.h>
 #include <linux/inetdevice.h>
+#include <linux/in.h>
 #include <linux/ip.h>
 #include <linux/if_vlan.h>
 #include <net/if_inet6.h>
@@ -54,6 +55,13 @@
 #define VBOXNETFLT_OS_SPECFIC 1
 #include "../VBoxNetFltInternal.h"
 
+typedef struct VBOXNETFLTNOTIFIER {
+    struct notifier_block Notifier;
+    PVBOXNETFLTINS pThis;
+} VBOXNETFLTNOTIFIER;
+typedef struct VBOXNETFLTNOTIFIER *PVBOXNETFLTNOTIFIER;
+
+
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
 # define vlan_tx_tag_get(skb)       skb_vlan_tag_get(skb)
 # define vlan_tx_tag_present(skb)   skb_vlan_tag_present(skb)
@@ -69,16 +77,16 @@
 # define VBOX_FLT_XT_TO_INST(pXT)   RT_FROM_MEMBER(pXT, VBOXNETFLTINS, u.s.XmitTask)
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
-# define VBOX_NETDEV_NAME(dev)              netdev_name(dev)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
+# define VBOX_NETDEV_NOTIFIER_INFO_TO_DEV(ptr) netdev_notifier_info_to_dev(ptr)
 #else
-# define VBOX_NETDEV_NAME(dev)              ((dev)->reg_state != NETREG_REGISTERED ? "(unregistered net_device)" : (dev)->name)
+# define VBOX_NETDEV_NOTIFIER_INFO_TO_DEV(ptr) ((struct net_device *)ptr)
 #endif
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)
-# define VBOX_DEV_NET(dev)                  dev_net(dev)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34)
+# define VBOX_NETDEV_NAME(dev)              netdev_name(dev)
 #else
-# define VBOX_DEV_NET(dev)                  ((dev)->nd_net)
+# define VBOX_NETDEV_NAME(dev)              ((dev)->reg_state != NETREG_REGISTERED ? "(unregistered net_device)" : (dev)->name)
 #endif
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
@@ -1824,15 +1832,13 @@ static int vboxNetFltLinuxNotifierCallback(struct notifier_block *self, unsigned
 
 {
     PVBOXNETFLTINS      pThis = VBOX_FLT_NB_TO_INST(self);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
-    struct net_device  *pDev  = netdev_notifier_info_to_dev(ptr);
-#else
-    struct net_device  *pDev  = (struct net_device *)ptr;
-#endif
+    struct net_device  *pMyDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
+    struct net_device  *pDev  = VBOX_NETDEV_NOTIFIER_INFO_TO_DEV(ptr);
     int                 rc    = NOTIFY_OK;
 
     Log(("VBoxNetFlt: got event %s(0x%lx) on %s, pDev=%p pThis=%p pThis->u.s.pDev=%p\n",
-         vboxNetFltLinuxGetNetDevEventName(ulEventType), ulEventType, pDev->name, pDev, pThis, ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *)));
+         vboxNetFltLinuxGetNetDevEventName(ulEventType), ulEventType, pDev->name, pDev, pThis, pMyDev));
+
     if (    ulEventType == NETDEV_REGISTER
         && !strcmp(pDev->name, pThis->szName))
     {
@@ -1840,8 +1846,7 @@ static int vboxNetFltLinuxNotifierCallback(struct notifier_block *self, unsigned
     }
     else
     {
-        pDev = ASMAtomicUoReadPtrT(&pThis->u.s.pDev, struct net_device *);
-        if (pDev == ptr)
+        if (pDev == pMyDev)
         {
             switch (ulEventType)
             {
@@ -1871,7 +1876,71 @@ static int vboxNetFltLinuxNotifierCallback(struct notifier_block *self, unsigned
     return rc;
 }
 
-#if 0 /* XXX: temporarily disable */
+static int vboxNetFltLinuxEnumeratorCallback(struct notifier_block *self, unsigned long ulEventType, void *ptr)
+{
+    PVBOXNETFLTINS pThis = ((PVBOXNETFLTNOTIFIER)self)->pThis;
+    struct net_device *dev  = VBOX_NETDEV_NOTIFIER_INFO_TO_DEV(ptr);
+    struct in_device *in_dev;
+    struct inet6_dev *in6_dev;
+
+    if (ulEventType != NETDEV_REGISTER)
+        return NOTIFY_OK;
+
+    if (RT_UNLIKELY(pThis->pSwitchPort->pfnNotifyHostAddress == NULL))
+        return NOTIFY_OK;
+
+    /*
+     * IPv4
+     */
+    in_dev = __in_dev_get_rcu(dev);
+    if (in_dev != NULL)
+    {
+        for_ifa(in_dev) {
+            if (IN_LOOPBACK(ntohl(ifa->ifa_address)))
+                return NOTIFY_OK;
+
+            Log(("%s: %s: IPv4 addr %RTnaipv4 mask %RTnaipv4\n",
+                 __FUNCTION__, VBOX_NETDEV_NAME(dev),
+                 ifa->ifa_address, ifa->ifa_mask));
+            
+            pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
+                /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
+        } endfor_ifa(in_dev);
+    }
+
+    /*
+     * IPv6
+     */
+    in6_dev = __in6_dev_get(dev);
+    if (in6_dev != NULL)
+    {
+        struct inet6_ifaddr *ifa;
+
+        read_lock_bh(&in6_dev->lock);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
+        list_for_each_entry(ifa, &in6_dev->addr_list, if_list)
+#else
+        for (ifa = in6_dev->addr_list; ifa != NULL; ifa = ifa->if_next)
+#endif
+        {
+            if (   dev != pThis->u.s.pDev
+                && ipv6_addr_src_scope(&ifa->addr) <= IPV6_ADDR_SCOPE_LINKLOCAL)
+                continue;
+
+            Log(("%s: %s: IPv6 addr %RTnaipv6/%u\n",
+                 __FUNCTION__, VBOX_NETDEV_NAME(dev),
+                 &ifa->addr, (unsigned)ifa->prefix_len));
+
+            pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
+                /* :fAdded */ true, kIntNetAddrType_IPv6, &ifa->addr);
+        }
+        read_unlock_bh(&in6_dev->lock);
+    }
+
+    return NOTIFY_OK;
+}
+
+
 static int vboxNetFltLinuxNotifierIPv4Callback(struct notifier_block *self, unsigned long ulEventType, void *ptr)
 {
     PVBOXNETFLTINS     pThis = RT_FROM_MEMBER(self, VBOXNETFLTINS, u.s.NotifierIPv4);
@@ -1938,7 +2007,6 @@ static int vboxNetFltLinuxNotifierIPv6Callback(struct notifier_block *self, unsi
 
     return rc;
 }
-#endif /* 0 */
 
 
 bool vboxNetFltOsMaybeRediscovered(PVBOXNETFLTINS pThis)
@@ -2168,79 +2236,29 @@ int  vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, void *pvContext)
         || !try_module_get(THIS_MODULE))
         return VERR_INTNET_FLT_IF_FAILED;
 
-#if 0 /* XXX: temporarily disable */
     if (pThis->pSwitchPort->pfnNotifyHostAddress)
     {
-        struct net *net = VBOX_DEV_NET(pThis->u.s.pDev);
-        struct net_device *dev;
+        VBOXNETFLTNOTIFIER Enumerator;
 
-#if !defined(for_each_netdev_rcu) /* introduced in 2.6.33 */
-        read_lock(&dev_base_lock);
-#endif
-        rcu_read_lock();
+        /*
+         * register_inetaddr_notifier() and register_inet6addr_notifier()
+         * do not call the callback for existing devices.  Enumerating
+         * all network devices explicitly is a bit of an ifdef mess,
+         * so co-opt register_netdevice_notifier() to do that for us.
+         */
+        RT_ZERO(Enumerator);
+        Enumerator.Notifier.notifier_call = vboxNetFltLinuxEnumeratorCallback;
+        Enumerator.pThis = pThis;
 
-#if !defined(for_each_netdev_rcu)
-        for_each_netdev(net, dev)
-#else
-        for_each_netdev_rcu(net, dev)
-#endif
+        err = register_netdevice_notifier(&Enumerator.Notifier);
+        if (err)
         {
-            struct in_device *in_dev;
-            struct inet6_dev *in6_dev;
-
-            /*
-             * IPv4
-             */
-            in_dev = __in_dev_get_rcu(dev);
-            if (in_dev != NULL)
-            {
-                for_ifa(in_dev) {
-                    if (ifa->ifa_address == htonl(INADDR_LOOPBACK))
-                        goto continue_netdev;
-
-                    Log(("%s: %s: IPv4: addr %RTnaipv4 mask %RTnaipv4\n",
-                         __FUNCTION__, VBOX_NETDEV_NAME(dev),
-                         ifa->ifa_address, ifa->ifa_mask));
-
-                    pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
-                        /* :fAdded */ true, kIntNetAddrType_IPv4, &ifa->ifa_address);
-                } endfor_ifa(in_dev);
-            }
-
-            /*
-             * IPv6
-             */
-            in6_dev = __in6_dev_get(dev);
-            if (in6_dev != NULL)
-            {
-                struct inet6_ifaddr *ifa;
-
-                read_lock_bh(&in6_dev->lock);
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 35)
-                list_for_each_entry(ifa, &in6_dev->addr_list, if_list)
-#else
-                for (ifa = in6_dev->addr_list; ifa != NULL; ifa = ifa->if_next)
-#endif
-                {
-                    Log(("%s: %s: IPv6: addr %RTnaipv6/%u\n",
-                         __FUNCTION__, VBOX_NETDEV_NAME(dev),
-                         &ifa->addr, (unsigned)ifa->prefix_len));
-
-                    pThis->pSwitchPort->pfnNotifyHostAddress(pThis->pSwitchPort,
-                        /* :fAdded */ true, kIntNetAddrType_IPv6, &ifa->addr);
-                }
-                read_unlock_bh(&in6_dev->lock);
-            }
-
-          continue_netdev:
-            /* continue */;
+            LogRel(("%s: failed to enumerate network devices: error %d\n",
+                    __FUNCTION__, err));
+            return VINF_SUCCESS;
         }
-        rcu_read_unlock();
-#if !defined(for_each_netdev_rcu)
-        read_unlock(&dev_base_lock);
-#endif
 
-        Log(("%s: pfnNotifyHostAddress is set, register notifiers\n", __FUNCTION__));
+        unregister_netdevice_notifier(&Enumerator.Notifier);
 
         pThis->u.s.NotifierIPv4.notifier_call = vboxNetFltLinuxNotifierIPv4Callback;
         err = register_inetaddr_notifier(&pThis->u.s.NotifierIPv4);
@@ -2254,9 +2272,6 @@ int  vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, void *pvContext)
             LogRel(("%s: failed to register IPv6 notifier: error %d\n",
                     __FUNCTION__, err));
     }
-    else
-        Log(("%s: uwe: pfnNotifyHostAddress is NULL\n", __FUNCTION__));
-#endif
 
     return VINF_SUCCESS;
 }
diff --git a/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c b/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c
index 3815d56..c34f33a 100644
--- a/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c
+++ b/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFlt-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_NET_FLT_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <VBox/log.h>
 #include <VBox/err.h>
 #include <VBox/intnetinline.h>
diff --git a/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFltBow-solaris.c b/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFltBow-solaris.c
index 66abacf..06eea1f 100644
--- a/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFltBow-solaris.c
+++ b/src/VBox/HostDrivers/VBoxNetFlt/solaris/VBoxNetFltBow-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_NET_FLT_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <VBox/log.h>
 #include <VBox/err.h>
 #include <VBox/intnetinline.h>
diff --git a/src/VBox/HostDrivers/VBoxUSB/solaris/USBLib-solaris.cpp b/src/VBox/HostDrivers/VBoxUSB/solaris/USBLib-solaris.cpp
index c7f1b00..4a0821b 100644
--- a/src/VBox/HostDrivers/VBoxUSB/solaris/USBLib-solaris.cpp
+++ b/src/VBox/HostDrivers/VBoxUSB/solaris/USBLib-solaris.cpp
@@ -19,9 +19,6 @@
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
-#ifdef DEBUG_ramshankar
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <VBox/usblib.h>
 #include <VBox/err.h>
 #include <VBox/log.h>
diff --git a/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSB-solaris.c b/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSB-solaris.c
index f1be6b5..f883209 100644
--- a/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSB-solaris.c
+++ b/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSB-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP LOG_GROUP_USB_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include <VBox/version.h>
 #include <VBox/log.h>
 #include <VBox/err.h>
diff --git a/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSBMon-solaris.c b/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSBMon-solaris.c
index 6c7e908..e3741bb 100644
--- a/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSBMon-solaris.c
+++ b/src/VBox/HostDrivers/VBoxUSB/solaris/VBoxUSBMon-solaris.c
@@ -28,10 +28,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
 #define LOG_GROUP  LOG_GROUP_USB_DRV
-#ifdef DEBUG_ramshankar
-# define LOG_ENABLED
-# define LOG_INSTANCE       RTLogRelDefaultInstance()
-#endif
 #include "VBoxUSBFilterMgr.h"
 #include <VBox/usblib-solaris.h>
 #include <VBox/version.h>
diff --git a/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp b/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp
index 8a70331..5ebf5a4 100644
--- a/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp
+++ b/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp
@@ -599,7 +599,7 @@ static int usbLibDevStrDrEntryGet(HANDLE hHub, ULONG iPort, ULONG iDr, USHORT id
                          &cbReturned, NULL))
     {
         DWORD dwErr = GetLastError();
-        AssertMsgFailed(("Getting USB descriptor failed with error %ld\n", dwErr));
+        LogRel(("Getting USB descriptor failed with error %ld\n", dwErr));
         return RTErrConvertFromWin32(dwErr);
     }
 
@@ -662,7 +662,10 @@ static int usbLibDevStrDrEntryGetAll(HANDLE hHub, ULONG iPort, PUSB_DEVICE_DESCR
     /* Read string descriptor zero to determine what languages are available. */
     int rc = usbLibDevStrDrEntryGet(hHub, iPort, 0, 0, ppList);
     if (RT_FAILURE(rc))
+    {
+        AssertRC(rc);
         return rc;
+    }
 
     PUSB_STRING_DESCRIPTOR pLandStrDr = &(*ppList)->StrDr;
     USHORT *pIdLang = pLandStrDr->bString;
diff --git a/src/VBox/HostServices/GuestControl/service.cpp b/src/VBox/HostServices/GuestControl/service.cpp
index 0569be7..c4e55d3 100644
--- a/src/VBox/HostServices/GuestControl/service.cpp
+++ b/src/VBox/HostServices/GuestControl/service.cpp
@@ -700,7 +700,7 @@ typedef struct ClientState
                     break;
                 }
 
-                curItem++;
+                ++curItem;
             }
         }
 
@@ -1083,7 +1083,7 @@ int Service::clientDisconnect(uint32_t u32ClientID, void *pvClient)
         mClientStateMap.erase(itClientState);
     }
 
-    bool fAllClientsDisconnected = mClientStateMap.size() == 0;
+    bool fAllClientsDisconnected = mClientStateMap.empty();
     if (fAllClientsDisconnected)
     {
         LogFlowFunc(("All clients disconnected, cancelling all host commands ...\n"));
@@ -1338,7 +1338,7 @@ int Service::hostProcessCommand(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVC
      * waiting for a response from the guest side in case VBoxService on
      * the guest is not running/system is messed up somehow.
      */
-    if (mClientStateMap.size() == 0)
+    if (mClientStateMap.empty())
         return VERR_NOT_FOUND;
 
     int rc;
@@ -1389,7 +1389,7 @@ int Service::hostProcessCommand(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVC
 #endif
             }
 
-            itClientState++;
+            ++itClientState;
         }
 
 #ifdef DEBUG
@@ -1528,7 +1528,7 @@ int Service::hostCall(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paPar
                     if (RT_FAILURE(rc2))
                         LogFlowFunc(("Cancelling waiting for client ID=%RU32 failed with rc=%Rrc",
                                      itClientState->first, rc2));
-                    itClientState++;
+                    ++itClientState;
                 }
                 rc = VINF_SUCCESS;
                 break;
diff --git a/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp b/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
index 3c628d9..7a56d65 100644
--- a/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
+++ b/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
@@ -85,9 +85,9 @@ static DECLCALLBACK(void) svcNotifyEventCB(int32_t screenId, uint32_t uEvent, vo
         return;
     }
 
-    CHECK_ERROR2_STMT(g_pConsole, COMGETTER(Display)(pDisplay.asOutParam()), return);
+    CHECK_ERROR2I_STMT(g_pConsole, COMGETTER(Display)(pDisplay.asOutParam()), return);
 
-    CHECK_ERROR2_STMT(pDisplay, QueryFramebuffer(screenId, pFramebuffer.asOutParam()), return);
+    CHECK_ERROR2I_STMT(pDisplay, QueryFramebuffer(screenId, pFramebuffer.asOutParam()), return);
 
     if (!pFramebuffer)
         return;
diff --git a/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.cpp b/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.cpp
index 61f35b4..703de4f 100644
--- a/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.cpp
+++ b/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.cpp
@@ -195,6 +195,10 @@ static int crFbBltGetContentsScaledDirect(HCR_FRAMEBUFFER hFb, const RTRECTSIZE
     CR_TEXDATA *pEnteredTex = NULL;
     PCR_BLITTER pEnteredBlitter = NULL;
 
+    /* Scaled texture size and rect calculated for every new "entered" texture. */
+    uint32_t width = 0, height = 0;
+    RTRECT ScaledSrcRect = {0};
+
     VBOXVR_SCR_COMPOSITOR_CONST_ITERATOR Iter;
     int32_t srcWidth = pSrcRectSize->cx;
     int32_t srcHeight = pSrcRectSize->cy;
@@ -227,10 +231,6 @@ static int crFbBltGetContentsScaledDirect(HCR_FRAMEBUFFER hFb, const RTRECTSIZE
         ScaledEntryPoint.x = CR_FLOAT_RCAST(int32_t, strX * CrVrScrCompositorEntryRectGet(pEntry)->xLeft) + pDstRect->xLeft;
         ScaledEntryPoint.y = CR_FLOAT_RCAST(int32_t, strY * CrVrScrCompositorEntryRectGet(pEntry)->yTop) + pDstRect->yTop;
 
-        /* Scaled texture size and rect. */
-        uint32_t width = 0, height = 0;
-        RTRECT ScaledSrcRect = {0};
-
         CR_TEXDATA *pTex = CrVrScrCompositorEntryTexGet(pEntry);
 
         /* Optimization to avoid entering/leaving the same texture and its blitter. */
@@ -3954,9 +3954,12 @@ int8_t crVBoxServerCrCmdBltProcess(const VBOXCMDVBVA_BLT_HDR *pCmd, uint32_t cbC
     }
 }
 
-int8_t crVBoxServerCrCmdFlipProcess(const VBOXCMDVBVA_FLIP *pFlip)
+int8_t crVBoxServerCrCmdFlipProcess(const VBOXCMDVBVA_FLIP *pFlip, uint32_t cbCmd)
 {
     uint32_t hostId;
+    const VBOXCMDVBVA_RECT *pPRects = pFlip->aRects;
+    uint32_t cRects;
+
     if (pFlip->Hdr.u8Flags & VBOXCMDVBVA_OPF_OPERAND1_ISID)
     {
         hostId = pFlip->src.u.id;
@@ -3980,9 +3983,26 @@ int8_t crVBoxServerCrCmdFlipProcess(const VBOXCMDVBVA_FLIP *pFlip)
         return 0;
     }
 
-    const RTRECT *pRect = CrVrScrCompositorRectGet(&hFb->Compositor);
-    crServerDispatchVBoxTexPresent(hostId, idFb, 0, 0, 1, (const GLint*)pRect);
-    return 0;
+    cRects = (cbCmd - VBOXCMDVBVA_SIZEOF_FLIPSTRUCT_MIN) / sizeof (VBOXCMDVBVA_RECT);
+    if (cRects > 0)
+    {
+        RTRECT *pRects = crVBoxServerCrCmdBltRecsUnpack(pPRects, cRects);
+        if (pRects)
+        {
+            crServerDispatchVBoxTexPresent(hostId, idFb, 0, 0, cRects, (const GLint*)pRects);
+            return 0;
+        }
+    }
+    else
+    {
+        /* Prior to r100476 guest WDDM driver was not supplying us with sub-rectangles
+         * data obtained in DxgkDdiPresentNew() callback. Therefore, in order to support backward compatibility,
+         * lets play in old way if no rectangles were supplied. */
+        const RTRECT *pRect = CrVrScrCompositorRectGet(&hFb->Compositor);
+        crServerDispatchVBoxTexPresent(hostId, idFb, 0, 0, 1, (const GLint*)pRect);
+    }
+
+    return -1;
 }
 
 typedef struct CRSERVER_CLIENT_CALLOUT
diff --git a/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h b/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h
index c33cd48..719637f 100644
--- a/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h
+++ b/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h
@@ -471,7 +471,7 @@ void CrFbTexDataInit(CR_TEXDATA* pFbTex, const VBOXVR_TEXTURE *pTex, PFNCRTEXDAT
 
 int8_t crVBoxServerCrCmdBltProcess(const VBOXCMDVBVA_BLT_HDR *pCmd, uint32_t cbCmd);
 int8_t crVBoxServerCrCmdClrFillProcess(const VBOXCMDVBVA_CLRFILL_HDR *pCmd, uint32_t cbCmd);
-int8_t crVBoxServerCrCmdFlipProcess(const VBOXCMDVBVA_FLIP *pFlip);
+int8_t crVBoxServerCrCmdFlipProcess(const VBOXCMDVBVA_FLIP *pFlip, uint32_t cbCmd);
 
 
 int32_t crVBoxServerClientGet(uint32_t u32ClientID, CRClient **ppClient);
diff --git a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
index f653b18..c6922a0 100644
--- a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
+++ b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
@@ -3552,14 +3552,14 @@ static DECLCALLBACK(int8_t) crVBoxCrCmdCmd(HVBOXCRCMDSVR hSvr, const VBOXCMDVBVA
         {
             const VBOXCMDVBVA_FLIP *pFlip;
 
-            if (cbCmd < sizeof (VBOXCMDVBVA_FLIP))
+            if (cbCmd < VBOXCMDVBVA_SIZEOF_FLIPSTRUCT_MIN)
             {
-                WARN(("invalid buffer size"));
+                WARN(("invalid buffer size (cbCmd(%u) < sizeof(VBOXCMDVBVA_FLIP)(%u))", cbCmd, sizeof(VBOXCMDVBVA_FLIP)));
                 return -1;
             }
 
             pFlip = (const VBOXCMDVBVA_FLIP*)pCmd;
-            return crVBoxServerCrCmdFlipProcess(pFlip);
+            return crVBoxServerCrCmdFlipProcess(pFlip, cbCmd);
         }
         case VBOXCMDVBVA_OPTYPE_BLT:
         {
diff --git a/src/VBox/Installer/darwin/Makefile.kmk b/src/VBox/Installer/darwin/Makefile.kmk
index a4bf651..cedac76 100644
--- a/src/VBox/Installer/darwin/Makefile.kmk
+++ b/src/VBox/Installer/darwin/Makefile.kmk
@@ -812,7 +812,7 @@ $(VBOX_PATH_PACK_TMP)/Packages/VirtualBoxCLI.pkg: \
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VirtualBox "$$@"'
 	$(APPEND) -tn  $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxManage \
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxManage "$$@"'
-	$(APPEND)  -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxVRDP \
+	$(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxVRDP \
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless "$$@"'
 	$(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxHeadless \
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless "$$@"'
@@ -821,7 +821,7 @@ ifdef VBOX_WITH_WEBSERVICES
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/vboxwebsrv "$$@"'
 endif
 if defined(VBOX_WITH_VBOX_IMG) || defined(VBOX_WITH_TESTCASES)
-	$(APPEND) $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/vbox-img \
+	$(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/vbox-img \
 		'#!/bin/bash' 'exec /Applications/VirtualBox.app/Contents/MacOS/vbox-img "$$@"'
 endif
 	$(APPEND) -tn $(VBOX_PATH_PACK_TMP)/VirtualBoxCLI.pkg.root/usr/bin/VBoxBalloonCtrl \
diff --git a/src/VBox/Installer/linux/rpm/rules b/src/VBox/Installer/linux/rpm/rules
index e6477f8..4f9dc13 100755
--- a/src/VBox/Installer/linux/rpm/rules
+++ b/src/VBox/Installer/linux/rpm/rules
@@ -138,7 +138,7 @@ cfg_flags := $(if $(NOQT),--disable-qt,) \
 	     $(if $(filter el5 centos5 sles10.1,$(rpmrel)),--disable-sdl-ttf,) \
 	     $(if $(filter sles10.1,$(rpmrel)),--disable-pulse,) \
 	     $(if $(filter el5 ol5 centos5,$(rpmrel)),--enable-pulse,) \
-	     $(if $(filter el5 ol5 centos5 sles10.1 sles11.0,$(rpmrel)),--with-qt4-dir=/home/vbox/Qt-4.7.4-stdc++6-$(arch)) \
+	     $(if $(filter el5 ol5 centos5 el6 ol6 centos6 sles10.1 sles11.0,$(rpmrel)),--with-qt4-dir=/home/vbox/Qt-4.8.6-stdc++6-$(arch)) \
 	     $(if $(ose),--ose,) $(if $(LINUX),--with-linux=$(LINUX),) \
 	     $(if $(HEADLESS),--build-headless,) \
 	     $(if $(DEBUG),--build-debug,) \
diff --git a/src/VBox/Installer/solaris/Makefile.kmk b/src/VBox/Installer/solaris/Makefile.kmk
index 25233b1..7ed3aba 100644
--- a/src/VBox/Installer/solaris/Makefile.kmk
+++ b/src/VBox/Installer/solaris/Makefile.kmk
@@ -122,7 +122,7 @@ solaris-icons_SOURCES = $(foreach f,$(VBOX_SI_ICON_TYPES), $(foreach s,$(VBOX_SI
 # types of files going from/to various places during installation.
 #
 # Each list has the following attributes (used by makefile command and
-# depency generation):
+# dependency generation):
 #       .SUBDIRS := <yes|no>
 #       .STRIP   := <yes|objcopy|no>
 #       .MODE    := <0644|0755>
@@ -135,7 +135,7 @@ solaris-icons_SOURCES = $(foreach f,$(VBOX_SI_ICON_TYPES), $(foreach s,$(VBOX_SI
 SOLARIS_FILE_LIST_VARS :=
 
 ## @def SOLARIS_ETC_FILES
-# Service management facility manifest files to copy from VBOX_PATH_SOL_INST_SRC to /var/svc/manifest/application/virtualbox/.
+# System-wide configuration files to copy from VBOX_PATH_SOL_INST_SRC to /etc.
 SOLARIS_FILE_LIST_VARS += SOLARIS_ETC_FILES
 SOLARIS_ETC_FILES.SUBDIRS := yes
 SOLARIS_ETC_FILES.STRIP   := no
@@ -303,7 +303,7 @@ SOLARIS_STRIP_EXES = \
 	$(if $(VBOX_WITH_CROGL),VBoxTestOGL,) \
 	VBoxXPCOMIPCD \
 	$(if $(VBOX_WITH_KCHMVIEWER),kchmviewer,) \
-       $(if $(VBOX_WITH_DTRACE),VBoxDTrace,)
+	$(if $(VBOX_WITH_DTRACE),VBoxDTrace,)
 
 ## @def SOLARIS_STRIP_BINS
 # List of shared libraries that are copied from INST_BIN to /opt/VirtualBox/$(VBOX_SI_ARCH)/ and stripped of debug info.
@@ -430,7 +430,7 @@ ifdef VBOX_WITH_QTGUI
   	libQtSqlVBox.so.4 \
   	libQt3SupportVBox.so.4
   SOLARIS_USRBIN_LINKS += \
-	VBoxQtconfig
+  	VBoxQtconfig
  endif
  include $(PATH_ROOT)/src/VBox/Frontends/VirtualBox/nls/ApprovedLanguages.kmk
  SOLARIS_COMMON += $(foreach f,$(VBOX_APPROVED_GUI_LANGUAGES),nls/VirtualBox_$(f).qm nls/qt_$(f).qm)
diff --git a/src/VBox/Installer/solaris/checkinstall.sh b/src/VBox/Installer/solaris/checkinstall.sh
index 8dec803..c148500 100755
--- a/src/VBox/Installer/solaris/checkinstall.sh
+++ b/src/VBox/Installer/solaris/checkinstall.sh
@@ -1,11 +1,12 @@
 #!/bin/sh
+# $Id: checkinstall.sh $
 ## @file
 #
 # VirtualBox checkinstall script for Solaris.
 #
 
 #
-# Copyright (C) 2009-2012 Oracle Corporation
+# Copyright (C) 2009-2015 Oracle Corporation
 #
 # This file is part of VirtualBox Open Source Edition (OSE), as
 # available from http://www.virtualbox.org. This file is free software;
@@ -62,26 +63,56 @@ checkdep_ips()
 
 }
 
-# nothing to check for remote install
+disable_service()
+{
+    if test -z "$1" || test -z "$2"; then
+        errorprint "Missing argument to disable_service"
+        return 1
+    fi
+    servicefound=`$BIN_SVCS -H "$1" 2> /dev/null | grep '^online'`
+    if test ! -z "$servicefound"; then
+        infoprint "$2 ($1) is still enabled. Disabling..."
+        $BIN_SVCADM disable -s "$1"
+        # Don't delete the service, handled by manifest class action
+        # /usr/sbin/svccfg delete $1
+    fi
+}
+
+#
+# Begin execution
+#
+
+# Nothing to check for remote install
 REMOTE_INST=0
 if test "x${PKG_INSTALL_ROOT:=/}" != "x/"; then
     BASEDIR_OPT="-R $PKG_INSTALL_ROOT"
     REMOTE_INST=1
 fi
 
-# nothing to check for non-global zones
+# Nothing to check for non-global zones
 currentzone=`zonename`
 if test "$currentzone" != "global"; then
     exit 0
 fi
 
-
-infoprint "Checking package dependencies..."
-
 PKG_MISSING_IPS=""
 PKG_MISSING_SVR4=""
 BIN_PKGINFO=`which pkginfo 2> /dev/null`
 BIN_PKG=`which pkg 2> /dev/null`
+BIN_SVCS=`which svcs 2> /dev/null`
+BIN_SVCADM=/usr/sbin/svcadm
+
+# Check if our binaries are fine
+if test ! -x "$BIN_SVCS"; then
+    errorprint "Missing or non-executable binary: svcs ($BIN_SVCS)."
+    exit 1
+fi
+if test ! -x "$BIN_SVCADM"; then
+    errorprint "Missing or non-executable binary: svcadm ($BIN_SVCADM)."
+    exit 1
+fi
+
+infoprint "Checking package dependencies..."
 
 if test -x "$BIN_PKG"; then
     checkdep_ips "runtime/python-26"
@@ -115,38 +146,16 @@ else
     infoprint "Done."
 fi
 
-# nothing more to do for remote installs
+# Nothing more to do for remote installs
 if test "$REMOTE_INST" -eq 1; then
     exit 0
 fi
 
-# Check if the Zone Access service is holding open vboxdrv, if so stop & remove it
-servicefound=`svcs -H "svc:/application/virtualbox/zoneaccess" 2> /dev/null | grep '^online'`
-if test ! -z "$servicefound"; then
-    infoprint "VirtualBox's zone access service appears to still be running."
-    infoprint "Halting & removing zone access service..."
-    /usr/sbin/svcadm disable -s svc:/application/virtualbox/zoneaccess
-    # Don't delete the service, handled by manifest class action
-    # /usr/sbin/svccfg delete svc:/application/virtualbox/zoneaccess
-fi
-
-# Check if the Web service is running, if so stop & remove it
-servicefound=`svcs -H "svc:/application/virtualbox/webservice" 2> /dev/null | grep '^online'`
-if test ! -z "$servicefound"; then
-    infoprint "VirtualBox web service appears to still be running."
-    infoprint "Halting & removing webservice..."
-    /usr/sbin/svcadm disable -s svc:/application/virtualbox/webservice
-    # Don't delete the service, handled by manifest class action
-    # /usr/sbin/svccfg delete svc:/application/virtualbox/webservice
-fi
-
-# Check if the autostart service is running, if so stop & remove it
-servicefound=`svcs -H "svc:/application/virtualbox/autostart" 2> /dev/null | grep '^online'`
-if test ! -z "$servicefound"; then
-    infoprint "VirtualBox autostart service appears to still be running."
-    infoprint "Halting & removing autostart service..."
-    /usr/sbin/svcadm disable -s svc:/application/virtualbox/autostart
-fi
+# Check & disable running services
+disable_service "svc:/application/virtualbox/zoneaccess"  "VirtualBox zone access service"
+disable_service "svc:/application/virtualbox/webservice"  "VirtualBox web service"
+disable_service "svc:/application/virtualbox/autostart"   "VirtualBox auto-start service"
+disable_service "svc:/application/virtualbox/balloonctrl" "VirtualBox balloon-control service"
 
 # Check if VBoxSVC is currently running
 VBOXSVC_PID=`ps -eo pid,fname | grep VBoxSVC | grep -v grep | awk '{ print $1 }'`
@@ -194,22 +203,27 @@ if test -x "$BIN_IFCONFIG"; then
     fi
 fi
 
-# If we are using SVR4 packages then make sure that SMF has finished
-# disabling any services left over from a previous installation which
-# may interfere with installing new ones.  Should only be relevant on
-# Solaris 11.
-if test -x "$BIN_PKGINFO"; then
-    for i in 1 2 3 4 5 6 7 8 9 10; do
-        svcs -a | grep virtualbox >/dev/null || break
-        if test "${i}" = "1"; then
-            printf "Waiting for services from previous installation to be removed."
-        else
-            printf "."
-        fi
-        sleep 1
-    done
-    test "${i}" = "1" || printf "\n"
-fi
+# Make sure that SMF has finished removing any services left over from a
+# previous installation which may interfere with installing new ones.
+# This is only relevant on Solaris 11 for SysV packages.
+#
+# See BugDB 14838646 for the original problem and @bugref{7866} for
+# follow up fixes.
+for i in 1 2 3 4 5 6 7 8 9 10; do
+    $BIN_SVCS -H "svc:/application/virtualbox/autostart"   >/dev/null 2>&1 ||
+    $BIN_SVCS -H "svc:/application/virtualbox/webservice"  >/dev/null 2>&1 ||
+    $BIN_SVCS -H "svc:/application/virtualbox/zoneaccess"  >/dev/null 2>&1 || 
+    $BIN_SVCS -H "svc:/application/virtualbox/balloonctrl" >/dev/null 2>&1 || break
+    if test "${i}" = "1"; then
+        printf "Waiting for services from previous installation to be removed."
+    elif test "${i}" = "10"; then
+        printf "\nWarning!!! Some service(s) still appears to be present"
+    else
+        printf "."
+    fi
+    sleep 1
+done
+test "${i}" = "1" || printf "\n"
 
 exit 0
 
diff --git a/src/VBox/Main/Makefile.kmk b/src/VBox/Main/Makefile.kmk
index b4e8f51..f1546c9 100644
--- a/src/VBox/Main/Makefile.kmk
+++ b/src/VBox/Main/Makefile.kmk
@@ -291,7 +291,6 @@ VBoxSVC_DEFS = \
 	$(if $(VBOX_WITH_VUSB),VBOX_WITH_VUSB,) \
 	$(if $(VBOX_WITH_S3),VBOX_WITH_S3,) \
 	$(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,) \
-	$(if $(VBOX_WITH_PDM_AUDIO_DRIVER),VBOX_WITH_PDM_AUDIO_DRIVER,) \
 	$(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,) \
 	$(if $(VBOX_WITH_CROGL),VBOX_WITH_CROGL,) \
 	$(if $(VBOX_WITH_CRHGSMI),VBOX_WITH_CRHGSMI,)
@@ -635,8 +634,7 @@ VBoxC_DEFS = \
 	$(if-expr defined(VBOX_WITH_EHCI) && defined(VBOX_WITH_USB),VBOX_WITH_EHCI,) \
 	$(if $(VBOX_WITH_EXTPACK),VBOX_WITH_EXTPACK,) \
 	$(if $(VBOX_WITH_PCI_PASSTHROUGH),VBOX_WITH_PCI_PASSTHROUGH,) \
-	$(if $(VBOX_WITH_VPX),VBOX_WITH_VPX,) \
-	$(if $(VBOX_WITH_PDM_AUDIO_DRIVER),VBOX_WITH_PDM_AUDIO_DRIVER,)
+	$(if $(VBOX_WITH_VPX),VBOX_WITH_VPX,)
 ifdef VBOX_WITH_CRHGSMI
  VBoxC_DEFS += VBOX_WITH_CRHGSMI
 endif
@@ -752,16 +750,11 @@ VBoxC_SOURCES = \
 	src-client/VirtualBoxClientImpl.cpp \
 	src-client/VMMDevInterface.cpp \
 	$(VBOX_AUTOGEN_EVENT_CPP) \
-	$(VBOX_XML_SCHEMADEFS_CPP)
-ifdef VBOX_WITH_PDM_AUDIO_DRIVER
- VBoxC_SOURCES += \
+	$(VBOX_XML_SCHEMADEFS_CPP) \
 	../Devices/Audio/AudioMixBuffer.cpp \
 	../Devices/Audio/DrvAudioCommon.cpp \
 	src-client/DrvAudioVRDE.cpp
-else
- VBoxC_SOURCES += \
-	src-client/AudioSnifferInterface.cpp
-endif
+
 VBoxC_SOURCES.win = \
 	src-client/win/dllmain.cpp \
 	src-client/win/VBoxC.def \
diff --git a/src/VBox/Main/glue/com.cpp b/src/VBox/Main/glue/com.cpp
index 6d856a4..b16e6cc 100644
--- a/src/VBox/Main/glue/com.cpp
+++ b/src/VBox/Main/glue/com.cpp
@@ -403,19 +403,4 @@ const nsID *SafeGUIDArray::nsIDRef::Empty = (const nsID *)Guid::Empty.raw();
 
 #endif /* (VBOX_WITH_XPCOM) */
 
-/**
- * Used by ComPtr and friends to log details about reference counting.
- * @param pcszFormat
- */
-void LogRef(const char *pcszFormat, ...)
-{
-    char *pszNewMsg;
-    va_list args;
-    va_start(args, pcszFormat);
-    RTStrAPrintfV(&pszNewMsg, pcszFormat, args);
-    LogDJ((pszNewMsg));
-    RTStrFree(pszNewMsg);
-    va_end(args);
-}
-
 } /* namespace com */
diff --git a/src/VBox/Main/glue/string.cpp b/src/VBox/Main/glue/string.cpp
index 1c6f74d..5d66ed7 100644
--- a/src/VBox/Main/glue/string.cpp
+++ b/src/VBox/Main/glue/string.cpp
@@ -50,26 +50,24 @@ void Bstr::copyFromN(const char *a_pszSrc, size_t a_cchMax)
      */
     size_t cwc;
     int vrc = ::RTStrCalcUtf16LenEx(a_pszSrc, a_cchMax, &cwc);
-    if (RT_FAILURE(vrc))
+    if (RT_SUCCESS(vrc))
     {
-        /* ASSUME: input is valid Utf-8. Fake out of memory error. */
-        AssertLogRelMsgFailed(("%Rrc %.*Rhxs\n", vrc, RTStrNLen(a_pszSrc, a_cchMax), a_pszSrc));
-        throw std::bad_alloc();
-    }
-
-    m_bstr = ::SysAllocStringByteLen(NULL, (unsigned)(cwc * sizeof(OLECHAR)));
-    if (RT_UNLIKELY(!m_bstr))
-        throw std::bad_alloc();
+        m_bstr = ::SysAllocStringByteLen(NULL, (unsigned)(cwc * sizeof(OLECHAR)));
+        if (RT_LIKELY(m_bstr))
+        {
+            PRTUTF16 pwsz = (PRTUTF16)m_bstr;
+            vrc = ::RTStrToUtf16Ex(a_pszSrc, a_cchMax, &pwsz, cwc + 1, NULL);
+            if (RT_SUCCESS(vrc))
+                return;
 
-    PRTUTF16 pwsz = (PRTUTF16)m_bstr;
-    vrc = ::RTStrToUtf16Ex(a_pszSrc, a_cchMax, &pwsz, cwc + 1, NULL);
-    if (RT_FAILURE(vrc))
-    {
-        /* This should not happen! */
-        AssertRC(vrc);
-        cleanup();
-        throw std::bad_alloc();
+            /* This should not happen! */
+            AssertRC(vrc);
+            cleanup();
+        }
     }
+    else /* ASSUME: input is valid Utf-8. Fake out of memory error. */
+        AssertLogRelMsgFailed(("%Rrc %.*Rhxs\n", vrc, RTStrNLen(a_pszSrc, a_cchMax), a_pszSrc));
+    throw std::bad_alloc();
 }
 
 
@@ -80,20 +78,23 @@ const Utf8Str Utf8Str::Empty; /* default ctor is OK */
 void Utf8Str::cloneTo(char **pstr) const
 {
     size_t cb = length() + 1;
-    *pstr = (char*)nsMemory::Alloc(cb);
-    if (RT_UNLIKELY(!*pstr))
+    *pstr = (char *)nsMemory::Alloc(cb);
+    if (RT_LIKELY(*pstr))
+        memcpy(*pstr, c_str(), cb);
+    else
         throw std::bad_alloc();
-    memcpy(*pstr, c_str(), cb);
 }
 
 HRESULT Utf8Str::cloneToEx(char **pstr) const
 {
     size_t cb = length() + 1;
-    *pstr = (char*)nsMemory::Alloc(cb);
-    if (RT_UNLIKELY(!*pstr))
-        return E_OUTOFMEMORY;
-    memcpy(*pstr, c_str(), cb);
-    return S_OK;
+    *pstr = (char *)nsMemory::Alloc(cb);
+    if (RT_LIKELY(*pstr))
+    {
+        memcpy(*pstr, c_str(), cb);
+        return S_OK;
+    }
+    return E_OUTOFMEMORY;
 }
 #endif
 
diff --git a/src/VBox/Main/idl/VirtualBox.xidl b/src/VBox/Main/idl/VirtualBox.xidl
index cec7e70..a6e5991 100644
--- a/src/VBox/Main/idl/VirtualBox.xidl
+++ b/src/VBox/Main/idl/VirtualBox.xidl
@@ -3579,7 +3579,7 @@
 
   <interface
     name="IInternalMachineControl" extends="$unknown"
-    uuid="2cfec73b-4447-4ff8-bae5-e4306e6197e8"
+    uuid="ec36f437-ad4d-4512-94dd-f4c568143aa7"
     internal="yes"
     wsmap="suppress"
     >
@@ -3806,11 +3806,6 @@
           The flags of the property.
         </desc>
       </param>
-      <param name="notify" type="boolean" dir="return">
-        <desc>
-          Returns if a guest property change notification event should be fired.
-        </desc>
-      </param>
     </method>
 
     <method name="lockMedia">
@@ -4169,7 +4164,7 @@
 
   <interface
     name="IMachine" extends="$unknown"
-    uuid="feb138aa-dbce-4a89-8ec0-380fc7ec4913"
+    uuid="6bf820b3-a08f-49a7-ac08-b88efbd3a313"
     wsmap="managed"
     wrap-hint-server-addinterfaces="IInternalMachineControl"
     wrap-hint-server="manualaddinterfaces"
@@ -4799,14 +4794,6 @@
       </desc>
     </attribute>
 
-    <attribute name="guestPropertyNotificationPatterns" type="wstring">
-      <desc>
-        A comma-separated list of simple glob patterns. Changes to guest
-        properties whose name matches one of the patterns will generate an
-        <link to="IGuestPropertyChangedEvent"/> signal.
-      </desc>
-    </attribute>
-
     <attribute name="teleporterEnabled" type="boolean">
       <desc>
         When set to @a true, the virtual machine becomes a target teleporter
@@ -6047,12 +6034,14 @@ and "VAR" for unsetting. -->
 
     <method name="getStorageControllerByInstance" const="yes">
       <desc>
-        Returns a storage controller with the given instance number.
+        Returns a storage controller of a specific storage bus
+        with the given instance number.
 
         <result name="VBOX_E_OBJECT_NOT_FOUND">
           A storage controller with given instance number doesn't exist.
         </result>
       </desc>
+      <param name="connectionType" type="StorageBus" dir="in"/>
       <param name="instance" type="unsigned long" dir="in"/>
       <param name="storageController" type="IStorageController" dir="return"/>
     </method>
@@ -7392,6 +7381,10 @@ and "VAR" for unsetting. -->
           (@c true) and live (@c false) snapshots. When the VM is not running
           the result is always an offline snapshot.</desc>
       </param>
+      <param name="id" type="uuid" mod="string" dir="out">
+        <desc>UUID of the snapshot which will be created. Useful for follow-up
+        operations after the snapshot has been created.</desc>
+      </param>
       <param name="progress" type="IProgress" dir="return">
         <desc>Progress object to track the operation completion.</desc>
       </param>
@@ -17799,17 +17792,17 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
 
   <interface
     name="IUSBController" extends="$unknown"
-    uuid="d2745291-65f7-4d75-9556-38047d802319"
+    uuid="2598fa52-3044-4ff5-8a61-2b09088a9e3c"
     wsmap="managed"
     >
 
-    <attribute name="name" type="wstring" readonly="yes">
+    <attribute name="name" type="wstring">
       <desc>
         The USB Controller name.
       </desc>
     </attribute>
 
-    <attribute name="type" type="USBControllerType" readonly="yes">
+    <attribute name="type" type="USBControllerType">
       <desc>
         The USB Controller type.
       </desc>
@@ -18403,6 +18396,44 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
         can only be changed when the VM is not running.
       </desc>
     </attribute>
+    <attribute name="propertiesList" type="wstring" readonly="yes" safearray="yes">
+      <desc>
+        Array of names of tunable properties, which can be supported by audio driver.
+      </desc>
+    </attribute>
+
+    <method name="setProperty">
+      <desc>
+        Sets an audio specific property string.
+
+        If you pass @c null or empty string as a key @a value, the given @a key
+        will be deleted.
+
+      </desc>
+      <param name="key" type="wstring" dir="in">
+        <desc>Name of the key to set.</desc>
+      </param>
+      <param name="value" type="wstring" dir="in">
+        <desc>Value to assign to the key.</desc>
+      </param>
+    </method>
+
+    <method name="getProperty" const="yes">
+      <desc>
+        Returns an audio specific property string.
+
+        If the requested data @a key does not exist, this function will
+        succeed and return an empty string in the @a value argument.
+
+      </desc>
+      <param name="key" type="wstring" dir="in">
+        <desc>Name of the key to get.</desc>
+      </param>
+      <param name="value" type="wstring" dir="return">
+        <desc>Value of the requested key.</desc>
+      </param>
+    </method>
+
   </interface>
 
   <enum
@@ -19482,7 +19513,7 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
 
   <interface
     name="IStorageController" extends="$unknown"
-    uuid="a1556333-09b6-46d9-bfb7-fc239b7fbe1e"
+    uuid="802bb9c0-fe71-43ab-b55a-322fdf77358f"
     wsmap="managed"
     >
     <desc>
@@ -19504,7 +19535,7 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
         significantly different virtual hardware.
     </desc>
 
-    <attribute name="name" type="wstring" readonly="yes">
+    <attribute name="name" type="wstring">
       <desc>
         Name of the storage controller, as originally specified with
         <link to="IMachine::addStorageController" />. This then uniquely
@@ -21119,8 +21150,13 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
         See <link to="ISnapshotRestoredEvent">ISnapshotRestoredEvent</link>.
       </desc>
     </const>
+    <const name="OnMediumConfigChanged" value="96">
+      <desc>
+        See <link to="IMediumConfigChangedEvent">IMediumConfigChangedEvent</link>.
+      </desc>
+    </const>
     <!-- Last event marker -->
-    <const name="Last" value="96">
+    <const name="Last" value="97">
       <desc>
         Must be last event, used for iterations and structures relying on numerical event values.
       </desc>
@@ -21494,6 +21530,7 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
     <desc>
       The given medium was registered or unregistered
       within this VirtualBox installation.
+      <note>This event is not yet implemented.</note>
     </desc>
 
     <attribute name="mediumId" readonly="yes" type="uuid" mod="string">
@@ -21513,6 +21550,22 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
   </interface>
 
   <interface
+    name="IMediumConfigChangedEvent" extends="IEvent"
+    uuid="dd3e2654-a161-41f1-b583-4892f4a9d5d5"
+    wsmap="managed" autogen="VBoxEvent" id="OnMediumConfigChanged"
+    >
+    <desc>
+      The configuration of the given medium was changed (location, properties,
+      child/parent or anything else).
+      <note>This event is not yet implemented.</note>
+    </desc>
+
+    <attribute name="medium" type="IMedium" readonly="yes">
+      <desc>ID of the medium this event relates to.</desc>
+    </attribute>
+  </interface>
+
+  <interface
     name="IMachineRegisteredEvent" extends="IMachineEvent"
     uuid="c354a762-3ff2-4f2e-8f09-07382ee25088"
     wsmap="managed" autogen="VBoxEvent" id="OnMachineRegistered"
@@ -21879,6 +21932,7 @@ Snapshot 1 (B.vdi)            Snapshot 1 (B.vdi)
       Notification when a
       <link to="IMachine::mediumAttachments">medium attachment</link>
       changes.
+      <note>This event is not yet implemented.</note>
     </desc>
     <attribute name="mediumAttachment" type="IMediumAttachment" readonly="yes">
       <desc>
diff --git a/src/VBox/Main/idl/apiwrap-server.xsl b/src/VBox/Main/idl/apiwrap-server.xsl
index fcf9ce2..6c908b5 100644
--- a/src/VBox/Main/idl/apiwrap-server.xsl
+++ b/src/VBox/Main/idl/apiwrap-server.xsl
@@ -1236,7 +1236,6 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
 #endif</xsl:text>
     </xsl:if>
     <xsl:text>
-
         </xsl:text>
     <xsl:choose>
       <xsl:when test="$limitedAutoCaller = 'true'">
@@ -1247,11 +1246,11 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
       </xsl:otherwise>
     </xsl:choose>
     <xsl:text> autoCaller(this);
-        if (FAILED(autoCaller.rc()))
-            throw autoCaller.rc();
-
+        hrc = autoCaller.rc();
+        if (SUCCEEDED(hrc))
+        {
 </xsl:text>
-    <xsl:value-of select="concat('        hrc = get', $attrbasename, '(')"/>
+    <xsl:value-of select="concat('            hrc = get', $attrbasename, '(')"/>
     <xsl:variable name="passAutoCaller">
         <xsl:call-template name="checkoption">
             <xsl:with-param name="optionlist" select="@wrap-hint-server"/>
@@ -1265,7 +1264,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
         <xsl:with-param name="dir" select="'out'"/>
     </xsl:apply-templates>
     <xsl:text>);
-</xsl:text>
+        }</xsl:text>
     <xsl:if test="$attrbasename != 'MidlDoesNotLikeEmptyInterfaces'">
         <xsl:text>
 #ifdef VBOX_WITH_DTRACE_R3_MAIN
@@ -1276,8 +1275,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
             <xsl:with-param name="dir">out</xsl:with-param>
         </xsl:call-template>
         <xsl:text>);
-#endif
-</xsl:text>
+#endif</xsl:text>
     </xsl:if>
     <xsl:text>
     }
@@ -1292,8 +1290,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
     <xsl:text>this, hrc, 1 /*hrc exception*/,</xsl:text>
     <xsl:call-template name="emitDTraceParamValNoTmp-DirNotIn"/>
     <xsl:text>);
-#endif
-</xsl:text>
+#endif</xsl:text>
     </xsl:if>
     <xsl:text>
     }
@@ -1308,8 +1305,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
     <xsl:text>this, hrc, 9 /*unhandled exception*/,</xsl:text>
     <xsl:call-template name="emitDTraceParamValNoTmp-DirNotIn"/>
     <xsl:text>);
-#endif
-</xsl:text>
+#endif</xsl:text>
     </xsl:if>
     <xsl:text>
     }
@@ -1380,7 +1376,6 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
         </xsl:call-template>
         <xsl:text>);
 #endif
-
         </xsl:text>
         <xsl:choose>
           <xsl:when test="$limitedAutoCaller = 'true'">
@@ -1391,11 +1386,11 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
           </xsl:otherwise>
         </xsl:choose>
         <xsl:text> autoCaller(this);
-        if (FAILED(autoCaller.rc()))
-            throw autoCaller.rc();
-
+        hrc = autoCaller.rc();
+        if (SUCCEEDED(hrc))
+        {
 </xsl:text>
-        <xsl:value-of select="concat('        hrc = set', $attrbasename, '(')"/>
+        <xsl:value-of select="concat('            hrc = set', $attrbasename, '(')"/>
         <xsl:if test="$passAutoCaller = 'true'">
             <xsl:text>autoCaller, </xsl:text>
         </xsl:if>
@@ -1403,7 +1398,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
             <xsl:with-param name="dir" select="'in'"/>
         </xsl:apply-templates>
         <xsl:text>);
-
+        }
 #ifdef VBOX_WITH_DTRACE_R3_MAIN
         </xsl:text>
         <xsl:value-of select="translate(concat('VBOXAPI_', $dtracetopclass, '_SET_', $dtraceattrname, '_RETURN('), $G_lowerCase, $G_upperCase)"/>
@@ -1803,6 +1798,7 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
         </xsl:apply-templates>
     </xsl:for-each>
     <xsl:text>
+
 #ifdef VBOX_WITH_DTRACE_R3_MAIN
         </xsl:text>
     <xsl:value-of select="translate(concat('VBOXAPI_', $dtracetopclass, '_', $dtracemethodname, substring($dtracenamehack, 2), '_ENTER('), $G_lowerCase, $G_upperCase)"/>
@@ -1815,7 +1811,6 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
     </xsl:for-each>
     <xsl:text>);
 #endif
-
         </xsl:text>
     <xsl:choose>
       <xsl:when test="$limitedAutoCaller = 'true'">
@@ -1826,11 +1821,11 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
       </xsl:otherwise>
     </xsl:choose>
     <xsl:text> autoCaller(this);
-        if (FAILED(autoCaller.rc()))
-            throw autoCaller.rc();
-
+        hrc = autoCaller.rc();
+        if (SUCCEEDED(hrc))
+        {
 </xsl:text>
-    <xsl:value-of select="concat('        hrc = ', @name, '(')"/>
+    <xsl:value-of select="concat('            hrc = ', @name, '(')"/>
     <xsl:variable name="passAutoCaller">
         <xsl:call-template name="checkoption">
             <xsl:with-param name="optionlist" select="@wrap-hint-server"/>
@@ -1851,12 +1846,12 @@ Returns empty if not needed, non-empty ('yes') if needed. -->
         </xsl:apply-templates>
         <xsl:if test="not(position()=last())">
             <xsl:text>,
-               </xsl:text>
+                   </xsl:text>
             <xsl:value-of select="$methodindent"/>
         </xsl:if>
     </xsl:for-each>
     <xsl:text>);
-
+        }
 #ifdef VBOX_WITH_DTRACE_R3_MAIN
         </xsl:text>
     <xsl:value-of select="translate(concat('VBOXAPI_', $dtracetopclass, '_', $dtracemethodname, substring($dtracenamehack, 2), '_RETURN('), $G_lowerCase, $G_upperCase)"/>
diff --git a/src/VBox/Main/include/AudioAdapterImpl.h b/src/VBox/Main/include/AudioAdapterImpl.h
index 4d9004f..257e0e8 100644
--- a/src/VBox/Main/include/AudioAdapterImpl.h
+++ b/src/VBox/Main/include/AudioAdapterImpl.h
@@ -64,6 +64,9 @@ private:
     HRESULT setAudioDriver(AudioDriverType_T aAudioDriver);
     HRESULT getAudioController(AudioControllerType_T *aAudioController);
     HRESULT setAudioController(AudioControllerType_T aAudioController);
+    HRESULT getPropertiesList(std::vector<com::Utf8Str>& aProperties);
+    HRESULT getProperty(const com::Utf8Str &aKey, com::Utf8Str &aValue);
+    HRESULT setProperty(const com::Utf8Str &aKey, const com::Utf8Str &aValue);
 
     Machine * const     mParent;
     const ComObjPtr<AudioAdapter> mPeer;
diff --git a/src/VBox/Main/include/AudioSnifferInterface.h b/src/VBox/Main/include/AudioSnifferInterface.h
deleted file mode 100644
index 036eae0..0000000
--- a/src/VBox/Main/include/AudioSnifferInterface.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* $Id: AudioSnifferInterface.h $ */
-/** @file
- * VirtualBox Driver interface to Audio Sniffer device
- */
-
-/*
- * Copyright (C) 2006-2010 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifndef ____H_AUDIOSNIFFERINTERFACE
-#define ____H_AUDIOSNIFFERINTERFACE
-
-#include <VBox/com/ptr.h>
-#include <VBox/vmm/pdmdrv.h>
-
-class Console;
-
-class AudioSniffer
-{
-public:
-    AudioSniffer(Console *console);
-    virtual ~AudioSniffer();
-
-    static const PDMDRVREG DrvReg;
-
-    /** Pointer to the associated Audio Sniffer driver. */
-    struct DRVAUDIOSNIFFER *mpDrv;
-
-    Console *getParent(void) { return mParent; }
-
-    PPDMIAUDIOSNIFFERPORT getAudioSnifferPort(void);
-
-private:
-    static DECLCALLBACK(void *) drvQueryInterface(PPDMIBASE pInterface, const char *pszIID);
-    static DECLCALLBACK(int)    drvConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags);
-    static DECLCALLBACK(void)   drvDestruct(PPDMDRVINS pDrvIns);
-
-    Console * const     mParent;
-};
-
-#endif /* !____H_AUDIOSNIFFERINTERFACE */
-/* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Main/include/ConsoleImpl.h b/src/VBox/Main/include/ConsoleImpl.h
index f98d0d2..a2665c3 100644
--- a/src/VBox/Main/include/ConsoleImpl.h
+++ b/src/VBox/Main/include/ConsoleImpl.h
@@ -35,11 +35,6 @@ class RemoteUSBDevice;
 class SharedFolder;
 class VRDEServerInfo;
 class EmulatedUSB;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-class AudioVRDE;
-#else
-class AudioSniffer;
-#endif
 class AudioVRDE;
 class Nvram;
 #ifdef VBOX_WITH_USB_CARDREADER
@@ -138,11 +133,7 @@ public:
     Mouse *i_getMouse() const { return mMouse; }
     Display *i_getDisplay() const { return mDisplay; }
     MachineDebugger *i_getMachineDebugger() const { return mDebugger; }
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     AudioVRDE *i_getAudioVRDE() const { return mAudioVRDE; }
-#else
-    AudioSniffer *i_getAudioSniffer() const { return mAudioSniffer; }
-#endif
 
     const ComPtr<IMachine> &i_machine() const { return mMachine; }
     const Bstr &i_getId() const { return mstrUuid; }
@@ -192,11 +183,7 @@ public:
     HRESULT i_reconfigureMediumAttachments(const std::vector<ComPtr<IMediumAttachment> > &aAttachments);
     int i_hgcmLoadService(const char *pszServiceLibrary, const char *pszServiceName);
     VMMDev *i_getVMMDev() { return m_pVMMDev; }
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     AudioVRDE *i_getAudioVRDE() { return mAudioVRDE; }
-#else
-    AudioSniffer *i_getAudioSniffer() { return mAudioSniffer; }
-#endif
 
 #ifdef VBOX_WITH_EXTPACK
     ExtPackManager *i_getExtPackManager();
@@ -833,6 +820,8 @@ private:
     static DECLCALLBACK(int)    i_teleporterTrgServeConnection(RTSOCKET Sock, void *pvUser);
     /** @} */
 
+    void i_reportDriverVersions(void);
+
     bool mSavedStateDataLoaded : 1;
 
     const ComPtr<IMachine> mMachine;
@@ -903,17 +892,13 @@ private:
     typedef std::vector<NetworkAttachmentType_T> NetworkAttachmentTypeVector;
     NetworkAttachmentTypeVector meAttachmentType;
 
-    VMMDev * m_pVMMDev;
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-    AudioVRDE * const mAudioVRDE;
-#else
-    AudioSniffer * const mAudioSniffer;
-#endif
-    Nvram   * const mNvram;
+    VMMDev *                    m_pVMMDev;
+    AudioVRDE * const           mAudioVRDE;
+    Nvram   * const             mNvram;
 #ifdef VBOX_WITH_USB_CARDREADER
-    UsbCardReader * const mUsbCardReader;
+    UsbCardReader * const       mUsbCardReader;
 #endif
-    BusAssignmentManager* mBusMgr;
+    BusAssignmentManager*       mBusMgr;
 
     enum
     {
@@ -989,6 +974,11 @@ private:
 
     ComPtr<IEventListener> mVmListener;
 
+#ifdef RT_OS_WINDOWS
+    /** Use NDIS6 network drivers. */
+    bool mfNDIS6;
+#endif /* RT_OS_WINDOWS */
+
     friend struct VMTask;
 };
 
diff --git a/src/VBox/Main/include/GuestDnDPrivate.h b/src/VBox/Main/include/GuestDnDPrivate.h
index a08647a..7ca10f5 100644
--- a/src/VBox/Main/include/GuestDnDPrivate.h
+++ b/src/VBox/Main/include/GuestDnDPrivate.h
@@ -49,7 +49,7 @@ public:
 
     int Reset(void);
 
-    int Notify(int rc);
+    int Notify(int rc = VINF_SUCCESS);
 
     int Result(void) const { return mRc; }
 
@@ -207,13 +207,14 @@ public:
             for (uint32_t i = 0; i < cParms; i++)
             {
                 if (   paParms[i].type == VBOX_HGCM_SVC_PARM_PTR
-                    && paParms[i].u.pointer.addr)
+                    && paParms[i].u.pointer.size)
                 {
+                    AssertPtr(paParms[i].u.pointer.addr);
                     RTMemFree(paParms[i].u.pointer.addr);
                 }
             }
 
-            delete paParms;
+            RTMemFree(paParms);
         }
     }
 
@@ -366,7 +367,7 @@ public:
 
     bool isProgressCanceled(void) const;
     int setCallback(uint32_t uMsg, PFNGUESTDNDCALLBACK pfnCallback, void *pvUser = NULL);
-    int setProgress(unsigned uPercentage, uint32_t uState, int rcOp = VINF_SUCCESS);
+    int setProgress(unsigned uPercentage, uint32_t uState, int rcOp = VINF_SUCCESS, const Utf8Str &strMsg = "");
     HRESULT resetProgress(const ComObjPtr<Guest>& pParent);
     HRESULT queryProgressTo(IProgress **ppProgress);
 
@@ -377,10 +378,6 @@ public:
     int onDispatch(uint32_t u32Function, void *pvParms, uint32_t cbParms);
     /** @}  */
 
-public:
-
-    Utf8Str errorToString(const ComObjPtr<Guest>& pGuest, int guestRc);
-
 protected:
 
     /** Pointer to context this class is tied to. */
diff --git a/src/VBox/Main/include/GuestDnDSourceImpl.h b/src/VBox/Main/include/GuestDnDSourceImpl.h
index c9b35bc..e1acc25 100644
--- a/src/VBox/Main/include/GuestDnDSourceImpl.h
+++ b/src/VBox/Main/include/GuestDnDSourceImpl.h
@@ -73,7 +73,13 @@ protected:
 
 protected:
 
+    static Utf8Str i_guestErrorToString(int guestRc);
+    static Utf8Str i_hostErrorToString(int hostRc);
+
+    /** @name Thread callbacks.
+     * @{ */
     static DECLCALLBACK(int) i_receiveDataThread(RTTHREAD Thread, void *pvUser);
+    /** @}  */
 
     /** @name Callbacks for dispatch handler.
      * @{ */
diff --git a/src/VBox/Main/include/GuestDnDTargetImpl.h b/src/VBox/Main/include/GuestDnDTargetImpl.h
index c5b2d9a..136ca42 100644
--- a/src/VBox/Main/include/GuestDnDTargetImpl.h
+++ b/src/VBox/Main/include/GuestDnDTargetImpl.h
@@ -67,8 +67,18 @@ private:
 
 protected:
 
+    static Utf8Str i_guestErrorToString(int guestRc);
+    static Utf8Str i_hostErrorToString(int hostRc);
+
+    /** @name Thread callbacks.
+     * @{ */
     static DECLCALLBACK(int) i_sendDataThread(RTTHREAD Thread, void *pvUser);
+    /** @}  */
+
+    /** @name Callbacks for dispatch handler.
+     * @{ */
     static DECLCALLBACK(int) i_sendURIDataCallback(uint32_t uMsg, void *pvParms, size_t cbParms, void *pvUser);
+    /** @}  */
 
 protected:
 
diff --git a/src/VBox/Main/include/MachineImpl.h b/src/VBox/Main/include/MachineImpl.h
index 201dea4..6bf374d 100644
--- a/src/VBox/Main/include/MachineImpl.h
+++ b/src/VBox/Main/include/MachineImpl.h
@@ -306,7 +306,6 @@ public:
 
         typedef std::map<Utf8Str, GuestProperty> GuestPropertyMap;
         GuestPropertyMap    mGuestProperties;
-        Utf8Str             mGuestPropertyNotificationPatterns;
 
         FirmwareType_T      mFirmwareType;
         KeyboardHIDType_T   mKeyboardHIDType;
@@ -590,6 +589,14 @@ public:
                                  BOOL *aRegistered = NULL);
     void i_releaseStateDependency();
 
+    HRESULT i_getStorageControllerByName(const Utf8Str &aName,
+                                         ComObjPtr<StorageController> &aStorageController,
+                                         bool aSetError = false);
+
+    HRESULT i_getUSBControllerByName(const Utf8Str &aName,
+                                     ComObjPtr<USBController> &aUSBController,
+                                     bool aSetError = false);
+
     HRESULT i_getBandwidthGroup(const Utf8Str &strBandwidthGroup,
                                 ComObjPtr<BandwidthGroup> &pBandwidthGroup,
                                 bool fSetError = false)
@@ -642,17 +649,9 @@ protected:
                                  ComObjPtr<Snapshot> &aSnapshot,
                                  bool aSetError = false);
 
-    HRESULT i_getStorageControllerByName(const Utf8Str &aName,
-                                         ComObjPtr<StorageController> &aStorageController,
-                                         bool aSetError = false);
-
     HRESULT i_getMediumAttachmentsOfController(const Utf8Str &aName,
                                                MediaData::AttachmentList &aAttachments);
 
-    HRESULT i_getUSBControllerByName(const Utf8Str &aName,
-                                     ComObjPtr<USBController> &aUSBController,
-                                     bool aSetError = false);
-
     ULONG   i_getUSBControllerCountByType(USBControllerType_T enmType);
 
     enum
@@ -942,8 +941,6 @@ private:
     HRESULT setClipboardMode(ClipboardMode_T aClipboardMode);
     HRESULT getDnDMode(DnDMode_T *aDnDMode);
     HRESULT setDnDMode(DnDMode_T aDnDMode);
-    HRESULT getGuestPropertyNotificationPatterns(com::Utf8Str &aGuestPropertyNotificationPatterns);
-    HRESULT setGuestPropertyNotificationPatterns(const com::Utf8Str &aGuestPropertyNotificationPatterns);
     HRESULT getTeleporterEnabled(BOOL *aTeleporterEnabled);
     HRESULT setTeleporterEnabled(BOOL aTeleporterEnabled);
     HRESULT getTeleporterPort(ULONG *aTeleporterPort);
@@ -1068,7 +1065,8 @@ private:
                                  ComPtr<IStorageController> &aController);
     HRESULT getStorageControllerByName(const com::Utf8Str &aName,
                                        ComPtr<IStorageController> &aStorageController);
-    HRESULT getStorageControllerByInstance(ULONG aInstance,
+    HRESULT getStorageControllerByInstance(StorageBus_T aConnectionType,
+                                           ULONG aInstance,
                                            ComPtr<IStorageController> &aStorageController);
     HRESULT removeStorageController(const com::Utf8Str &aName);
     HRESULT setStorageControllerBootable(const com::Utf8Str &aName,
@@ -1192,6 +1190,7 @@ private:
     HRESULT takeSnapshot(const com::Utf8Str &aName,
                          const com::Utf8Str &aDescription,
                          BOOL aPause,
+                         com::Guid &aId,
                          ComPtr<IProgress> &aProgress);
     HRESULT deleteSnapshot(const com::Guid &aId,
                            ComPtr<IProgress> &aProgress);
@@ -1231,8 +1230,7 @@ private:
     HRESULT pushGuestProperty(const com::Utf8Str &aName,
                               const com::Utf8Str &aValue,
                               LONG64 aTimestamp,
-                              const com::Utf8Str &aFlags,
-                              BOOL *aNotify);
+                              const com::Utf8Str &aFlags);
     HRESULT lockMedia();
     HRESULT unlockMedia();
     HRESULT ejectMedium(const ComPtr<IMediumAttachment> &aAttachment,
@@ -1380,8 +1378,7 @@ private:
     HRESULT pushGuestProperty(const com::Utf8Str &aName,
                               const com::Utf8Str &aValue,
                               LONG64 aTimestamp,
-                              const com::Utf8Str &aFlags,
-                              BOOL *aNotify);
+                              const com::Utf8Str &aFlags);
     HRESULT lockMedia();
     HRESULT unlockMedia();
     HRESULT ejectMedium(const ComPtr<IMediumAttachment> &aAttachment,
@@ -1438,6 +1435,7 @@ private:
     HRESULT takeSnapshot(const com::Utf8Str &aName,
                          const com::Utf8Str &aDescription,
                          BOOL aPause,
+                         com::Guid &aId,
                          ComPtr<IProgress> &aProgress);
     HRESULT deleteSnapshot(const com::Guid &aId,
                            ComPtr<IProgress> &aProgress);
diff --git a/src/VBox/Main/include/StorageControllerImpl.h b/src/VBox/Main/include/StorageControllerImpl.h
index 3778691..81b9662 100644
--- a/src/VBox/Main/include/StorageControllerImpl.h
+++ b/src/VBox/Main/include/StorageControllerImpl.h
@@ -71,6 +71,7 @@ private:
 
     // Wrapped IStorageController properties
     HRESULT getName(com::Utf8Str &aName);
+    HRESULT setName(const com::Utf8Str &aName);
     HRESULT getMaxDevicesPerPortCount(ULONG *aMaxDevicesPerPortCount);
     HRESULT getMinPortCount(ULONG *aMinPortCount);
     HRESULT getMaxPortCount(ULONG *aMaxPortCount);
diff --git a/src/VBox/Main/include/USBControllerImpl.h b/src/VBox/Main/include/USBControllerImpl.h
index 79c304c..dda003b 100644
--- a/src/VBox/Main/include/USBControllerImpl.h
+++ b/src/VBox/Main/include/USBControllerImpl.h
@@ -6,7 +6,7 @@
  */
 
 /*
- * Copyright (C) 2005-2013 Oracle Corporation
+ * Copyright (C) 2005-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -60,7 +60,9 @@ private:
 
     // wrapped IUSBController properties
     HRESULT getName(com::Utf8Str &aName);
+    HRESULT setName(const com::Utf8Str &aName);
     HRESULT getType(USBControllerType_T *aType);
+    HRESULT setType(USBControllerType_T aType);
     HRESULT getUSBStandard(USHORT *aUSBStandard);
 
     void printList();
diff --git a/src/VBox/Main/include/VirtualBoxBase.h b/src/VBox/Main/include/VirtualBoxBase.h
index e84fe9a..5d89cda 100644
--- a/src/VBox/Main/include/VirtualBoxBase.h
+++ b/src/VBox/Main/include/VirtualBoxBase.h
@@ -155,17 +155,18 @@ public:
  *
  *  @param   expr    Expression which should be true.
  */
-#if defined(DEBUG)
-#define ComAssert(expr)    Assert(expr)
-#else
-#define ComAssert(expr)    \
+#define ComAssert(expr) \
     do { \
-        if (RT_UNLIKELY(!(expr))) \
+        if (RT_LIKELY(!!(expr))) \
+        { /* likely */ } \
+        else \
+        { \
+            AssertMsgFailed(("%s\n", #expr)); \
             setError(E_FAIL, \
                      "Assertion failed: [%s] at '%s' (%d) in %s.\nPlease contact the product vendor!", \
                      #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \
+        } \
     } while (0)
-#endif
 
 /**
  *  Special version of the AssertFailed macro to be used within VirtualBoxBase
@@ -178,16 +179,13 @@ public:
  *  @see VirtualBoxBase::setError
  *
  */
-#if defined(DEBUG)
-#define ComAssertFailed()    AssertFailed()
-#else
-#define ComAssertFailed()    \
+#define ComAssertFailed() \
     do { \
+        AssertFailed(); \
         setError(E_FAIL, \
                  "Assertion failed: at '%s' (%d) in %s.\nPlease contact the product vendor!", \
                  __FILE__, __LINE__, __PRETTY_FUNCTION__); \
     } while (0)
-#endif
 
 /**
  *  Special version of the AssertMsg macro to be used within VirtualBoxBase
@@ -198,17 +196,19 @@ public:
  *  @param   expr    Expression which should be true.
  *  @param   a       printf argument list (in parenthesis).
  */
-#if defined(DEBUG)
-#define ComAssertMsg(expr, a)  AssertMsg(expr, a)
-#else
-#define ComAssertMsg(expr, a)  \
+#define ComAssertMsg(expr, a) \
     do { \
-        if (RT_UNLIKELY(!(expr))) \
+        if (RT_LIKELY(!!(expr))) \
+        { /* likely */ } \
+        else \
+        { \
+            Utf8StrFmt MyAssertMsg a; /* may throw bad_alloc */ \
+            AssertMsgFailed(("%s\n", MyAssertMsg.c_str())); \
             setError(E_FAIL, \
                      "Assertion failed: [%s] at '%s' (%d) in %s.\n%s.\nPlease contact the product vendor!", \
-                     #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .c_str()); \
+                     #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__, MyAssertMsg.c_str()); \
+        } \
     } while (0)
-#endif
 
 /**
  *  Special version of the AssertMsgFailed macro to be used within VirtualBoxBase
@@ -218,16 +218,14 @@ public:
  *
  *  @param   a       printf argument list (in parenthesis).
  */
-#if defined(DEBUG)
-#define ComAssertMsgFailed(a)   AssertMsgFailed(a)
-#else
 #define ComAssertMsgFailed(a) \
     do { \
+        Utf8StrFmt MyAssertMsg a; /* may throw bad_alloc */ \
+        AssertMsgFailed(("%s\n", MyAssertMsg.c_str())); \
         setError(E_FAIL, \
                  "Assertion failed: at '%s' (%d) in %s.\n%s.\nPlease contact the product vendor!", \
-                 __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .c_str()); \
+                 __FILE__, __LINE__, __PRETTY_FUNCTION__, MyAssertMsg.c_str()); \
     } while (0)
-#endif
 
 /**
  *  Special version of the AssertRC macro to be used within VirtualBoxBase
@@ -237,11 +235,7 @@ public:
  *
  * @param   vrc     VBox status code.
  */
-#if defined(DEBUG)
-#define ComAssertRC(vrc)    AssertRC(vrc)
-#else
-#define ComAssertRC(vrc)    ComAssertMsgRC(vrc, ("%Rra", vrc))
-#endif
+#define ComAssertRC(vrc)            ComAssertMsgRC(vrc, ("%Rra", vrc))
 
 /**
  *  Special version of the AssertMsgRC macro to be used within VirtualBoxBase
@@ -252,11 +246,7 @@ public:
  *  @param   vrc    VBox status code.
  *  @param   msg    printf argument list (in parenthesis).
  */
-#if defined(DEBUG)
-#define ComAssertMsgRC(vrc, msg)    AssertMsgRC(vrc, msg)
-#else
 #define ComAssertMsgRC(vrc, msg)    ComAssertMsg(RT_SUCCESS(vrc), msg)
-#endif
 
 /**
  *  Special version of the AssertComRC macro to be used within VirtualBoxBase
@@ -264,13 +254,9 @@ public:
  *
  *  See ComAssert for more info.
  *
- *  @param rc   COM result code
+ *  @param hrc  COM result code
  */
-#if defined(DEBUG)
-#define ComAssertComRC(rc)  AssertComRC(rc)
-#else
-#define ComAssertComRC(rc)  ComAssertMsg(SUCCEEDED(rc), ("COM RC = %Rhrc (0x%08X)", (rc), (rc)))
-#endif
+#define ComAssertComRC(hrc)         ComAssertMsg(SUCCEEDED(hrc), ("COM RC=%Rhrc (0x%08X)", (hrc), (hrc)))
 
 
 /** Special version of ComAssert that returns ret if expr fails */
@@ -364,7 +350,9 @@ public:
  */
 #define CheckComArgNotNull(arg) \
     do { \
-        if (RT_UNLIKELY((arg) == NULL)) \
+        if (RT_LIKELY((arg) != NULL)) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s is NULL"), #arg); \
     } while (0)
 
@@ -375,7 +363,9 @@ public:
  */
 #define CheckComArgMaybeNull(arg) \
     do { \
-        if (RT_UNLIKELY(!RT_VALID_PTR(arg) && (arg) != NULL)) \
+        if (RT_LIKELY(RT_VALID_PTR(arg) || (arg) == NULL)) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s is an invalid pointer"), #arg); \
     } while (0)
 
@@ -386,7 +376,9 @@ public:
  */
 #define CheckComArgPointerValid(arg) \
     do { \
-        if (RT_UNLIKELY(!RT_VALID_PTR(arg))) \
+        if (RT_LIKELY(RT_VALID_PTR(arg))) \
+        { /* likely */ }\
+        else \
             return setError(E_POINTER, \
                 tr("Argument %s points to invalid memory location (%p)"), \
                 #arg, (void *)(arg)); \
@@ -399,7 +391,9 @@ public:
  */
 #define CheckComArgSafeArrayNotNull(arg) \
     do { \
-        if (RT_UNLIKELY(ComSafeArrayInIsNull(arg))) \
+        if (RT_LIKELY(!ComSafeArrayInIsNull(arg))) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s is NULL"), #arg); \
     } while (0)
 
@@ -411,7 +405,9 @@ public:
 #define CheckComArgStr(a_bstrIn) \
     do { \
         IN_BSTR const bstrInCheck = (a_bstrIn); /* type check */ \
-        if (RT_UNLIKELY(!RT_VALID_PTR(bstrInCheck))) \
+        if (RT_LIKELY(RT_VALID_PTR(bstrInCheck))) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s is an invalid pointer"), #a_bstrIn); \
     } while (0)
 /**
@@ -422,7 +418,9 @@ public:
 #define CheckComArgStrNotEmptyOrNull(a_bstrIn) \
     do { \
         IN_BSTR const bstrInCheck = (a_bstrIn); /* type check */ \
-        if (RT_UNLIKELY(!RT_VALID_PTR(bstrInCheck) || *(bstrInCheck) == '\0')) \
+        if (RT_LIKELY(RT_VALID_PTR(bstrInCheck) && *(bstrInCheck) != '\0')) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s is empty or an invalid pointer"), #a_bstrIn); \
     } while (0)
 
@@ -437,7 +435,9 @@ public:
     do { \
         Guid tmpGuid(a_Arg); \
         (a_GuidVar) = tmpGuid; \
-        if (RT_UNLIKELY((a_GuidVar).isValid() == false)) \
+        if (RT_LIKELY((a_GuidVar).isValid())) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, \
                 tr("GUID argument %s is not valid (\"%ls\")"), #a_Arg, Bstr(a_Arg).raw()); \
     } while (0)
@@ -450,7 +450,9 @@ public:
  */
 #define CheckComArgExpr(arg, expr) \
     do { \
-        if (RT_UNLIKELY(!(expr))) \
+        if (RT_LIKELY(!!(expr))) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, \
                 tr("Argument %s is invalid (must be %s)"), #arg, #expr); \
     } while (0)
@@ -466,7 +468,9 @@ public:
  */
 #define CheckComArgExprMsg(arg, expr, msg) \
     do { \
-        if (RT_UNLIKELY(!(expr))) \
+        if (RT_LIKELY(!!(expr))) \
+        { /* likely */ }\
+        else \
             return setError(E_INVALIDARG, tr("Argument %s %s"), \
                             #arg, Utf8StrFmt msg .c_str()); \
     } while (0)
@@ -478,7 +482,9 @@ public:
  */
 #define CheckComArgOutPointerValid(arg) \
     do { \
-        if (RT_UNLIKELY(!VALID_PTR(arg))) \
+        if (RT_LIKELY(RT_VALID_PTR(arg))) \
+        { /* likely */ }\
+        else \
             return setError(E_POINTER, \
                 tr("Output argument %s points to invalid memory location (%p)"), \
                 #arg, (void *)(arg)); \
@@ -491,7 +497,9 @@ public:
  */
 #define CheckComArgOutSafeArrayPointerValid(arg) \
     do { \
-        if (RT_UNLIKELY(ComSafeArrayOutIsNull(arg))) \
+        if (RT_LIKELY(!ComSafeArrayOutIsNull(arg))) \
+        { /* likely */ }\
+        else \
             return setError(E_POINTER, \
                             tr("Output argument %s points to invalid memory location (%p)"), \
                             #arg, (void*)(arg)); \
@@ -534,13 +542,13 @@ public:
  *  finding the actual thrower possible.
  */
 #ifdef DEBUG
-#define DebugBreakThrow(a) \
+# define DebugBreakThrow(a) \
     do { \
         RTAssertDebugBreak(); \
         throw (a); \
-} while (0)
+    } while (0)
 #else
-#define DebugBreakThrow(a) throw (a)
+# define DebugBreakThrow(a) throw (a)
 #endif
 
 /**
diff --git a/src/VBox/Main/include/Wrapper.h b/src/VBox/Main/include/Wrapper.h
index cfdb174..de6637e 100644
--- a/src/VBox/Main/include/Wrapper.h
+++ b/src/VBox/Main/include/Wrapper.h
@@ -1,10 +1,10 @@
 /* $Id: Wrapper.h $ */
 /** @file
- * VirtualBox COM: API wrapper helpers
+ * VirtualBox COM - API wrapper helpers.
  */
 
 /*
- * Copyright (C) 2012-2014 Oracle Corporation
+ * Copyright (C) 2012-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -32,7 +32,9 @@
  */
 #define CheckComArgOutPointerValidThrow(arg) \
     do { \
-        if (RT_UNLIKELY(!VALID_PTR(arg))) \
+        if (RT_LIKELY(RT_VALID_PTR(arg))) \
+        { /* likely */ }\
+        else \
             throw setError(E_POINTER, \
                 tr("Output argument %s points to invalid memory location (%p)"), \
                 #arg, (void *)(arg)); \
diff --git a/src/VBox/Main/src-all/Global.cpp b/src/VBox/Main/src-all/Global.cpp
index 78a4fe8..26eab30 100644
--- a/src/VBox/Main/src-all/Global.cpp
+++ b/src/VBox/Main/src-all/Global.cpp
@@ -149,11 +149,11 @@ const Global::OSType Global::sOSTypes[] =
       VBOXOSTYPE_Linux24_x64,     VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
        128,   4,  4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
         StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97  },
-    { "Linux",   "Linux",             "Linux26",            "Linux 2.6 / 3.x (32 bit)",
+    { "Linux",   "Linux",             "Linux26",            "Linux 2.6 / 3.x / 4.x (32 bit)",
       VBOXOSTYPE_Linux26,         VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
        256,  12,  8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
         StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97  },
-    { "Linux",   "Linux",             "Linux26_64",         "Linux 2.6 / 3.x (64 bit)",
+    { "Linux",   "Linux",             "Linux26_64",         "Linux 2.6 / 3.x / 4.x (64 bit)",
       VBOXOSTYPE_Linux26_x64,     VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
        256,  12,  8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
         StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97  },
diff --git a/src/VBox/Main/src-all/Logging.cpp b/src/VBox/Main/src-all/Logging.cpp
index 17b0797..0bf6b75 100644
--- a/src/VBox/Main/src-all/Logging.cpp
+++ b/src/VBox/Main/src-all/Logging.cpp
@@ -1,6 +1,5 @@
 /* $Id: Logging.cpp $ */
 /** @file
- *
  * VirtualBox Main Logging
  */
 
@@ -18,7 +17,7 @@
 
 
 /*
- *  Main now always uses the default LOG_INSTANCE for logging,
- *  so nothing to do here for now.
+ *  Main now always uses the defaults for logging, so nothing to do
+ *  here for now.
  */
 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Main/src-all/SharedFolderImpl.cpp b/src/VBox/Main/src-all/SharedFolderImpl.cpp
index bcf2483..8ee29db 100644
--- a/src/VBox/Main/src-all/SharedFolderImpl.cpp
+++ b/src/VBox/Main/src-all/SharedFolderImpl.cpp
@@ -363,7 +363,7 @@ HRESULT SharedFolder::getAccessible(BOOL *aAccessible)
                                        m->strHostPath.c_str(),
                                        vrc);
 
-    LogWarningThisFunc(("m.lastAccessError=\"%s\"\n", m->strLastAccessError.c_str()));
+    Log1WarningThisFunc(("m.lastAccessError=\"%s\"\n", m->strLastAccessError.c_str()));
 
     *aAccessible = FALSE;
 
diff --git a/src/VBox/Main/src-all/VirtualBoxBase.cpp b/src/VBox/Main/src-all/VirtualBoxBase.cpp
index 9319522..a5194bb 100644
--- a/src/VBox/Main/src-all/VirtualBoxBase.cpp
+++ b/src/VBox/Main/src-all/VirtualBoxBase.cpp
@@ -74,21 +74,20 @@ VirtualBoxBase::~VirtualBoxBase()
 RWLockHandle *VirtualBoxBase::lockHandle() const
 {
     /* lazy initialization */
-    if (RT_UNLIKELY(!mObjectLock))
-    {
-        AssertCompile(sizeof(RWLockHandle *) == sizeof(void *));
+    if (RT_LIKELY(mObjectLock))
+        return mObjectLock;
 
-        // getLockingClass() is overridden by many subclasses to return
-        // one of the locking classes listed at the top of AutoLock.h
-        RWLockHandle *objLock = new RWLockHandle(getLockingClass());
-        if (!ASMAtomicCmpXchgPtr(&mObjectLock, objLock, NULL))
-        {
-            delete objLock;
-            objLock = ASMAtomicReadPtrT(&mObjectLock, RWLockHandle *);
-        }
-        return objLock;
+    AssertCompile(sizeof(RWLockHandle *) == sizeof(void *));
+
+    // getLockingClass() is overridden by many subclasses to return
+    // one of the locking classes listed at the top of AutoLock.h
+    RWLockHandle *objLock = new RWLockHandle(getLockingClass());
+    if (!ASMAtomicCmpXchgPtr(&mObjectLock, objLock, NULL))
+    {
+        delete objLock;
+        objLock = ASMAtomicReadPtrT(&mObjectLock, RWLockHandle *);
     }
-    return mObjectLock;
+    return objLock;
 }
 
 /**
@@ -324,8 +323,7 @@ HRESULT VirtualBoxBase::setErrorInternal(HRESULT aResultCode,
              *  NS_ERROR_UNEXPECTED and it doesn't actually make sense to
              *  set the exception (nobody will be able to read it).
              */
-            LogWarningFunc(("Will not set an exception because nsIExceptionService is not available "
-                            "(NS_ERROR_UNEXPECTED). XPCOM is being shutdown?\n"));
+            Log1WarningFunc(("Will not set an exception because nsIExceptionService is not available (NS_ERROR_UNEXPECTED). XPCOM is being shutdown?\n"));
             rc = NS_OK;
         }
 
@@ -491,8 +489,7 @@ HRESULT VirtualBoxBase::setError(const com::ErrorInfo &ei)
              *  NS_ERROR_UNEXPECTED and it doesn't actually make sense to
              *  set the exception (nobody will be able to read it).
              */
-            LogWarningFunc(("Will not set an exception because nsIExceptionService is not available "
-                            "(NS_ERROR_UNEXPECTED). XPCOM is being shutdown?\n"));
+            Log1WarningFunc(("Will not set an exception because nsIExceptionService is not available (NS_ERROR_UNEXPECTED). XPCOM is being shutdown?\n"));
             rc = NS_OK;
         }
 
diff --git a/src/VBox/Main/src-client/AudioSnifferInterface.cpp b/src/VBox/Main/src-client/AudioSnifferInterface.cpp
deleted file mode 100644
index 31563f2..0000000
--- a/src/VBox/Main/src-client/AudioSnifferInterface.cpp
+++ /dev/null
@@ -1,289 +0,0 @@
-/* $Id: AudioSnifferInterface.cpp $ */
-/** @file
- * VirtualBox Driver Interface to Audio Sniffer device
- */
-
-/*
- * Copyright (C) 2006-2012 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#include "AudioSnifferInterface.h"
-#include "ConsoleImpl.h"
-#include "ConsoleVRDPServer.h"
-
-#include "Logging.h"
-
-#include <VBox/vmm/pdmdrv.h>
-#include <VBox/RemoteDesktop/VRDE.h>
-#include <VBox/vmm/cfgm.h>
-#include <VBox/err.h>
-
-#ifdef LOG_GROUP
- #undef LOG_GROUP
-#endif
-#define LOG_GROUP LOG_GROUP_DEV_AUDIO
-#include <VBox/log.h>
-
-//
-// defines
-//
-
-
-//
-// globals
-//
-
-
-/**
- * Audio Sniffer driver instance data.
- *
- * @extends PDMIAUDIOSNIFFERCONNECTOR
- */
-typedef struct DRVAUDIOSNIFFER
-{
-    /** Pointer to the Audio Sniffer object. */
-    AudioSniffer                *pAudioSniffer;
-
-    /** Pointer to the driver instance structure. */
-    PPDMDRVINS                  pDrvIns;
-
-    /** Pointer to the AudioSniffer port interface of the driver/device above us. */
-    PPDMIAUDIOSNIFFERPORT       pUpPort;
-    /** Our VMM device connector interface. */
-    PDMIAUDIOSNIFFERCONNECTOR   Connector;
-
-} DRVAUDIOSNIFFER, *PDRVAUDIOSNIFFER;
-
-/** Converts PDMIAUDIOSNIFFERCONNECTOR pointer to a DRVAUDIOSNIFFER pointer. */
-#define PDMIAUDIOSNIFFERCONNECTOR_2_MAINAUDIOSNIFFER(pInterface)    RT_FROM_MEMBER(pInterface, DRVAUDIOSNIFFER, Connector)
-
-
-//
-// constructor / destructor
-//
-AudioSniffer::AudioSniffer(Console *console)
-    : mpDrv(NULL),
-      mParent(console)
-{
-}
-
-AudioSniffer::~AudioSniffer()
-{
-    if (mpDrv)
-    {
-        mpDrv->pAudioSniffer = NULL;
-        mpDrv = NULL;
-    }
-}
-
-PPDMIAUDIOSNIFFERPORT AudioSniffer::getAudioSnifferPort()
-{
-    Assert(mpDrv);
-    return mpDrv->pUpPort;
-}
-
-
-
-//
-// public methods
-//
-
-DECLCALLBACK(void) iface_AudioSamplesOut (PPDMIAUDIOSNIFFERCONNECTOR pInterface, void *pvSamples, uint32_t cSamples,
-                                          int samplesPerSec, int nChannels, int bitsPerSample, bool fUnsigned)
-{
-    PDRVAUDIOSNIFFER pDrv = PDMIAUDIOSNIFFERCONNECTOR_2_MAINAUDIOSNIFFER(pInterface);
-
-    /*
-     * Just call the VRDP server with the data.
-     */
-    VRDEAUDIOFORMAT format = VRDE_AUDIO_FMT_MAKE(samplesPerSec, nChannels, bitsPerSample, !fUnsigned);
-    pDrv->pAudioSniffer->getParent()->i_consoleVRDPServer()->SendAudioSamples(pvSamples, cSamples, format);
-}
-
-DECLCALLBACK(void) iface_AudioVolumeOut (PPDMIAUDIOSNIFFERCONNECTOR pInterface, uint16_t left, uint16_t right)
-{
-    PDRVAUDIOSNIFFER pDrv = PDMIAUDIOSNIFFERCONNECTOR_2_MAINAUDIOSNIFFER(pInterface);
-
-    /*
-     * Just call the VRDP server with the data.
-     */
-    pDrv->pAudioSniffer->getParent()->i_consoleVRDPServer()->SendAudioVolume(left, right);
-}
-
-DECLCALLBACK(int) iface_AudioInputBegin (PPDMIAUDIOSNIFFERCONNECTOR pInterface,
-                                         void **ppvUserCtx,
-                                         void *pvContext,
-                                         uint32_t cSamples,
-                                         uint32_t iSampleHz,
-                                         uint32_t cChannels,
-                                         uint32_t cBits)
-{
-    PDRVAUDIOSNIFFER pDrv = PDMIAUDIOSNIFFERCONNECTOR_2_MAINAUDIOSNIFFER(pInterface);
-
-    return pDrv->pAudioSniffer->getParent()->i_consoleVRDPServer()->SendAudioInputBegin(ppvUserCtx,
-                                                                                      pvContext,
-                                                                                      cSamples,
-                                                                                      iSampleHz,
-                                                                                      cChannels,
-                                                                                      cBits);
-}
-
-DECLCALLBACK(void) iface_AudioInputEnd (PPDMIAUDIOSNIFFERCONNECTOR pInterface,
-                                        void *pvUserCtx)
-{
-    PDRVAUDIOSNIFFER pDrv = PDMIAUDIOSNIFFERCONNECTOR_2_MAINAUDIOSNIFFER(pInterface);
-
-    pDrv->pAudioSniffer->getParent()->i_consoleVRDPServer()->SendAudioInputEnd(pvUserCtx);
-}
-
-
-/**
- * @interface_method_impl{PDMIBASE,pfnQueryInterface}
- */
-DECLCALLBACK(void *) AudioSniffer::drvQueryInterface(PPDMIBASE pInterface, const char *pszIID)
-{
-    PPDMDRVINS pDrvIns = PDMIBASE_2_PDMDRV(pInterface);
-    PDRVAUDIOSNIFFER pDrv = PDMINS_2_DATA(pDrvIns, PDRVAUDIOSNIFFER);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBASE, &pDrvIns->IBase);
-    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIAUDIOSNIFFERCONNECTOR, &pDrv->Connector);
-    return NULL;
-}
-
-
-/**
- * Destruct a Audio Sniffer driver instance.
- *
- * @returns VBox status.
- * @param   pDrvIns     The driver instance data.
- */
-DECLCALLBACK(void) AudioSniffer::drvDestruct(PPDMDRVINS pDrvIns)
-{
-    PDMDRV_CHECK_VERSIONS_RETURN_VOID(pDrvIns);
-    PDRVAUDIOSNIFFER pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIOSNIFFER);
-    LogFlow(("AudioSniffer::drvDestruct: iInstance=%d\n", pDrvIns->iInstance));
-
-    if (pThis->pAudioSniffer)
-    {
-        pThis->pAudioSniffer->mpDrv = NULL;
-    }
-}
-
-
-/**
- * Construct a AudioSniffer driver instance.
- *
- * @copydoc FNPDMDRVCONSTRUCT
- */
-DECLCALLBACK(int) AudioSniffer::drvConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags)
-{
-    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
-    PDRVAUDIOSNIFFER pThis = PDMINS_2_DATA(pDrvIns, PDRVAUDIOSNIFFER);
-
-    LogFlow(("AudioSniffer::drvConstruct: iInstance=%d\n", pDrvIns->iInstance));
-
-    /*
-     * Validate configuration.
-     */
-    if (!CFGMR3AreValuesValid(pCfg, "Object\0"))
-        return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES;
-    AssertMsgReturn(PDMDrvHlpNoAttach(pDrvIns) == VERR_PDM_NO_ATTACHED_DRIVER,
-                    ("Configuration error: Not possible to attach anything to this driver!\n"),
-                    VERR_PDM_DRVINS_NO_ATTACH);
-
-    /*
-     * IBase.
-     */
-    pDrvIns->IBase.pfnQueryInterface            = AudioSniffer::drvQueryInterface;
-
-    /* Audio Sniffer connector. */
-    pThis->Connector.pfnAudioSamplesOut         = iface_AudioSamplesOut;
-    pThis->Connector.pfnAudioVolumeOut          = iface_AudioVolumeOut;
-    pThis->Connector.pfnAudioInputBegin         = iface_AudioInputBegin;
-    pThis->Connector.pfnAudioInputEnd           = iface_AudioInputEnd;
-
-    /*
-     * Get the Audio Sniffer Port interface of the above driver/device.
-     */
-    pThis->pUpPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIAUDIOSNIFFERPORT);
-    if (!pThis->pUpPort)
-    {
-        AssertMsgFailed(("Configuration error: No Audio Sniffer port interface above!\n"));
-        return VERR_PDM_MISSING_INTERFACE_ABOVE;
-    }
-
-    /*
-     * Get the Console object pointer and update the mpDrv member.
-     */
-    void *pv;
-    int rc = CFGMR3QueryPtr(pCfg, "Object", &pv);
-    if (RT_FAILURE(rc))
-    {
-        AssertMsgFailed(("Configuration error: No/bad \"Object\" value! rc=%Rrc\n", rc));
-        return rc;
-    }
-    pThis->pAudioSniffer = (AudioSniffer *)pv;        /** @todo Check this cast! */
-    pThis->pAudioSniffer->mpDrv = pThis;
-
-    return VINF_SUCCESS;
-}
-
-
-/**
- * Audio Sniffer driver registration record.
- */
-const PDMDRVREG AudioSniffer::DrvReg =
-{
-    /* u32Version */
-    PDM_DRVREG_VERSION,
-    /* szName */
-    "MainAudioSniffer",
-    /* szRCMod */
-    "",
-    /* szR0Mod */
-    "",
-    /* pszDescription */
-    "Main Audio Sniffer driver (Main as in the API).",
-    /* fFlags */
-    PDM_DRVREG_FLAGS_HOST_BITS_DEFAULT,
-    /* fClass. */
-    PDM_DRVREG_CLASS_AUDIO,
-    /* cMaxInstances */
-    ~0U,
-    /* cbInstance */
-    sizeof(DRVAUDIOSNIFFER),
-    /* pfnConstruct */
-    AudioSniffer::drvConstruct,
-    /* pfnDestruct */
-    AudioSniffer::drvDestruct,
-    /* pfnRelocate */
-    NULL,
-    /* pfnIOCtl */
-    NULL,
-    /* pfnPowerOn */
-    NULL,
-    /* pfnReset */
-    NULL,
-    /* pfnSuspend */
-    NULL,
-    /* pfnResume */
-    NULL,
-    /* pfnAttach */
-    NULL,
-    /* pfnDetach */
-    NULL,
-    /* pfnPowerOff */
-    NULL,
-    /* pfnSoftReset */
-    NULL,
-    /* u32EndVersion */
-    PDM_DRVREG_VERSION
-};
-/* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Main/src-client/ConsoleImpl.cpp b/src/VBox/Main/src-client/ConsoleImpl.cpp
index 2d8cbd4..8d8e08f 100644
--- a/src/VBox/Main/src-client/ConsoleImpl.cpp
+++ b/src/VBox/Main/src-client/ConsoleImpl.cpp
@@ -55,11 +55,7 @@
 #include "USBDeviceImpl.h"
 #include "RemoteUSBDeviceImpl.h"
 #include "SharedFolderImpl.h"
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 #include "DrvAudioVRDE.h"
-#else
-#include "AudioSnifferInterface.h"
-#endif
 #include "Nvram.h"
 #ifdef VBOX_WITH_USB_CARDREADER
 # include "UsbCardReader.h"
@@ -372,11 +368,7 @@ Console::Console()
     , mfPowerOffCausedByReset(false)
     , mpVmm2UserMethods(NULL)
     , m_pVMMDev(NULL)
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     , mAudioVRDE(NULL)
-#else
-    , mAudioSniffer(NULL)
-#endif
     , mNvram(NULL)
 #ifdef VBOX_WITH_USB_CARDREADER
     , mUsbCardReader(NULL)
@@ -388,6 +380,10 @@ Console::Console()
     , mVMStateChangeCallbackDisabled(false)
     , mfUseHostClipboard(true)
     , mMachineState(MachineState_PoweredOff)
+#ifdef RT_OS_WINDOWS
+    , mfNDIS6(true)
+#endif /* RT_OS_WINDOWS */
+
 {
 }
 
@@ -552,13 +548,9 @@ HRESULT Console::init(IMachine *aMachine, IInternalMachineControl *aControl, Loc
         for (ULONG slot = 0; slot < maxNetworkAdapters; ++slot)
             meAttachmentType[slot] = NetworkAttachmentType_Null;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         unconst(mAudioVRDE) = new AudioVRDE(this);
         AssertReturn(mAudioVRDE, E_FAIL);
-#else
-        unconst(mAudioSniffer) = new AudioSniffer(this);
-        AssertReturn(mAudioSniffer, E_FAIL);
-#endif
+
         FirmwareType_T enmFirmwareType;
         mMachine->COMGETTER(FirmwareType)(&enmFirmwareType);
         if (   enmFirmwareType == FirmwareType_EFI
@@ -692,19 +684,11 @@ void Console::uninit()
     }
 #endif
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     if (mAudioVRDE)
     {
         delete mAudioVRDE;
         unconst(mAudioVRDE) = NULL;
     }
-#else
-    if (mAudioSniffer)
-    {
-        delete mAudioSniffer;
-        unconst(mAudioSniffer) = NULL;
-    }
-#endif
 
     // if the VM had a VMMDev with an HGCM thread, then remove that here
     if (m_pVMMDev)
@@ -1397,22 +1381,8 @@ void Console::i_VRDPClientDisconnect(uint32_t u32ClientId,
 
     if (fu32Intercepted & VRDE_CLIENT_INTERCEPT_AUDIO)
     {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         if (mAudioVRDE)
             mAudioVRDE->onVRDEControl(false /* fEnable */, 0 /* uFlags */);
-#else
-        mcAudioRefs--;
-
-        if (mcAudioRefs <= 0)
-        {
-            if (mAudioSniffer)
-            {
-                PPDMIAUDIOSNIFFERPORT port = mAudioSniffer->getAudioSnifferPort();
-                if (port)
-                    port->pfnSetup(port, false, false);
-            }
-        }
-#endif
     }
 
     AuthType_T authType = AuthType_Null;
@@ -1444,22 +1414,8 @@ void Console::i_VRDPInterceptAudio(uint32_t u32ClientId)
 
     LogFlowFunc(("u32ClientId=%RU32\n", u32ClientId));
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     if (mAudioVRDE)
         mAudioVRDE->onVRDEControl(true /* fEnable */, 0 /* uFlags */);
-#else
-    ++mcAudioRefs;
-
-    if (mcAudioRefs == 1)
-    {
-        if (mAudioSniffer)
-        {
-            PPDMIAUDIOSNIFFERPORT port = mAudioSniffer->getAudioSnifferPort();
-            if (port)
-                port->pfnSetup(port, true, true);
-        }
-    }
-#endif
 
     LogFlowFuncLeave();
     return;
@@ -1754,22 +1710,21 @@ DECLCALLBACK(int) Console::i_doGuestPropNotification(void *pvExtension,
     Bstr value(pCBData->pcszValue);
     Bstr flags(pCBData->pcszFlags);
     ComObjPtr<Console> pConsole = reinterpret_cast<Console *>(pvExtension);
-    BOOL fNotify = FALSE;
     HRESULT hrc = pConsole->mControl->PushGuestProperty(name.raw(),
                                                         value.raw(),
                                                         pCBData->u64Timestamp,
-                                                        flags.raw(),
-                                                        &fNotify);
+                                                        flags.raw());
     if (SUCCEEDED(hrc))
+    {
+        fireGuestPropertyChangedEvent(pConsole->mEventSource, pConsole->i_getId().raw(), name.raw(), value.raw(), flags.raw());
         rc = VINF_SUCCESS;
+    }
     else
     {
         LogFlow(("Console::doGuestPropNotification: hrc=%Rhrc pCBData={.pcszName=%s, .pcszValue=%s, .pcszFlags=%s}\n",
                  hrc, pCBData->pcszName, pCBData->pcszValue, pCBData->pcszFlags));
         rc = Global::vboxStatusCodeFromCOM(hrc);
     }
-    if (fNotify)
-        fireGuestPropertyChangedEvent(pConsole->mEventSource, pConsole->i_getId().raw(), name.raw(), value.raw(), flags.raw());
     return rc;
 }
 
@@ -7239,8 +7194,8 @@ HRESULT Console::i_powerUp(IProgress **aProgress, bool aPaused)
 
         // If there is immutable drive the process that.
         VMPowerUpTask::ProgressList progresses(task->hardDiskProgresses);
-        if (aProgress && progresses.size() > 0){
-
+        if (aProgress && progresses.size() > 0)
+        {
             for (VMPowerUpTask::ProgressList::const_iterator it = progresses.begin(); it !=  progresses.end(); ++it)
             {
                 ++cOperations;
@@ -8652,8 +8607,7 @@ HRESULT Console::i_attachUSBDevice(IUSBDevice *aHostDevice, ULONG aMaskedIfs,
     }
     else
     {
-        LogWarningThisFunc(("Failed to create proxy device for '%s' {%RTuuid} (%Rrc)\n",
-                            Address.c_str(), uuid.raw(), vrc));
+        Log1WarningThisFunc(("Failed to create proxy device for '%s' {%RTuuid} (%Rrc)\n", Address.c_str(), uuid.raw(), vrc));
 
         switch (vrc)
         {
@@ -9325,8 +9279,7 @@ void Console::i_processRemoteUSBDevices(uint32_t u32ClientId, VRDEUSBDEVICEDESC
 
         if (cbDevList < e->oNext)
         {
-            LogWarningThisFunc(("cbDevList %d > oNext %d\n",
-                                 cbDevList, e->oNext));
+            Log1WarningThisFunc(("cbDevList %d > oNext %d\n", cbDevList, e->oNext));
             break;
         }
 
diff --git a/src/VBox/Main/src-client/ConsoleImpl2.cpp b/src/VBox/Main/src-client/ConsoleImpl2.cpp
index 0646c20..409fd9a 100644
--- a/src/VBox/Main/src-client/ConsoleImpl2.cpp
+++ b/src/VBox/Main/src-client/ConsoleImpl2.cpp
@@ -748,8 +748,10 @@ DECLCALLBACK(int) Console::i_configConstructor(PUVM pUVM, PVM pVM, void *pvConso
 
 /**
  * Report versions of installed drivers to release log.
+ *
+ * WARNING! This method has a side effect -- it modifies mfNDIS6.
  */
-static void reportDriverVersions(void)
+void Console::i_reportDriverVersions()
 {
     DWORD   err;
     HRESULT hrc;
@@ -761,6 +763,9 @@ static void reportDriverVersions(void)
     LPVOID  pVerInfo      = NULL;
     DWORD   cbVerInfo     = 0;
 
+    /* Assume NDIS6 */
+    mfNDIS6 = true;
+
     do
     {
         cNeeded = GetWindowsDirectory(szSystemRoot, RT_ELEMENTS(szSystemRoot));
@@ -815,6 +820,8 @@ static void reportDriverVersions(void)
             {
                 if (_tcsnicmp(TEXT("vbox"), szDriver, 4))
                     continue;
+                if (_tcsnicmp(TEXT("vboxnetflt"), szDriver, 10) == 0)
+                    mfNDIS6 = false;
             }
             else
                 continue;
@@ -882,7 +889,7 @@ static void reportDriverVersions(void)
         RTMemTmpFree(pszSystemRoot);
 }
 #else /* !RT_OS_WINDOWS */
-static void reportDriverVersions(void)
+void Console::i_reportDriverVersions(void)
 {
 }
 #endif /* !RT_OS_WINDOWS */
@@ -980,7 +987,7 @@ int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, AutoWriteLock *pAlock)
     ULONG maxNetworkAdapters;
     hrc = systemProperties->GetMaxNetworkAdapters(chipsetType, &maxNetworkAdapters);        H();
 
-    reportDriverVersions();
+    i_reportDriverVersions();
     /*
      * Get root node first.
      * This is the only node in the tree.
@@ -2680,21 +2687,6 @@ int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, AutoWriteLock *pAlock)
          */
         i_attachStatusDriver(pInst, &mapSharedFolderLed, 0, 0, NULL, NULL, 0);
 
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-        /*
-         * Audio Sniffer Device
-         */
-        InsertConfigNode(pDevices, "AudioSniffer", &pDev);
-        InsertConfigNode(pDev,     "0", &pInst);
-        InsertConfigNode(pInst,    "Config", &pCfg);
-
-        /* the Audio Sniffer device's Main driver */
-        InsertConfigNode(pInst,    "LUN#0", &pLunL0);
-        InsertConfigString(pLunL0, "Driver",               "MainAudioSniffer");
-        InsertConfigNode(pLunL0,   "Config", &pCfg);
-        AudioSniffer *pAudioSniffer = mAudioSniffer;
-        InsertConfigInteger(pCfg,  "Object", (uintptr_t)pAudioSniffer);
-#endif
         /*
          * AC'97 ICH / SoundBlaster16 audio / Intel HD Audio.
          */
@@ -2745,114 +2737,96 @@ int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, AutoWriteLock *pAlock)
                 }
             }
 
+            PCFGMNODE pCfgAudioSettings = NULL;
+            InsertConfigNode(pInst, "AudioConfig", &pCfgAudioSettings);
+            SafeArray<BSTR> audioProps;
+            hrc = audioAdapter->COMGETTER(PropertiesList)(ComSafeArrayAsOutParam(audioProps));  H();
+
+            std::list<Utf8Str> audioPropertyNamesList;
+            for (size_t i = 0; i < audioProps.size(); ++i)
+            {
+                Bstr bstrValue;
+                audioPropertyNamesList.push_back(Utf8Str(audioProps[i]));
+                hrc = audioAdapter->GetProperty(audioProps[i], bstrValue.asOutParam());
+                Utf8Str strKey(audioProps[i]);
+                InsertConfigString(pCfgAudioSettings, strKey.c_str(), bstrValue);
+            }
+
             /* The audio driver. */
             InsertConfigNode(pInst,    "LUN#0", &pLunL0);
             InsertConfigString(pLunL0, "Driver", "AUDIO");
             InsertConfigNode(pLunL0,   "Config", &pCfg);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             InsertConfigNode(pLunL0, "AttachedDriver", &pLunL1);
             InsertConfigNode(pLunL1, "Config", &pCfg);
-#endif
+
+            hrc = pMachine->COMGETTER(Name)(bstr.asOutParam());                             H();
+            InsertConfigString(pCfg, "StreamName", bstr);
+
             AudioDriverType_T audioDriver;
             hrc = audioAdapter->COMGETTER(AudioDriver)(&audioDriver);                       H();
             switch (audioDriver)
             {
                 case AudioDriverType_Null:
                 {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "NullAudio");
-#else
-                    InsertConfigString(pCfg, "AudioDriver", "null");
-#endif
                     break;
                 }
 #ifdef RT_OS_WINDOWS
 # ifdef VBOX_WITH_WINMM
                 case AudioDriverType_WinMM:
                 {
-#  ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     #error "Port WinMM audio backend!" /** @todo Still needed? */
-#  else
-                    InsertConfigString(pCfg, "AudioDriver", "winmm");
-#  endif
                     break;
                 }
 # endif
                 case AudioDriverType_DirectSound:
                 {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "DSoundAudio");
-#else
-                    InsertConfigString(pCfg, "AudioDriver", "dsound");
-#endif
                     break;
                 }
 #endif /* RT_OS_WINDOWS */
 #ifdef RT_OS_SOLARIS
                 case AudioDriverType_SolAudio:
                 {
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     /** @todo Hack alert: Find a better solution. */
                     LogRel(("Audio: WARNING: Solaris Audio is deprecated, please switch to OSS!\n"));
                     LogRel(("Audio: Automatically setting host audio backend to OSS\n"));
                     /* Manually set backend to OSS for now. */
                     InsertConfigString(pLunL1, "Driver", "OSSAudio");
-# else
-                    InsertConfigString(pCfg, "AudioDriver", "solaudio");
-# endif
                     break;
                 }
 #endif
 #ifdef VBOX_WITH_ALSA
                 case AudioDriverType_ALSA:
                 {
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "ALSAAudio");
-# else
-                    InsertConfigString(pCfg, "AudioDriver", "alsa");
-# endif
                     break;
                 }
 #endif
 #ifdef VBOX_WITH_PULSE
                 case AudioDriverType_Pulse:
                 {
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "PulseAudio");
-# else
-                    InsertConfigString(pCfg, "AudioDriver", "pulse");
-# endif
                     break;
                 }
 #endif
 #if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) || defined(VBOX_WITH_SOLARIS_OSS)
                 case AudioDriverType_OSS:
                 {
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "OSSAudio");
-# else
-                    InsertConfigString(pCfg, "AudioDriver", "ossaudio");
-# endif
                     break;
                 }
 #endif
 #ifdef RT_OS_DARWIN
                 case AudioDriverType_CoreAudio:
                 {
-# ifdef VBOX_WITH_PDM_AUDIO_DRIVER
                     InsertConfigString(pLunL1, "Driver", "CoreAudio");
-# else
-                    InsertConfigString(pCfg, "AudioDriver", "coreaudio");
-# endif
                     break;
                 }
 #endif
             }
 
-            hrc = pMachine->COMGETTER(Name)(bstr.asOutParam());                             H();
-
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             /*
              * The VRDE audio backend driver. This one always is there
              * and therefore is hardcoded here.
@@ -2870,7 +2844,6 @@ int Console::i_configConstructorInner(PUVM pUVM, PVM pVM, AutoWriteLock *pAlock)
             InsertConfigInteger(pCfg, "ObjectVRDPServer", (uintptr_t)mConsoleVRDPServer);
 
             /** @todo Add audio video recording driver here. */
-#endif
         }
 
         /*
@@ -5321,37 +5294,8 @@ int Console::i_configNetwork(const char *pszDevice,
 
                 CoTaskMemFree(pswzBindName);
 
-                /* Assume we should use the old NDIS5.1 version of driver which uses TRUNKTYPE_NETADP */
-                trunkType = TRUNKTYPE_NETADP;
-
-                HKEY hkParams;
-                hrc = pAdaptorComponent->OpenParamKey(&hkParams);
-                Assert(hrc == S_OK);
-                if (hrc == S_OK)
-                {
-                    WCHAR swzInfSection[16];
-                    DWORD dwSize = sizeof(swzInfSection);
-                    hrc = RegQueryValueExW(hkParams, L"InfSection", NULL, NULL, (LPBYTE)swzInfSection, &dwSize);
-                    if (hrc == S_OK)
-                    {
-                        if (!_wcsnicmp(swzInfSection, L"VBoxNetAdp6.ndi", sizeof(L"VBoxNetAdp6.ndi")/2))
-                        {
-                            /*
-                             * This is NDIS 6.x miniport, it relies on NetLwf filter to
-                             * run actual traffic. We use netflt attachment instead of
-                             * netadp, which is used in case of NDIS 5.x.
-                             */
-                            trunkType = TRUNKTYPE_NETFLT;
-                        }
-                    }
-                    RegCloseKey(hkParams);
-                }
-                else
-                {
-                    LogRel(("Console::i_configNetwork: INetCfgComponent::GetId(%s) failed, err (0x%x), "
-                            "falling back to NDIS5 attachment\n", pszTrunkName, hrc));
-                    /* Nothing to do here as the trunk type defaults to NETADP */
-                }
+                /* The old NDIS5.1 version of driver uses TRUNKTYPE_NETADP */
+                trunkType = mfNDIS6 ? TRUNKTYPE_NETFLT : TRUNKTYPE_NETADP;
                 InsertConfigInteger(pCfg, "TrunkType", trunkType == TRUNKTYPE_NETFLT ? kIntNetTrunkType_NetFlt : kIntNetTrunkType_NetAdp);
 
                 pAdaptorComponent.setNull();
diff --git a/src/VBox/Main/src-client/ConsoleVRDPServer.cpp b/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
index 0f61397..fce4c24 100644
--- a/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
+++ b/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
@@ -20,11 +20,7 @@
 #include "DisplayImpl.h"
 #include "KeyboardImpl.h"
 #include "MouseImpl.h"
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 #include "DrvAudioVRDE.h"
-#else
-#include "AudioSnifferInterface.h"
-#endif
 #ifdef VBOX_WITH_EXTPACK
 # include "ExtPackManagerImpl.h"
 #endif
@@ -363,8 +359,8 @@ void ConsoleVRDPServer::onMousePointerShapeChange(BOOL visible,
                                                   ULONG height,
                                                   ComSafeArrayIn(BYTE,inShape))
 {
-    LogSunlover(("VRDPConsoleListener::OnMousePointerShapeChange: %d, %d, %lux%lu, @%lu,%lu\n",
-                 visible, alpha, width, height, xHot, yHot));
+    Log9(("VRDPConsoleListener::OnMousePointerShapeChange: %d, %d, %lux%lu, @%lu,%lu\n",
+          visible, alpha, width, height, xHot, yHot));
 
     com::SafeArray <BYTE> aShape(ComSafeArrayInArg(inShape));
     if (aShape.size() == 0)
@@ -955,21 +951,9 @@ DECLCALLBACK(void) ConsoleVRDPServer::VRDPCallbackClientDisconnect(void *pvCallb
         LogFunc(("Disconnected client %u\n", u32ClientId));
         ASMAtomicWriteU32(&pServer->mu32AudioInputClientId, 0);
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
         AudioVRDE *pVRDE = pServer->mConsole->i_getAudioVRDE();
         if (pVRDE)
             pVRDE->onVRDEInputIntercept(false /* fIntercept */);
-#else
-        PPDMIAUDIOSNIFFERPORT pPort = pServer->mConsole->i_getAudioSniffer()->getAudioSnifferPort();
-        if (pPort)
-        {
-             pPort->pfnAudioInputIntercept(pPort, false);
-        }
-        else
-        {
-            AssertFailed();
-        }
-#endif
     }
 
     int32_t cClients = ASMAtomicDecS32(&pServer->mcClients);
@@ -1027,25 +1011,10 @@ DECLCALLBACK(int) ConsoleVRDPServer::VRDPCallbackIntercept(void *pvCallback, uin
             if (ASMAtomicCmpXchgU32(&pServer->mu32AudioInputClientId, u32ClientId, 0) == true)
             {
                 LogFunc(("Intercepting audio input by client %RU32\n", u32ClientId));
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
+
                 AudioVRDE *pVRDE = pServer->mConsole->i_getAudioVRDE();
                 if (pVRDE)
                     pVRDE->onVRDEInputIntercept(true /* fIntercept */);
-#else
-                PPDMIAUDIOSNIFFERPORT pPort = pServer->mConsole->i_getAudioSniffer()->getAudioSnifferPort();
-                if (pPort)
-                {
-                     pPort->pfnAudioInputIntercept(pPort, true);
-                     if (ppvIntercept)
-                         *ppvIntercept = pServer;
-                }
-                else
-                {
-                    AssertFailed();
-                    ASMAtomicWriteU32(&pServer->mu32AudioInputClientId, 0);
-                    rc = VERR_NOT_SUPPORTED;
-                }
-#endif
             }
             else
             {
@@ -1312,46 +1281,25 @@ DECLCALLBACK(void) ConsoleVRDPServer::VRDECallbackAudioIn(void *pvCallback,
 {
     ConsoleVRDPServer *pServer = static_cast<ConsoleVRDPServer*>(pvCallback);
     AssertPtrReturnVoid(pServer);
-#ifndef VBOX_WITH_PDM_AUDIO_DRIVER
-    PPDMIAUDIOSNIFFERPORT pPort = pServer->mConsole->i_getAudioSniffer()->getAudioSnifferPort();
-#else
+
     AudioVRDE *pVRDE = pServer->mConsole->i_getAudioVRDE();
     if (!pVRDE) /* Nothing to do, bail out early. */
         return;
-#endif
 
     switch (u32Event)
     {
         case VRDE_AUDIOIN_BEGIN:
         {
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             pVRDE->onVRDEInputBegin(pvCtx, (PVRDEAUDIOINBEGIN)pvData);
-#else
-            const VRDEAUDIOINBEGIN *pParms = (const VRDEAUDIOINBEGIN *)pvData;
-            pPort->pfnAudioInputEventBegin (pPort, pvCtx,
-                                            VRDE_AUDIO_FMT_SAMPLE_FREQ(pParms->fmt),
-                                            VRDE_AUDIO_FMT_CHANNELS(pParms->fmt),
-                                            VRDE_AUDIO_FMT_BITS_PER_SAMPLE(pParms->fmt),
-                                            VRDE_AUDIO_FMT_SIGNED(pParms->fmt)
-                                           );
-#endif
             break;
         }
 
         case VRDE_AUDIOIN_DATA:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             pVRDE->onVRDEInputData(pvCtx, pvData, cbData);
-#else
-            pPort->pfnAudioInputEventData (pPort, pvCtx, pvData, cbData);
-#endif
             break;
 
         case VRDE_AUDIOIN_END:
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
             pVRDE->onVRDEInputEnd(pvCtx);
-#else
-            pPort->pfnAudioInputEventEnd (pPort, pvCtx);
-#endif
             break;
 
         default:
diff --git a/src/VBox/Main/src-client/DisplayImplLegacy.cpp b/src/VBox/Main/src-client/DisplayImplLegacy.cpp
index ee5a94c..2d68d9e 100644
--- a/src/VBox/Main/src-client/DisplayImplLegacy.cpp
+++ b/src/VBox/Main/src-client/DisplayImplLegacy.cpp
@@ -54,17 +54,17 @@ static unsigned mapCoordsToScreen(DISPLAYFBINFO *pInfos, unsigned cInfos, int *p
 {
     DISPLAYFBINFO *pInfo = pInfos;
     unsigned uScreenId;
-    LogSunlover(("mapCoordsToScreen: %d,%d %dx%d\n", *px, *py, *pw, *ph));
+    Log9(("mapCoordsToScreen: %d,%d %dx%d\n", *px, *py, *pw, *ph));
     for (uScreenId = 0; uScreenId < cInfos; uScreenId++, pInfo++)
     {
-        LogSunlover(("    [%d] %d,%d %dx%d\n", uScreenId, pInfo->xOrigin, pInfo->yOrigin, pInfo->w, pInfo->h));
+        Log9(("    [%d] %d,%d %dx%d\n", uScreenId, pInfo->xOrigin, pInfo->yOrigin, pInfo->w, pInfo->h));
         if (   (pInfo->xOrigin <= *px && *px < pInfo->xOrigin + (int)pInfo->w)
             && (pInfo->yOrigin <= *py && *py < pInfo->yOrigin + (int)pInfo->h))
         {
             /* The rectangle belongs to the screen. Correct coordinates. */
             *px -= pInfo->xOrigin;
             *py -= pInfo->yOrigin;
-            LogSunlover(("    -> %d,%d", *px, *py));
+            Log9(("    -> %d,%d", *px, *py));
             break;
         }
     }
@@ -73,7 +73,7 @@ static unsigned mapCoordsToScreen(DISPLAYFBINFO *pInfos, unsigned cInfos, int *p
         /* Map to primary screen. */
         uScreenId = 0;
     }
-    LogSunlover((" scr %d\n", uScreenId));
+    Log9((" scr %d\n", uScreenId));
     return uScreenId;
 }
 
@@ -104,12 +104,12 @@ static void vbvaRgnInit(VBVADIRTYREGION *prgn, DISPLAYFBINFO *paFramebuffers, un
 
 static void vbvaRgnDirtyRect(VBVADIRTYREGION *prgn, unsigned uScreenId, VBVACMDHDR *phdr)
 {
-    LogSunlover(("x = %d, y = %d, w = %d, h = %d\n",
-                 phdr->x, phdr->y, phdr->w, phdr->h));
+    Log9(("x = %d, y = %d, w = %d, h = %d\n", phdr->x, phdr->y, phdr->w, phdr->h));
 
     /*
      * Here update rectangles are accumulated to form an update area.
-     * @todo
+     */
+    /** @todo
      * Now the simplest method is used which builds one rectangle that
      * includes all update areas. A bit more advanced method can be
      * employed here. The method should be fast however.
diff --git a/src/VBox/Main/src-client/DrvAudioVRDE.cpp b/src/VBox/Main/src-client/DrvAudioVRDE.cpp
index 1de44ab..a94dc11 100644
--- a/src/VBox/Main/src-client/DrvAudioVRDE.cpp
+++ b/src/VBox/Main/src-client/DrvAudioVRDE.cpp
@@ -172,7 +172,7 @@ static DECLCALLBACK(int) drvAudioVRDECaptureIn(PPDMIHOSTAUDIO pInterface, PPDMAU
     uint32_t cProcessed = 0;
     if (pVRDEStrmIn->cSamplesCaptured)
     {
-        rc = audioMixBufMixToParent(&pVRDEStrmIn->HstStrmIn.MixBuf, pVRDEStrmIn->cSamplesCaptured,
+        rc = AudioMixBufMixToParent(&pVRDEStrmIn->HstStrmIn.MixBuf, pVRDEStrmIn->cSamplesCaptured,
                                     &cProcessed);
     }
     else
@@ -249,7 +249,7 @@ static DECLCALLBACK(int) drvAudioVRDEPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUDI
 
     PPDMAUDIOSAMPLE pSamples;
     uint32_t cRead;
-    int rc = audioMixBufAcquire(&pHstStrmOut->MixBuf, cSamplesToSend,
+    int rc = AudioMixBufAcquire(&pHstStrmOut->MixBuf, cSamplesToSend,
                                 &pSamples, &cRead);
     if (   RT_SUCCESS(rc)
         && cRead)
@@ -259,7 +259,7 @@ static DECLCALLBACK(int) drvAudioVRDEPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUDI
 
         if (rc == VINF_TRY_AGAIN)
         {
-            rc = audioMixBufAcquire(&pHstStrmOut->MixBuf, cSamplesToSend - cRead,
+            rc = AudioMixBufAcquire(&pHstStrmOut->MixBuf, cSamplesToSend - cRead,
                                     &pSamples, &cRead);
             if (RT_SUCCESS(rc))
                 pDrv->pConsoleVRDPServer->SendAudioSamples(pSamples, cRead, format);
@@ -268,7 +268,7 @@ static DECLCALLBACK(int) drvAudioVRDEPlayOut(PPDMIHOSTAUDIO pInterface, PPDMAUDI
         }
     }
 
-    audioMixBufFinish(&pHstStrmOut->MixBuf, cSamplesToSend);
+    AudioMixBufFinish(&pHstStrmOut->MixBuf, cSamplesToSend);
 
     /*
      * Always report back all samples acquired, regardless of whether the
@@ -311,7 +311,7 @@ static DECLCALLBACK(int) drvAudioVRDEControlOut(PPDMIHOSTAUDIO pInterface, PPDMA
 
     LogFlowFunc(("enmStreamCmd=%ld\n", enmStreamCmd));
 
-    audioMixBufReset(&pHstStrmOut->MixBuf);
+    AudioMixBufReset(&pHstStrmOut->MixBuf);
 
     return VINF_SUCCESS;
 }
@@ -332,13 +332,13 @@ static DECLCALLBACK(int) drvAudioVRDEControlIn(PPDMIHOSTAUDIO pInterface, PPDMAU
     if (!pDrv->pConsoleVRDPServer)
         return VINF_SUCCESS;
 
-    audioMixBufReset(&pThisStrmIn->MixBuf);
+    AudioMixBufReset(&pThisStrmIn->MixBuf);
 
     /* Initialize only if not already done. */
     int rc;
     if (enmStreamCmd == PDMAUDIOSTREAMCMD_ENABLE)
     {
-        rc = pDrv->pConsoleVRDPServer->SendAudioInputBegin(NULL, pVRDEStrmIn, audioMixBufSize(&pThisStrmIn->MixBuf),
+        rc = pDrv->pConsoleVRDPServer->SendAudioInputBegin(NULL, pVRDEStrmIn, AudioMixBufSize(&pThisStrmIn->MixBuf),
                                                            pThisStrmIn->Props.uHz,
                                                            pThisStrmIn->Props.cChannels, pThisStrmIn->Props.cBits);
         if (rc == VERR_NOT_SUPPORTED)
@@ -458,7 +458,7 @@ int AudioVRDE::onVRDEInputData(void *pvContext, const void *pvData, uint32_t cbD
     /** @todo Use CritSect! */
 
     uint32_t cWritten;
-    int rc = audioMixBufWriteCirc(&pHstStrmIn->MixBuf, pvData, cbData, &cWritten);
+    int rc = AudioMixBufWriteCirc(&pHstStrmIn->MixBuf, pvData, cbData, &cWritten);
     if (RT_SUCCESS(rc))
         pVRDEStrmIn->cSamplesCaptured += cWritten;
 
diff --git a/src/VBox/Main/src-client/GuestCtrlImpl.cpp b/src/VBox/Main/src-client/GuestCtrlImpl.cpp
index a94cffd..2da9035 100644
--- a/src/VBox/Main/src-client/GuestCtrlImpl.cpp
+++ b/src/VBox/Main/src-client/GuestCtrlImpl.cpp
@@ -279,7 +279,7 @@ int Guest::i_sessionRemove(GuestSession *pSession)
             break;
         }
 
-        itSessions++;
+        ++itSessions;
     }
 
     LogFlowFuncLeaveRC(rc);
@@ -457,14 +457,14 @@ HRESULT Guest::findSession(const com::Utf8Str &aSessionName, std::vector<ComPtr<
     {
         if (strName.contains(itSessions->second->i_getName())) /** @todo Use a (simple) pattern match (IPRT?). */
             listSessions.push_back(itSessions->second);
-        itSessions++;
+        ++itSessions;
     }
 
     LogFlowFunc(("Sessions with \"%s\" = %RU32\n",
                  aSessionName.c_str(), listSessions.size()));
 
     aSessions.resize(listSessions.size());
-    if (listSessions.size())
+    if (!listSessions.empty())
     {
         size_t i = 0;
         for (std::list < ComObjPtr<GuestSession> >::const_iterator it = listSessions.begin(); it != listSessions.end(); ++it, ++i)
diff --git a/src/VBox/Main/src-client/GuestCtrlPrivate.cpp b/src/VBox/Main/src-client/GuestCtrlPrivate.cpp
index ac18c9a..f84ac8a 100644
--- a/src/VBox/Main/src-client/GuestCtrlPrivate.cpp
+++ b/src/VBox/Main/src-client/GuestCtrlPrivate.cpp
@@ -606,10 +606,10 @@ int GuestBase::cancelWaitEvents(void)
                 int rc2 = pEvent->Cancel();
                 AssertRC(rc2);
 
-                itEvents++;
+                ++itEvents;
             }
 
-            itEventGroups++;
+            ++itEventGroups;
         }
 
         int rc2 = RTCritSectLeave(&mWaitEventCritSect);
@@ -736,7 +736,7 @@ int GuestBase::registerWaitEvent(uint32_t uSessionID, uint32_t uObjectID,
             /* Insert event into matching event group. This is for faster per-group
              * lookup of all events later. */
             for (GuestEventTypes::const_iterator itEvents = lstEvents.begin();
-                 itEvents != lstEvents.end(); itEvents++)
+                 itEvents != lstEvents.end(); ++itEvents)
             {
                 mWaitEventGroups[(*itEvents)].insert(
                    std::pair<uint32_t, GuestWaitEvent*>(uContextID, pEvent));
@@ -796,7 +796,7 @@ int GuestBase::signalWaitEvent(VBoxEventType_T aType, IEvent *aEvent)
                     AssertPtr(itEvents->second);
                     const GuestEventTypes evTypes = itEvents->second->Types();
                     for (GuestEventTypes::const_iterator itType = evTypes.begin();
-                         itType != evTypes.end(); itType++)
+                         itType != evTypes.end(); ++itType)
                     {
                         if ((*itType) != aType) /* Only remove all other groups. */
                         {
@@ -820,7 +820,7 @@ int GuestBase::signalWaitEvent(VBoxEventType_T aType, IEvent *aEvent)
                     itGroup->second.erase(itEvents++);
                 }
                 else
-                    itEvents++;
+                    ++itEvents;
 #ifdef DEBUG
                 cEvents++;
 #endif
@@ -884,7 +884,7 @@ void GuestBase::unregisterWaitEvent(GuestWaitEvent *pEvent)
 
         const GuestEventTypes lstTypes = pEvent->Types();
         for (GuestEventTypes::const_iterator itEvents = lstTypes.begin();
-             itEvents != lstTypes.end(); itEvents++)
+             itEvents != lstTypes.end(); ++itEvents)
         {
             /** @todo Slow O(n) lookup. Optimize this. */
             GuestWaitEvents::iterator itCurEvent = mWaitEventGroups[(*itEvents)].begin();
@@ -896,7 +896,7 @@ void GuestBase::unregisterWaitEvent(GuestWaitEvent *pEvent)
                     break;
                 }
                 else
-                    itCurEvent++;
+                    ++itCurEvent;
             }
         }
 
diff --git a/src/VBox/Main/src-client/GuestDnDPrivate.cpp b/src/VBox/Main/src-client/GuestDnDPrivate.cpp
index d9499a4..af32cc4 100644
--- a/src/VBox/Main/src-client/GuestDnDPrivate.cpp
+++ b/src/VBox/Main/src-client/GuestDnDPrivate.cpp
@@ -176,7 +176,7 @@ int GuestDnDCallbackEvent::Reset(void)
     return rc;
 }
 
-int GuestDnDCallbackEvent::Notify(int rc)
+int GuestDnDCallbackEvent::Notify(int rc /* = VINF_SUCCESS */)
 {
     mRc = rc;
     return RTSemEventSignal(mSemEvent);
@@ -208,40 +208,6 @@ GuestDnDResponse::~GuestDnDResponse(void)
     AssertRC(rc);
 }
 
-/* static */
-Utf8Str GuestDnDResponse::errorToString(const ComObjPtr<Guest>& pGuest, int guestRc)
-{
-    Utf8Str strError;
-
-    switch (guestRc)
-    {
-        case VERR_ACCESS_DENIED:
-            strError += Utf8StrFmt(pGuest->tr("For one or more guest files or directories selected for transferring to the host your guest "
-                                              "user does not have the appropriate access rights for. Please make sure that all selected "
-                                              "elements can be accessed and that your guest user has the appropriate rights."));
-            break;
-
-        case VERR_NOT_FOUND:
-            /* Should not happen due to file locking on the guest, but anyway ... */
-            strError += Utf8StrFmt(pGuest->tr("One or more guest files or directories selected for transferring to the host were not"
-                                              "found on the guest anymore. This can be the case if the guest files were moved and/or"
-                                              "altered while the drag and drop operation was in progress."));
-            break;
-
-        case VERR_SHARING_VIOLATION:
-            strError += Utf8StrFmt(pGuest->tr("One or more guest files or directories selected for transferring to the host were locked. "
-                                              "Please make sure that all selected elements can be accessed and that your guest user has "
-                                              "the appropriate rights."));
-            break;
-
-        default:
-            strError += Utf8StrFmt("Drag and drop guest error (%Rrc)", guestRc);
-            break;
-    }
-
-    return strError;
-}
-
 int GuestDnDResponse::notifyAboutGuestResponse(void) const
 {
     return RTSemEventSignal(m_EventSem);
@@ -311,10 +277,11 @@ int GuestDnDResponse::setCallback(uint32_t uMsg, PFNGUESTDNDCALLBACK pfnCallback
 }
 
 int GuestDnDResponse::setProgress(unsigned uPercentage,
-                                  uint32_t uStatus, int rcOp /* = VINF_SUCCESS */)
+                                  uint32_t uStatus,
+                                  int rcOp /* = VINF_SUCCESS */, const Utf8Str &strMsg /* = "" */)
 {
-    LogFlowFunc(("uStatus=%RU32, uPercentage=%RU32, rcOp=%Rrc\n",
-                 uStatus, uPercentage, rcOp));
+    LogFlowFunc(("uStatus=%RU32, uPercentage=%RU32, rcOp=%Rrc, strMsg=%s\n",
+                 uStatus, uPercentage, rcOp, strMsg.c_str()));
 
     int rc = VINF_SUCCESS;
     if (!m_progress.isNull())
@@ -337,8 +304,7 @@ int GuestDnDResponse::setProgress(unsigned uPercentage,
                 {
                     hr = m_progress->i_notifyComplete(VBOX_E_IPRT_ERROR,
                                                       COM_IIDOF(IGuest),
-                                                      m_parent->getComponentName(),
-                                                      GuestDnDResponse::errorToString(m_parent, rcOp).c_str());
+                                                      m_parent->getComponentName(), strMsg.c_str());
                     reset();
                     break;
                 }
@@ -897,7 +863,7 @@ int GuestDnDBase::waitForEvent(RTMSINTERVAL msTimeout, GuestDnDCallbackEvent &Ev
         /*
          * Wait until our desired callback triggered the
          * wait event. As we don't want to block if the guest does not
-         * respond, so do busy waiting here.
+         * respond, do busy waiting here.
          */
         rc = Event.Wait(500 /* ms */);
         if (RT_SUCCESS(rc))
@@ -907,16 +873,17 @@ int GuestDnDBase::waitForEvent(RTMSINTERVAL msTimeout, GuestDnDCallbackEvent &Ev
             break;
         }
         else if (rc == VERR_TIMEOUT) /* Continue waiting. */
-            rc = VINF_SUCCESS;
+            continue;
 
         if (   msTimeout != RT_INDEFINITE_WAIT
             && RTTimeMilliTS() - tsStart > msTimeout)
         {
             rc = VERR_TIMEOUT;
+            LogFlowFunc(("Guest did not respond within time\n"));
         }
-        else if (pResp->isProgressCanceled())
+        else if (pResp->isProgressCanceled()) /** @todo GuestDnDResponse *pResp needs to go. */
         {
-            pResp->setProgress(100 /* Percent */, DragAndDropSvc::DND_PROGRESS_CANCELLED);
+            LogFlowFunc(("Canceled by user\n"));
             rc = VERR_CANCELLED;
         }
 
diff --git a/src/VBox/Main/src-client/GuestDnDSourceImpl.cpp b/src/VBox/Main/src-client/GuestDnDSourceImpl.cpp
index 9432e83..1822763 100644
--- a/src/VBox/Main/src-client/GuestDnDSourceImpl.cpp
+++ b/src/VBox/Main/src-client/GuestDnDSourceImpl.cpp
@@ -324,7 +324,7 @@ HRESULT GuestDnDSource::drop(const com::Utf8Str &aFormat, DnDAction_T aAction, C
 
         RecvDataTask *pTask = new RecvDataTask(this, &mData.mRecvCtx);
         AssertReturn(pTask->isOk(), pTask->getRC());
-        
+
         LogFlowFunc(("Starting thread ...\n"));
 
         int rc = RTThreadCreate(NULL, GuestDnDSource::i_receiveDataThread,
@@ -413,6 +413,74 @@ HRESULT GuestDnDSource::receiveData(std::vector<BYTE> &aData)
 // implementation of internal methods.
 /////////////////////////////////////////////////////////////////////////////
 
+/* static */
+Utf8Str GuestDnDSource::i_guestErrorToString(int guestRc)
+{
+    Utf8Str strError;
+
+    switch (guestRc)
+    {
+        case VERR_ACCESS_DENIED:
+            strError += Utf8StrFmt(tr("For one or more guest files or directories selected for transferring to the host your guest "
+                                      "user does not have the appropriate access rights for. Please make sure that all selected "
+                                      "elements can be accessed and that your guest user has the appropriate rights."));
+            break;
+
+        case VERR_NOT_FOUND:
+            /* Should not happen due to file locking on the guest, but anyway ... */
+            strError += Utf8StrFmt(tr("One or more guest files or directories selected for transferring to the host were not"
+                                      "found on the guest anymore. This can be the case if the guest files were moved and/or"
+                                      "altered while the drag and drop operation was in progress."));
+            break;
+
+        case VERR_SHARING_VIOLATION:
+            strError += Utf8StrFmt(tr("One or more guest files or directories selected for transferring to the host were locked. "
+                                      "Please make sure that all selected elements can be accessed and that your guest user has "
+                                      "the appropriate rights."));
+            break;
+
+        default:
+            strError += Utf8StrFmt(tr("Drag and drop error from guest (%Rrc)"), guestRc);
+            break;
+    }
+
+    return strError;
+}
+
+/* static */
+Utf8Str GuestDnDSource::i_hostErrorToString(int hostRc)
+{
+    Utf8Str strError;
+
+    switch (hostRc)
+    {
+        case VERR_ACCESS_DENIED:
+            strError += Utf8StrFmt(tr("For one or more host files or directories selected for transferring to the guest your host "
+                                      "user does not have the appropriate access rights for. Please make sure that all selected "
+                                      "elements can be accessed and that your host user has the appropriate rights."));
+            break;
+
+        case VERR_NOT_FOUND:
+            /* Should not happen due to file locking on the host, but anyway ... */
+            strError += Utf8StrFmt(tr("One or more host files or directories selected for transferring to the host were not"
+                                      "found on the host anymore. This can be the case if the host files were moved and/or"
+                                      "altered while the drag and drop operation was in progress."));
+            break;
+
+        case VERR_SHARING_VIOLATION:
+            strError += Utf8StrFmt(tr("One or more host files or directories selected for transferring to the guest were locked. "
+                                      "Please make sure that all selected elements can be accessed and that your host user has "
+                                      "the appropriate rights."));
+            break;
+
+        default:
+            strError += Utf8StrFmt(tr("Drag and drop error from host (%Rrc)"), hostRc);
+            break;
+    }
+
+    return strError;
+}
+
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
 int GuestDnDSource::i_onReceiveData(PRECVDATACTX pCtx, const void *pvData, uint32_t cbData, uint64_t cbTotalSize)
 {
@@ -838,7 +906,19 @@ int GuestDnDSource::i_receiveRawData(PRECVDATACTX pCtx, RTMSINTERVAL msTimeout)
          * the host and therefore now waiting for the actual raw data. */
         rc = pInst->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
         if (RT_SUCCESS(rc))
+        {
             rc = waitForEvent(msTimeout, pCtx->mCallback, pCtx->mpResp);
+            if (RT_FAILURE(rc))
+            {
+                if (rc == VERR_CANCELLED)
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_CANCELLED, VINF_SUCCESS);
+                else if (rc != VERR_GSTDND_GUEST_ERROR) /* Guest-side error are already handled in the callback. */
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, rc,
+                                                   GuestDnDSource::i_hostErrorToString(rc));
+            }
+            else
+                rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_COMPLETE, VINF_SUCCESS);
+        }
 
     } while (0);
 
@@ -918,7 +998,19 @@ int GuestDnDSource::i_receiveURIData(PRECVDATACTX pCtx, RTMSINTERVAL msTimeout)
          * the host and therefore now waiting for the actual URI data. */
         rc = pInst->hostCall(Msg.getType(), Msg.getCount(), Msg.getParms());
         if (RT_SUCCESS(rc))
+        {
             rc = waitForEvent(msTimeout, pCtx->mCallback, pCtx->mpResp);
+            if (RT_FAILURE(rc))
+            {
+                if (rc == VERR_CANCELLED)
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_CANCELLED, VINF_SUCCESS);
+                else if (rc != VERR_GSTDND_GUEST_ERROR) /* Guest-side error are already handled in the callback. */
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, rc,
+                                                   GuestDnDSource::i_hostErrorToString(rc));
+            }
+            else
+                rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_COMPLETE, VINF_SUCCESS);
+        }
 
     } while (0);
 
@@ -970,6 +1062,9 @@ DECLCALLBACK(int) GuestDnDSource::i_receiveRawDataCallback(uint32_t uMsg, void *
 
     int rc = VINF_SUCCESS;
 
+    int rcCallback = VINF_SUCCESS; /* rc for the callback. */
+    bool fNotify = false;
+
     switch (uMsg)
     {
 #ifdef VBOX_WITH_DRAG_AND_DROP_GH
@@ -991,9 +1086,14 @@ DECLCALLBACK(int) GuestDnDSource::i_receiveRawDataCallback(uint32_t uMsg, void *
             AssertReturn(DragAndDropSvc::CB_MAGIC_DND_GH_EVT_ERROR == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER);
 
             pCtx->mpResp->reset();
-            rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, pCBData->rc);
+
+            if (RT_SUCCESS(pCBData->rc))
+                pCBData->rc = VERR_GENERAL_FAILURE; /* Make sure some error is set. */
+
+            rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, pCBData->rc,
+                                           GuestDnDSource::i_guestErrorToString(pCBData->rc));
             if (RT_SUCCESS(rc))
-                rc = pCBData->rc;
+                rcCallback = VERR_GSTDND_GUEST_ERROR;
             break;
         }
 #endif /* VBOX_WITH_DRAG_AND_DROP_GH */
@@ -1117,6 +1217,29 @@ DECLCALLBACK(int) GuestDnDSource::i_receiveURIDataCallback(uint32_t uMsg, void *
             rcCallback = rc;
     }
 
+    if (RT_FAILURE(rc))
+    {
+        switch (rc)
+        {
+            case VERR_NO_DATA:
+                LogRel2(("DnD: Transfer to host complete\n"));
+                break;
+
+            case VERR_CANCELLED:
+                LogRel2(("DnD: Transfer to host canceled\n"));
+                break;
+
+            default:
+                LogRel(("DnD: Error %Rrc occurred, aborting transfer to host\n", rc));
+                break;
+        }
+
+        /* Unregister this callback. */
+        AssertPtr(pCtx->mpResp);
+        int rc2 = pCtx->mpResp->setCallback(uMsg, NULL /* PFNGUESTDNDCALLBACK */);
+        AssertRC(rc2);
+    }
+
     /* All URI data processed? */
     if (pCtx->mData.cbProcessed >= pCtx->mData.cbToProcess)
     {
diff --git a/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp b/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp
index 7644aa0..04f6059 100644
--- a/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp
+++ b/src/VBox/Main/src-client/GuestDnDTargetImpl.cpp
@@ -604,9 +604,77 @@ int GuestDnDTarget::i_cancelOperation(void)
     return GuestDnDInst()->hostCall(DragAndDropSvc::HOST_DND_HG_EVT_CANCEL, 0 /* cParms */, NULL /*paParms*/);
 }
 
+/* static */
+Utf8Str GuestDnDTarget::i_guestErrorToString(int guestRc)
+{
+    Utf8Str strError;
+
+    switch (guestRc)
+    {
+        case VERR_ACCESS_DENIED:
+            strError += Utf8StrFmt(tr("For one or more guest files or directories selected for transferring to the host your guest "
+                                      "user does not have the appropriate access rights for. Please make sure that all selected "
+                                      "elements can be accessed and that your guest user has the appropriate rights."));
+            break;
+
+        case VERR_NOT_FOUND:
+            /* Should not happen due to file locking on the guest, but anyway ... */
+            strError += Utf8StrFmt(tr("One or more guest files or directories selected for transferring to the host were not"
+                                      "found on the guest anymore. This can be the case if the guest files were moved and/or"
+                                      "altered while the drag and drop operation was in progress."));
+            break;
+
+        case VERR_SHARING_VIOLATION:
+            strError += Utf8StrFmt(tr("One or more guest files or directories selected for transferring to the host were locked. "
+                                      "Please make sure that all selected elements can be accessed and that your guest user has "
+                                      "the appropriate rights."));
+            break;
+
+        default:
+            strError += Utf8StrFmt(tr("Drag and drop error from guest (%Rrc)"), guestRc);
+            break;
+    }
+
+    return strError;
+}
+
+/* static */
+Utf8Str GuestDnDTarget::i_hostErrorToString(int hostRc)
+{
+    Utf8Str strError;
+
+    switch (hostRc)
+    {
+        case VERR_ACCESS_DENIED:
+            strError += Utf8StrFmt(tr("For one or more host files or directories selected for transferring to the guest your host "
+                                      "user does not have the appropriate access rights for. Please make sure that all selected "
+                                      "elements can be accessed and that your host user has the appropriate rights."));
+            break;
+
+        case VERR_NOT_FOUND:
+            /* Should not happen due to file locking on the host, but anyway ... */
+            strError += Utf8StrFmt(tr("One or more host files or directories selected for transferring to the host were not"
+                                      "found on the host anymore. This can be the case if the host files were moved and/or"
+                                      "altered while the drag and drop operation was in progress."));
+            break;
+
+        case VERR_SHARING_VIOLATION:
+            strError += Utf8StrFmt(tr("One or more host files or directories selected for transferring to the guest were locked. "
+                                      "Please make sure that all selected elements can be accessed and that your host user has "
+                                      "the appropriate rights."));
+            break;
+
+        default:
+            strError += Utf8StrFmt(tr("Drag and drop error from host (%Rrc)"), hostRc);
+            break;
+    }
+
+    return strError;
+}
+
 int GuestDnDTarget::i_sendData(PSENDDATACTX pCtx, RTMSINTERVAL msTimeout)
 {
-    AssertPtrReturn(pCtx,  VERR_INVALID_POINTER);
+    AssertPtrReturn(pCtx, VERR_INVALID_POINTER);
 
     GuestDnD *pInst = GuestDnDInst();
     if (!pInst)
@@ -681,7 +749,7 @@ int GuestDnDTarget::i_sendFile(PSENDDATACTX pCtx, GuestDnDMsg *pMsg, DnDURIObjec
         rc = aFile.OpenEx(strPathSrc, DnDURIObject::File, DnDURIObject::Source,
                           RTFILE_O_OPEN | RTFILE_O_READ | RTFILE_O_DENY_WRITE, 0 /* fFlags */);
         if (RT_FAILURE(rc))
-            LogRel2(("DnD: Error opening host file \"%s\", rc=%Rrc\n", strPathSrc.c_str(), rc));
+            LogRel(("DnD: Error opening host file \"%s\", rc=%Rrc\n", strPathSrc.c_str(), rc));
     }
 
     bool fSendFileData = false;
@@ -813,7 +881,10 @@ DECLCALLBACK(int) GuestDnDTarget::i_sendURIDataCallback(uint32_t uMsg, void *pvP
 
     LogFlowFunc(("pThis=%p, uMsg=%RU32\n", pThis, uMsg));
 
-    int rc = VINF_SUCCESS;
+    int rc = VINF_SUCCESS; /* Will be reported back to guest. */
+
+    int rcCallback = VINF_SUCCESS; /* rc for the callback. */
+    bool fNotify = false;
 
     switch (uMsg)
     {
@@ -857,9 +928,14 @@ DECLCALLBACK(int) GuestDnDTarget::i_sendURIDataCallback(uint32_t uMsg, void *pvP
             AssertReturn(DragAndDropSvc::CB_MAGIC_DND_GH_EVT_ERROR == pCBData->hdr.u32Magic, VERR_INVALID_PARAMETER);
 
             pCtx->mpResp->reset();
-            rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, pCBData->rc);
+
+            if (RT_SUCCESS(pCBData->rc))
+                pCBData->rc = VERR_GENERAL_FAILURE; /* Make sure some error is set. */
+
+            rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, pCBData->rc,
+                                           GuestDnDTarget::i_guestErrorToString(pCBData->rc));
             if (RT_SUCCESS(rc))
-                rc = pCBData->rc;
+                rcCallback = VERR_GSTDND_GUEST_ERROR;
             break;
         }
         case DragAndDropSvc::HOST_DND_HG_SND_DIR:
@@ -914,20 +990,28 @@ DECLCALLBACK(int) GuestDnDTarget::i_sendURIDataCallback(uint32_t uMsg, void *pvP
             break;
     }
 
+    if (   RT_FAILURE(rc)
+        || RT_FAILURE(rcCallback))
+    {
+        fNotify = true;
+        if (RT_SUCCESS(rcCallback))
+            rcCallback = rc;
+    }
+
     if (RT_FAILURE(rc))
     {
         switch (rc)
         {
             case VERR_NO_DATA:
-                LogRel2(("DnD: Transfer complete\n"));
+                LogRel2(("DnD: Transfer to guest complete\n"));
                 break;
 
             case VERR_CANCELLED:
-                LogRel2(("DnD: Transfer canceled\n"));
+                LogRel2(("DnD: Transfer to guest canceled\n"));
                 break;
 
             default:
-                LogRel(("DnD: Error %Rrc occurred, aborting transfer\n", rc));
+                LogRel(("DnD: Error %Rrc occurred, aborting transfer to guest\n", rc));
                 break;
         }
 
@@ -935,9 +1019,13 @@ DECLCALLBACK(int) GuestDnDTarget::i_sendURIDataCallback(uint32_t uMsg, void *pvP
         AssertPtr(pCtx->mpResp);
         int rc2 = pCtx->mpResp->setCallback(uMsg, NULL /* PFNGUESTDNDCALLBACK */);
         AssertRC(rc2);
+    }
+
+    LogFlowFunc(("fNotify=%RTbool, rcCallback=%Rrc, rc=%Rrc\n", fNotify, rcCallback, rc));
 
-        /* Notify waiters. */
-        rc2 = pCtx->mCallback.Notify(rc);
+    if (fNotify)
+    {
+        int rc2 = pCtx->mCallback.Notify(rcCallback);
         AssertRC(rc2);
     }
 
@@ -1043,7 +1131,19 @@ int GuestDnDTarget::i_sendURIData(PSENDDATACTX pCtx, RTMSINTERVAL msTimeout)
 
         rc = GuestDnDInst()->hostCall(MsgSndData.getType(), MsgSndData.getCount(), MsgSndData.getParms());
         if (RT_SUCCESS(rc))
+        {
             rc = waitForEvent(msTimeout, pCtx->mCallback, pCtx->mpResp);
+            if (RT_FAILURE(rc))
+            {
+                if (rc == VERR_CANCELLED)
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_CANCELLED, VINF_SUCCESS);
+                else if (rc != VERR_GSTDND_GUEST_ERROR) /* Guest-side error are already handled in the callback. */
+                    rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_ERROR, rc,
+                                                   GuestDnDTarget::i_hostErrorToString(rc));
+            }
+            else
+                rc = pCtx->mpResp->setProgress(100, DragAndDropSvc::DND_PROGRESS_COMPLETE, VINF_SUCCESS);
+        }
 
     } while (0);
 
@@ -1064,6 +1164,8 @@ int GuestDnDTarget::i_sendURIData(PSENDDATACTX pCtx, RTMSINTERVAL msTimeout)
 
     /*
      * Now that we've cleaned up tell the guest side to cancel.
+     * This does not imply we're waiting for the guest to react, as the
+     * host side never must depend on anything from the guest.
      */
     if (rc == VERR_CANCELLED)
     {
diff --git a/src/VBox/Main/src-client/GuestImpl.cpp b/src/VBox/Main/src-client/GuestImpl.cpp
index 4f26b2a..ac44af3 100644
--- a/src/VBox/Main/src-client/GuestImpl.cpp
+++ b/src/VBox/Main/src-client/GuestImpl.cpp
@@ -170,7 +170,7 @@ void Guest::uninit()
         itSessions->second->Release();
 # endif
         itSessions->second->uninit();
-        itSessions++;
+        ++itSessions;
     }
     mData.mGuestSessions.clear();
 #endif
diff --git a/src/VBox/Main/src-client/GuestSessionImpl.cpp b/src/VBox/Main/src-client/GuestSessionImpl.cpp
index eb20355..bec7232 100644
--- a/src/VBox/Main/src-client/GuestSessionImpl.cpp
+++ b/src/VBox/Main/src-client/GuestSessionImpl.cpp
@@ -749,7 +749,7 @@ int GuestSession::i_directoryRemoveFromList(GuestDirectory *pDirectory)
             break;
         }
 
-        itDirs++;
+        ++itDirs;
     }
 
     LogFlowFuncLeaveRC(rc);
@@ -1191,7 +1191,7 @@ int GuestSession::i_fileRemoveFromList(GuestFile *pFile)
             break;
         }
 
-        itFiles++;
+        ++itFiles;
     }
 
     LogFlowFuncLeaveRC(rc);
@@ -1847,7 +1847,7 @@ int GuestSession::i_processRemoveFromList(GuestProcess *pProcess)
             break;
         }
 
-        itProcs++;
+        ++itProcs;
     }
 
     LogFlowFuncLeaveRC(rc);
@@ -1995,7 +1995,7 @@ inline int GuestSession::i_processGetByPID(ULONG uPID, ComObjPtr<GuestProcess> *
     /* pProcess is optional. */
 
     SessionProcesses::iterator itProcs = mData.mProcesses.begin();
-    for (; itProcs != mData.mProcesses.end(); itProcs++)
+    for (; itProcs != mData.mProcesses.end(); ++itProcs)
     {
         ComObjPtr<GuestProcess> pCurProc = itProcs->second;
         AutoCaller procCaller(pCurProc);
diff --git a/src/VBox/Main/src-client/GuestSessionImplTasks.cpp b/src/VBox/Main/src-client/GuestSessionImplTasks.cpp
index 66c93a4..ea3e90c 100644
--- a/src/VBox/Main/src-client/GuestSessionImplTasks.cpp
+++ b/src/VBox/Main/src-client/GuestSessionImplTasks.cpp
@@ -888,13 +888,13 @@ int SessionTaskUpdateAdditions::i_addProcessArguments(ProcessArguments &aArgumen
                     fFound = true;
                     break;
                 }
-                itDest++;
+                ++itDest;
             }
 
             if (!fFound)
                 aArgumentsDest.push_back((*itSource));
 
-            itSource++;
+            ++itSource;
         }
     }
     catch(std::bad_alloc &)
@@ -1443,7 +1443,7 @@ int SessionTaskUpdateAdditions::Run(void)
                         break;
                     uOffset += uStep;
 
-                    itFiles++;
+                    ++itFiles;
                 }
             }
 
@@ -1474,7 +1474,7 @@ int SessionTaskUpdateAdditions::Run(void)
                         break;
                     uOffset += uStep;
 
-                    itFiles++;
+                    ++itFiles;
                 }
             }
 
diff --git a/src/VBox/Main/src-client/HGCM.cpp b/src/VBox/Main/src-client/HGCM.cpp
index 4363488..3f8ebcb 100644
--- a/src/VBox/Main/src-client/HGCM.cpp
+++ b/src/VBox/Main/src-client/HGCM.cpp
@@ -1331,7 +1331,7 @@ int HGCMService::CreateAndConnectClient(uint32_t *pu32ClientIdOut, uint32_t u32C
 
     if (!pClient)
     {
-        LogWarningFunc(("Could not allocate HGCMClient!!!\n"));
+        Log1WarningFunc(("Could not allocate HGCMClient!!!\n"));
         return VERR_NO_MEMORY;
     }
 
diff --git a/src/VBox/Main/src-client/MachineDebuggerImpl.cpp b/src/VBox/Main/src-client/MachineDebuggerImpl.cpp
index cb43a80..b782609 100644
--- a/src/VBox/Main/src-client/MachineDebuggerImpl.cpp
+++ b/src/VBox/Main/src-client/MachineDebuggerImpl.cpp
@@ -528,22 +528,19 @@ HRESULT MachineDebugger::getLogDbgDestinations(com::Utf8Str &aLogDbgDestinations
 
 HRESULT MachineDebugger::getLogRelFlags(com::Utf8Str &aLogRelFlags)
 {
-    HRESULT hrc = i_logStringProps(RTLogRelDefaultInstance(), RTLogGetFlags, "RTGetFlags", aLogRelFlags);
-
+    HRESULT hrc = i_logStringProps(RTLogRelGetDefaultInstance(), RTLogGetFlags, "RTGetFlags", aLogRelFlags);
     return hrc;
 }
 
 HRESULT MachineDebugger::getLogRelGroups(com::Utf8Str &aLogRelGroups)
 {
-    HRESULT hrc = i_logStringProps(RTLogRelDefaultInstance(), RTLogGetGroupSettings, "RTLogGetGroupSettings", aLogRelGroups);
-
+    HRESULT hrc = i_logStringProps(RTLogRelGetDefaultInstance(), RTLogGetGroupSettings, "RTLogGetGroupSettings", aLogRelGroups);
     return hrc;
 }
 
 HRESULT MachineDebugger::getLogRelDestinations(com::Utf8Str &aLogRelDestinations)
 {
-    HRESULT hrc = i_logStringProps(RTLogRelDefaultInstance(), RTLogGetDestinations, "RTLogGetDestinations", aLogRelDestinations);
-
+    HRESULT hrc = i_logStringProps(RTLogRelGetDefaultInstance(), RTLogGetDestinations, "RTLogGetDestinations", aLogRelDestinations);
     return hrc;
 }
 
@@ -1212,7 +1209,7 @@ HRESULT MachineDebugger::queryOSKernelLog(ULONG aMaxMessages, com::Utf8Str &aDme
                 while (vrc == VERR_BUFFER_OVERFLOW && cbBuf < 16*_1M && cTries-- > 0)
                 {
                     cbBuf = RT_ALIGN_Z(cbActual + _4K, _4K);
-                    int vrc = aDmesg.reserveNoThrow(cbBuf);
+                    vrc = aDmesg.reserveNoThrow(cbBuf);
                     if (RT_SUCCESS(vrc))
                         vrc = pDmesg->pfnQueryKernelLog(pDmesg, ptrVM.rawUVM(), 0 /*fFlags*/, cMessages,
                                                         aDmesg.mutableRaw(), cbBuf, &cbActual);
diff --git a/src/VBox/Main/src-client/SessionImpl.cpp b/src/VBox/Main/src-client/SessionImpl.cpp
index 2db0565..a4c5223 100644
--- a/src/VBox/Main/src-client/SessionImpl.cpp
+++ b/src/VBox/Main/src-client/SessionImpl.cpp
@@ -546,7 +546,7 @@ HRESULT Session::uninitialize()
     }
     else
     {
-        LogWarningThisFunc(("UNEXPECTED uninitialization!\n"));
+        Log1WarningThisFunc(("UNEXPECTED uninitialization!\n"));
         rc = autoCaller.rc();
     }
 
diff --git a/src/VBox/Main/src-client/VBoxDriversRegister.cpp b/src/VBox/Main/src-client/VBoxDriversRegister.cpp
index d321e71..a9a70c2 100644
--- a/src/VBox/Main/src-client/VBoxDriversRegister.cpp
+++ b/src/VBox/Main/src-client/VBoxDriversRegister.cpp
@@ -5,7 +5,7 @@
  */
 
 /*
- * Copyright (C) 2006-2012 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -24,11 +24,7 @@
 #include "KeyboardImpl.h"
 #include "DisplayImpl.h"
 #include "VMMDev.h"
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
 #include "DrvAudioVRDE.h"
-#else
-#include "AudioSnifferInterface.h"
-#endif
 #include "Nvram.h"
 #include "UsbWebcamInterface.h"
 #ifdef VBOX_WITH_USB_CARDREADER
@@ -72,11 +68,7 @@ extern "C" DECLEXPORT(int) VBoxDriversRegister(PCPDMDRVREGCB pCallbacks, uint32_
     if (RT_FAILURE(rc))
         return rc;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
     rc = pCallbacks->pfnRegister(pCallbacks, &AudioVRDE::DrvReg);
-#else
-    rc = pCallbacks->pfnRegister(pCallbacks, &AudioSniffer::DrvReg);
-#endif
     if (RT_FAILURE(rc))
         return rc;
 
diff --git a/src/VBox/Main/src-client/VMMDevInterface.cpp b/src/VBox/Main/src-client/VMMDevInterface.cpp
index 97280b5..6c50c4b 100644
--- a/src/VBox/Main/src-client/VMMDevInterface.cpp
+++ b/src/VBox/Main/src-client/VMMDevInterface.cpp
@@ -371,7 +371,7 @@ DECLCALLBACK(int) iface_VideoAccelEnable(PPDMIVMMDEVCONNECTOR pInterface, bool f
 
     if (display)
     {
-        LogSunlover(("MAIN::VMMDevInterface::iface_VideoAccelEnable: %d, %p\n", fEnable, pVbvaMemory));
+        Log9(("MAIN::VMMDevInterface::iface_VideoAccelEnable: %d, %p\n", fEnable, pVbvaMemory));
         return display->VideoAccelEnableVMMDev(fEnable, pVbvaMemory);
     }
 
@@ -386,7 +386,7 @@ DECLCALLBACK(void) iface_VideoAccelFlush(PPDMIVMMDEVCONNECTOR pInterface)
 
     if (display)
     {
-        LogSunlover(("MAIN::VMMDevInterface::iface_VideoAccelFlush\n"));
+        Log9(("MAIN::VMMDevInterface::iface_VideoAccelFlush\n"));
         display->VideoAccelFlushVMMDev();
     }
 }
@@ -605,7 +605,7 @@ static DECLCALLBACK(int) iface_hgcmConnect(PPDMIHGCMCONNECTOR pInterface, PVBOXH
                                            PHGCMSERVICELOCATION pServiceLocation,
                                            uint32_t *pu32ClientID)
 {
-    LogSunlover(("Enter\n"));
+    Log9(("Enter\n"));
 
     PDRVMAINVMMDEV pDrv = RT_FROM_MEMBER(pInterface, DRVMAINVMMDEV, HGCMConnector);
 
@@ -624,7 +624,7 @@ static DECLCALLBACK(int) iface_hgcmConnect(PPDMIHGCMCONNECTOR pInterface, PVBOXH
 
 static DECLCALLBACK(int) iface_hgcmDisconnect(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCMCMD pCmd, uint32_t u32ClientID)
 {
-    LogSunlover(("Enter\n"));
+    Log9(("Enter\n"));
 
     PDRVMAINVMMDEV pDrv = RT_FROM_MEMBER(pInterface, DRVMAINVMMDEV, HGCMConnector);
 
@@ -637,7 +637,7 @@ static DECLCALLBACK(int) iface_hgcmDisconnect(PPDMIHGCMCONNECTOR pInterface, PVB
 static DECLCALLBACK(int) iface_hgcmCall(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCMCMD pCmd, uint32_t u32ClientID,
                                         uint32_t u32Function, uint32_t cParms, PVBOXHGCMSVCPARM paParms)
 {
-    LogSunlover(("Enter\n"));
+    Log9(("Enter\n"));
 
     PDRVMAINVMMDEV pDrv = RT_FROM_MEMBER(pInterface, DRVMAINVMMDEV, HGCMConnector);
 
@@ -656,7 +656,7 @@ static DECLCALLBACK(int) iface_hgcmCall(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCM
  */
 static DECLCALLBACK(int) iface_hgcmSave(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM)
 {
-    LogSunlover(("Enter\n"));
+    Log9(("Enter\n"));
     return HGCMHostSaveState(pSSM);
 }
 
diff --git a/src/VBox/Main/src-server/ApplianceImplExport.cpp b/src/VBox/Main/src-server/ApplianceImplExport.cpp
index b91bd85..26b287b 100644
--- a/src/VBox/Main/src-server/ApplianceImplExport.cpp
+++ b/src/VBox/Main/src-server/ApplianceImplExport.cpp
@@ -1095,7 +1095,7 @@ void Appliance::i_buildXMLForOneVirtualSystem(AutoWriteLockBase& writeLock,
     /*xml::ElementNode *pelmVirtualSystemInfo =*/ pelmVirtualSystem->createChild("Info")->addContent("A virtual machine");
 
     std::list<VirtualSystemDescriptionEntry*> llName = vsdescThis->i_findByType(VirtualSystemDescriptionType_Name);
-    if (!llName.size())
+    if (llName.empty())
         throw setError(VBOX_E_NOT_SUPPORTED, tr("Missing VM name"));
     Utf8Str &strVMName = llName.back()->strVBoxCurrent;
     pelmVirtualSystem->setAttribute("ovf:id", strVMName);
@@ -1191,7 +1191,7 @@ void Appliance::i_buildXMLForOneVirtualSystem(AutoWriteLockBase& writeLock,
 
     // operating system
     std::list<VirtualSystemDescriptionEntry*> llOS = vsdescThis->i_findByType(VirtualSystemDescriptionType_OS);
-    if (!llOS.size())
+    if (llOS.empty())
         throw setError(VBOX_E_NOT_SUPPORTED, tr("Missing OS type"));
     /*  <OperatingSystemSection ovf:id="82">
             <Info>Guest Operating System</Info>
diff --git a/src/VBox/Main/src-server/ApplianceImplImport.cpp b/src/VBox/Main/src-server/ApplianceImplImport.cpp
index a7d4988..663d185 100644
--- a/src/VBox/Main/src-server/ApplianceImplImport.cpp
+++ b/src/VBox/Main/src-server/ApplianceImplImport.cpp
@@ -2775,7 +2775,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
     uint32_t maxNetworkAdapters = Global::getMaxNetworkAdapters(ChipsetType_PIIX3);
 
     std::list<VirtualSystemDescriptionEntry*> vsdeNW = vsdescThis->i_findByType(VirtualSystemDescriptionType_NetworkAdapter);
-    if (vsdeNW.size() == 0)
+    if (vsdeNW.empty())
     {
         /* No network adapters, so we have to disable our default one */
         ComPtr<INetworkAdapter> nwVBox;
@@ -2927,7 +2927,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
     if (cIDEControllers > 2)
         throw setError(VBOX_E_FILE_ERROR,
                        tr("Too many IDE controllers in OVF; import facility only supports two"));
-    if (vsdeHDCIDE.size() > 0)
+    if (!vsdeHDCIDE.empty())
     {
         // one or two IDE controllers present in OVF: add one VirtualBox controller
         ComPtr<IStorageController> pController;
@@ -2954,7 +2954,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
     if (vsdeHDCSATA.size() > 1)
         throw setError(VBOX_E_FILE_ERROR,
                        tr("Too many SATA controllers in OVF; import facility only supports one"));
-    if (vsdeHDCSATA.size() > 0)
+    if (!vsdeHDCSATA.empty())
     {
         ComPtr<IStorageController> pController;
         const Utf8Str &hdcVBox = vsdeHDCSATA.front()->strVBoxCurrent;
@@ -2977,7 +2977,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
     if (vsdeHDCSCSI.size() > 1)
         throw setError(VBOX_E_FILE_ERROR,
                        tr("Too many SCSI controllers in OVF; import facility only supports one"));
-    if (vsdeHDCSCSI.size() > 0)
+    if (!vsdeHDCSCSI.empty())
     {
         ComPtr<IStorageController> pController;
         Bstr bstrName(L"SCSI Controller");
@@ -3012,7 +3012,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
     if (vsdeHDCSAS.size() > 1)
         throw setError(VBOX_E_FILE_ERROR,
                        tr("Too many SAS controllers in OVF; import facility only supports one"));
-    if (vsdeHDCSAS.size() > 0)
+    if (!vsdeHDCSAS.empty())
     {
         ComPtr<IStorageController> pController;
         rc = pNewMachine->AddStorageController(Bstr(L"SAS Controller").raw(),
@@ -3040,8 +3040,8 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
         throw setError(VBOX_E_FILE_ERROR,
                        tr("Too many floppy controllers in OVF; import facility only supports one"));
     std::list<VirtualSystemDescriptionEntry*> vsdeCDROM = vsdescThis->i_findByType(VirtualSystemDescriptionType_CDROM);
-    if (    (vsdeFloppy.size() > 0)
-         || (vsdeCDROM.size() > 0)
+    if (    !vsdeFloppy.empty()
+         || !vsdeCDROM.empty()
        )
     {
         // If there's an error here we need to close the session, so
@@ -3114,7 +3114,7 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
 
     // create the hard disks & connect them to the appropriate controllers
     std::list<VirtualSystemDescriptionEntry*> avsdeHDs = vsdescThis->i_findByType(VirtualSystemDescriptionType_HardDiskImage);
-    if (avsdeHDs.size() > 0)
+    if (!avsdeHDs.empty())
     {
         // If there's an error here we need to close the session, so
         // we need another try/catch block.
@@ -3182,8 +3182,8 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
                     if (!vsdeTargetHD)
                     {
                         /* possible case if a disk image belongs to other virtual system (OVF package with multiple VMs inside) */
-                        LogWarning(("OVA/OVF import: Disk image %s was missed during import of VM %s\n",
-                                    oit->first.c_str(), vmNameEntry->strOvf.c_str()));
+                        Log1Warning(("OVA/OVF import: Disk image %s was missed during import of VM %s\n",
+                                     oit->first.c_str(), vmNameEntry->strOvf.c_str()));
                         NOREF(vmNameEntry);
                         ++oit;
                         continue;
@@ -3404,8 +3404,8 @@ void Appliance::i_importMachineGeneric(const ovf::VirtualSystem &vsysThis,
              */
             if(cImportedDisks < avsdeHDs.size())
             {
-                LogWarning(("Not all disk images were imported for VM %s. Check OVF description file.",
-                            vmNameEntry->strOvf.c_str()));
+                Log1Warning(("Not all disk images were imported for VM %s. Check OVF description file.",
+                             vmNameEntry->strOvf.c_str()));
             }
 
             // only now that we're done with all disks, close the session
@@ -3551,7 +3551,7 @@ void Appliance::i_importVBoxMachine(ComObjPtr<VirtualSystemDescription> &vsdescT
     }
     /* Now iterate over all network entries. */
     std::list<VirtualSystemDescriptionEntry*> avsdeNWs = vsdescThis->i_findByType(VirtualSystemDescriptionType_NetworkAdapter);
-    if (avsdeNWs.size() > 0)
+    if (!avsdeNWs.empty())
     {
         /* Iterate through all network adapter entries and search for the
          * corresponding one in the machine config. If one is found, configure
@@ -3688,8 +3688,8 @@ void Appliance::i_importVBoxMachine(ComObjPtr<VirtualSystemDescription> &vsdescT
             if (!vsdeTargetHD)
             {
                 /* possible case if a disk image belongs to other virtual system (OVF package with multiple VMs inside) */
-                LogWarning(("OVA/OVF import: Disk image %s was missed during import of VM %s\n",
-                            oit->first.c_str(), vmNameEntry->strOvf.c_str()));
+                Log1Warning(("OVA/OVF import: Disk image %s was missed during import of VM %s\n",
+                             oit->first.c_str(), vmNameEntry->strOvf.c_str()));
                 NOREF(vmNameEntry);
                 ++oit;
                 continue;
@@ -3933,8 +3933,8 @@ void Appliance::i_importVBoxMachine(ComObjPtr<VirtualSystemDescription> &vsdescT
      */
     if(cImportedDisks < avsdeHDs.size())
     {
-        LogWarning(("Not all disk images were imported for VM %s. Check OVF description file.",
-                    vmNameEntry->strOvf.c_str()));
+        Log1Warning(("Not all disk images were imported for VM %s. Check OVF description file.",
+                     vmNameEntry->strOvf.c_str()));
     }
 
     /*
@@ -4063,19 +4063,19 @@ void Appliance::i_importMachines(ImportStack &stack,
             vsdescThis->i_findByType(VirtualSystemDescriptionType_USBController);
         // USB support is enabled if there's at least one such entry; to disable USB support,
         // the type of the USB item would have been changed to "ignore"
-        stack.fUSBEnabled = vsdeUSBController.size() > 0;
+        stack.fUSBEnabled = !vsdeUSBController.empty();
 #endif
         // audio adapter
         std::list<VirtualSystemDescriptionEntry*> vsdeAudioAdapter =
             vsdescThis->i_findByType(VirtualSystemDescriptionType_SoundCard);
         /* @todo: we support one audio adapter only */
-        if (vsdeAudioAdapter.size() > 0)
+        if (!vsdeAudioAdapter.empty())
             stack.strAudioAdapter = vsdeAudioAdapter.front()->strVBoxCurrent;
 
         // for the description of the new machine, always use the OVF entry, the user may have changed it in the import config
         std::list<VirtualSystemDescriptionEntry*> vsdeDescription =
             vsdescThis->i_findByType(VirtualSystemDescriptionType_Description);
-        if (vsdeDescription.size())
+        if (!vsdeDescription.empty())
             stack.strDescription = vsdeDescription.front()->strVBoxCurrent;
 
         // import vbox:machine or OVF now
diff --git a/src/VBox/Main/src-server/AudioAdapterImpl.cpp b/src/VBox/Main/src-server/AudioAdapterImpl.cpp
index 28e9cee..65a3260 100644
--- a/src/VBox/Main/src-server/AudioAdapterImpl.cpp
+++ b/src/VBox/Main/src-server/AudioAdapterImpl.cpp
@@ -38,6 +38,7 @@ struct AudioAdapterData
     BOOL mEnabled;
     AudioDriverType_T mAudioDriver;
     AudioControllerType_T mAudioController;
+    settings::StringsMap  properties;
 };
 
 struct AudioAdapter::Data
@@ -346,6 +347,61 @@ HRESULT AudioAdapter::setAudioController(AudioControllerType_T aAudioController)
     return rc;
 }
 
+HRESULT AudioAdapter::getPropertiesList(std::vector<com::Utf8Str>& aProperties)
+{
+    using namespace settings;
+
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    aProperties.resize(0);
+    StringsMap::const_iterator cit = mData->m->properties.begin();
+    while(cit!=mData->m->properties.end())
+    {
+        Utf8Str key = cit->first;
+        aProperties.push_back(cit->first);
+        ++cit;
+    }
+
+    return S_OK;
+}
+
+HRESULT AudioAdapter::getProperty(const com::Utf8Str &aKey, com::Utf8Str &aValue)
+{
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    settings::StringsMap::const_iterator cit = mData->m->properties.find(aKey);
+    if (cit != mData->m->properties.end())
+        aValue = cit->second;
+
+    return S_OK;
+}
+
+HRESULT AudioAdapter::setProperty(const com::Utf8Str &aKey, const com::Utf8Str &aValue)
+{
+    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
+
+    /* Generic properties processing.
+     * Look up the old value first; if nothing's changed then do nothing.
+     */
+    Utf8Str strOldValue;
+
+    settings::StringsMap::const_iterator cit = mData->m->properties.find(aKey);
+    if (cit != mData->m->properties.end())
+        strOldValue = cit->second;
+
+    if (strOldValue != aValue)
+    {
+        if (aValue.isEmpty())
+            mData->m->properties.erase(aKey);
+        else
+            mData->m->properties[aKey] = aValue;
+    }
+
+    alock.release();
+
+    return S_OK;
+}
+
 // IAudioAdapter methods
 /////////////////////////////////////////////////////////////////////////////
 
@@ -382,6 +438,13 @@ HRESULT AudioAdapter::i_loadSettings(const settings::AudioAdapter &data)
     mData->m->mAudioController = data.controllerType;
     mData->m->mAudioDriver = data.driverType;
 
+    settings::StringsMap::const_iterator cit = data.properties.begin();
+    while(cit!=data.properties.end())
+    {
+        mData->m->properties[cit->first] = cit->second;
+        ++cit;
+    }
+
     return S_OK;
 }
 
@@ -402,6 +465,14 @@ HRESULT AudioAdapter::i_saveSettings(settings::AudioAdapter &data)
     data.fEnabled = !!mData->m->mEnabled;
     data.controllerType = mData->m->mAudioController;
     data.driverType = mData->m->mAudioDriver;
+
+    settings::StringsMap::const_iterator cit = mData->m->properties.begin();
+    while(cit!=mData->m->properties.end())
+    {
+        data.properties[cit->first] = cit->second;
+        ++cit;
+    }
+
     return S_OK;
 }
 
diff --git a/src/VBox/Main/src-server/HostImpl.cpp b/src/VBox/Main/src-server/HostImpl.cpp
index 1f9f7bb..fa6f740 100644
--- a/src/VBox/Main/src-server/HostImpl.cpp
+++ b/src/VBox/Main/src-server/HostImpl.cpp
@@ -403,6 +403,8 @@ HRESULT Host::init(VirtualBox *aParent)
                 LogRel(("SUPR0QueryVTCaps -> %Rrc\n", rc));
                 m->fVTSupported = m->fNestedPagingSupported = false;
             }
+            rc = SUPR3Term(false);
+            AssertRC(rc);
         }
         else
             m->fRecheckVTSupported = true; /* Try again later when the driver is loaded. */
@@ -1053,6 +1055,9 @@ HRESULT Host::getProcessorFeature(ProcessorFeature_T aFeature, BOOL *aSupported)
                     LogRel(("SUPR0QueryVTCaps -> %Rrc\n", rc));
                     m->fVTSupported = m->fNestedPagingSupported = true;
                 }
+                rc = SUPR3Term(false);
+                AssertRC(rc);
+                m->fRecheckVTSupported = false; /* No need to try again, we cached everything. */
             }
 
             alock.acquire();
diff --git a/src/VBox/Main/src-server/MachineImpl.cpp b/src/VBox/Main/src-server/MachineImpl.cpp
index cde3774..c5836cf 100644
--- a/src/VBox/Main/src-server/MachineImpl.cpp
+++ b/src/VBox/Main/src-server/MachineImpl.cpp
@@ -206,7 +206,6 @@ Machine::HWData::HWData()
 
     mClipboardMode = ClipboardMode_Disabled;
     mDnDMode = DnDMode_Disabled;
-    mGuestPropertyNotificationPatterns = "";
 
     mFirmwareType = FirmwareType_BIOS;
     mKeyboardHIDType = KeyboardHIDType_PS2Keyboard;
@@ -760,9 +759,7 @@ HRESULT Machine::i_registeredInit()
 
         /* fetch the current error info */
         mData->mAccessError = com::ErrorInfo();
-        LogWarning(("Machine {%RTuuid} is inaccessible! [%ls]\n",
-                    mData->mUuid.raw(),
-                    mData->mAccessError.getText().raw()));
+        Log1Warning(("Machine {%RTuuid} is inaccessible! [%ls]\n", mData->mUuid.raw(), mData->mAccessError.getText().raw()));
 
         /* rollback all changes */
         i_rollback(false /* aNotify */);
@@ -837,12 +834,12 @@ void Machine::uninit()
          * after we return from this method (it expects the Machine instance is
          * still valid). We'll call it ourselves below.
          */
-        LogWarningThisFunc(("Session machine is not NULL (%p), the direct session is still open!\n",
-                            (SessionMachine*)mData->mSession.mMachine));
+        Log1WarningThisFunc(("Session machine is not NULL (%p), the direct session is still open!\n",
+                             (SessionMachine*)mData->mSession.mMachine));
 
         if (Global::IsOnlineOrTransient(mData->mMachineState))
         {
-            LogWarningThisFunc(("Setting state to Aborted!\n"));
+            Log1WarningThisFunc(("Setting state to Aborted!\n"));
             /* set machine state using SessionMachine reimplementation */
             static_cast<Machine*>(mData->mSession.mMachine)->i_setMachineState(MachineState_Aborted);
         }
@@ -873,7 +870,7 @@ void Machine::uninit()
     // has machine been modified?
     if (mData->flModifications)
     {
-        LogWarningThisFunc(("Discarding unsaved settings changes!\n"));
+        Log1WarningThisFunc(("Discarding unsaved settings changes!\n"));
         i_rollback(false /* aNotify */);
     }
 
@@ -2846,35 +2843,6 @@ HRESULT Machine::setDnDMode(DnDMode_T aDnDMode)
     return S_OK;
 }
 
-HRESULT Machine::getGuestPropertyNotificationPatterns(com::Utf8Str &aGuestPropertyNotificationPatterns)
-{
-    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    try
-    {
-        aGuestPropertyNotificationPatterns = mHWData->mGuestPropertyNotificationPatterns;
-    }
-    catch (...)
-    {
-        return VirtualBoxBase::handleUnexpectedExceptions(this, RT_SRC_POS);
-    }
-
-    return S_OK;
-}
-
-HRESULT Machine::setGuestPropertyNotificationPatterns(const com::Utf8Str &aGuestPropertyNotificationPatterns)
-{
-    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-
-    HRESULT rc = i_checkStateDependency(MutableOrSavedOrRunningStateDep);
-    if (FAILED(rc)) return rc;
-
-    i_setModified(IsModified_MachineData);
-    mHWData.backup();
-    mHWData->mGuestPropertyNotificationPatterns = aGuestPropertyNotificationPatterns;
-    return rc;
-}
-
 HRESULT Machine::getStorageControllers(std::vector<ComPtr<IStorageController> > &aStorageControllers)
 {
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
@@ -4973,8 +4941,7 @@ HRESULT Machine::setExtraData(const com::Utf8Str &aKey, const com::Utf8Str &aVal
         {
             const char *sep = error.isEmpty() ? "" : ": ";
             CBSTR err = error.raw();
-            LogWarningFunc(("Someone vetoed! Change refused%s%ls\n",
-                            sep, err));
+            Log1WarningFunc(("Someone vetoed! Change refused%s%ls\n", sep, err));
             return setError(E_ACCESSDENIED,
                             tr("Could not set extra data because someone refused the requested change of '%s' to '%s'%s%ls"),
                             aKey.c_str(),
@@ -5754,15 +5721,7 @@ HRESULT Machine::i_setGuestPropertyToService(const com::Utf8Str &aName, const co
             }
         }
 
-        if (   SUCCEEDED(rc)
-            && (   mHWData->mGuestPropertyNotificationPatterns.isEmpty()
-                || RTStrSimplePatternMultiMatch(mHWData->mGuestPropertyNotificationPatterns.c_str(),
-                                                RTSTR_MAX,
-                                                aName.c_str(),
-                                                RTSTR_MAX,
-                                                NULL)
-               )
-           )
+        if (SUCCEEDED(rc))
         {
             alock.release();
 
@@ -6099,7 +6058,8 @@ HRESULT Machine::getStorageControllerByName(const com::Utf8Str &aName,
     return rc;
 }
 
-HRESULT Machine::getStorageControllerByInstance(ULONG aInstance,
+HRESULT Machine::getStorageControllerByInstance(StorageBus_T aConnectionType,
+                                                ULONG aInstance,
                                                 ComPtr<IStorageController> &aStorageController)
 {
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
@@ -6108,7 +6068,8 @@ HRESULT Machine::getStorageControllerByInstance(ULONG aInstance,
          it != mStorageControllers->end();
          ++it)
     {
-        if ((*it)->i_getInstance() == aInstance)
+        if (   (*it)->i_getStorageBus() == aConnectionType
+            && (*it)->i_getInstance() == aInstance)
         {
             (*it).queryInterfaceTo(aStorageController.asOutParam());
             return S_OK;
@@ -7423,7 +7384,7 @@ HRESULT Machine::i_launchVMProcess(IInternalSessionControl *aControl,
 
     if (fSeparate)
     {
-        if (mData->mSession.mState != SessionState_Unlocked && mData->mSession.mName == "headless")
+        if (mData->mSession.mState != SessionState_Unlocked && mData->mSession.mName != "headless")
             return setError(VBOX_E_INVALID_OBJECT_STATE,
                             tr("The machine '%s' is in a state which is incompatible with launching a separate UI process"),
                             mUserData->s.strName.c_str());
@@ -9082,8 +9043,6 @@ HRESULT Machine::i_loadHardware(const settings::Hardware &data, const settings::
             mHWData->mGuestProperties[prop.strName] = property;
             ++it;
         }
-
-        mHWData->mGuestPropertyNotificationPatterns = data.strNotificationPatterns;
 #endif /* VBOX_WITH_GUEST_PROPS defined */
 
         rc = i_loadDebugging(pDbg);
@@ -10384,7 +10343,6 @@ HRESULT Machine::i_saveHardware(settings::Hardware &data, settings::Debugging *p
             data.llGuestProperties.push_back(prop);
         }
 
-        data.strNotificationPatterns = mHWData->mGuestPropertyNotificationPatterns;
         /* I presume this doesn't require a backup(). */
         mData->mGuestPropertiesModified = FALSE;
 #endif /* VBOX_WITH_GUEST_PROPS defined */
@@ -12193,8 +12151,7 @@ void Machine::i_registerMetrics(PerformanceCollector *aCollector, Machine *aMach
     /* Guest metrics collector */
     mCollectorGuest = new pm::CollectorGuest(aMachine, pid);
     aCollector->registerGuest(mCollectorGuest);
-    LogAleksey(("{%p} " LOG_FN_FMT ": mCollectorGuest=%p\n",
-                this, __PRETTY_FUNCTION__, mCollectorGuest));
+    Log7(("{%p} " LOG_FN_FMT ": mCollectorGuest=%p\n", this, __PRETTY_FUNCTION__, mCollectorGuest));
 
     /* Create sub metrics */
     pm::SubMetric *guestLoadUser = new pm::SubMetric("Guest/CPU/Load/User",
@@ -12545,8 +12502,7 @@ void SessionMachine::uninit(Uninit::Reason aReason)
      */
     i_unregisterMetrics(mParent->i_performanceCollector(), mPeer);
     /* The guest must be unregistered after its metrics (@bugref{5949}). */
-    LogAleksey(("{%p} " LOG_FN_FMT ": mCollectorGuest=%p\n",
-                this, __PRETTY_FUNCTION__, mCollectorGuest));
+    Log7(("{%p} " LOG_FN_FMT ": mCollectorGuest=%p\n", this, __PRETTY_FUNCTION__, mCollectorGuest));
     if (mCollectorGuest)
     {
         mParent->i_performanceCollector()->unregisterGuest(mCollectorGuest);
@@ -12557,8 +12513,7 @@ void SessionMachine::uninit(Uninit::Reason aReason)
 
     if (aReason == Uninit::Abnormal)
     {
-        LogWarningThisFunc(("ABNORMAL client termination! (wasBusy=%d)\n",
-                             Global::IsOnlineOrTransient(lastState)));
+        Log1WarningThisFunc(("ABNORMAL client termination! (wasBusy=%d)\n", Global::IsOnlineOrTransient(lastState)));
 
         /* reset the state to Aborted */
         if (mData->mMachineState != MachineState_Aborted)
@@ -12568,7 +12523,7 @@ void SessionMachine::uninit(Uninit::Reason aReason)
     // any machine settings modified?
     if (mData->flModifications)
     {
-        LogWarningThisFunc(("Discarding unsaved settings changes!\n"));
+        Log1WarningThisFunc(("Discarding unsaved settings changes!\n"));
         i_rollback(false /* aNotify */);
     }
 
@@ -12596,7 +12551,7 @@ void SessionMachine::uninit(Uninit::Reason aReason)
             HRESULT rc = (*it)->Uninitialize();
             LogFlowThisFunc(("  remoteControl->Uninitialize() returned %08X\n", rc));
             if (FAILED(rc))
-                LogWarningThisFunc(("Forgot to close the remote session?\n"));
+                Log1WarningThisFunc(("Forgot to close the remote session?\n"));
             ++it;
         }
         mData->mSession.mRemoteControls.clear();
@@ -12642,7 +12597,7 @@ void SessionMachine::uninit(Uninit::Reason aReason)
      */
 
     if ((aReason == Uninit::Unexpected))
-        LogWarningThisFunc(("Unexpected SessionMachine uninitialization!\n"));
+        Log1WarningThisFunc(("Unexpected SessionMachine uninitialization!\n"));
 
     if (aReason != Uninit::Normal)
     {
@@ -13398,16 +13353,13 @@ HRESULT SessionMachine::pullGuestProperties(std::vector<com::Utf8Str> &aNames,
 HRESULT SessionMachine::pushGuestProperty(const com::Utf8Str &aName,
                                           const com::Utf8Str &aValue,
                                           LONG64 aTimestamp,
-                                          const com::Utf8Str &aFlags,
-                                          BOOL *aNotify)
+                                          const com::Utf8Str &aFlags)
 {
     LogFlowThisFunc(("\n"));
 
 #ifdef VBOX_WITH_GUEST_PROPS
     using namespace guestProp;
 
-    *aNotify = FALSE;
-
     try
     {
         /*
@@ -13474,24 +13426,12 @@ HRESULT SessionMachine::pushGuestProperty(const com::Utf8Str &aName,
             mData->mGuestPropertiesModified = TRUE;
         }
 
-        /*
-         * Send a callback notification if appropriate
-         */
-        if (    mHWData->mGuestPropertyNotificationPatterns.isEmpty()
-             || RTStrSimplePatternMultiMatch(mHWData->mGuestPropertyNotificationPatterns.c_str(),
-                                             RTSTR_MAX,
-                                             aName.c_str(),
-                                             RTSTR_MAX, NULL)
-           )
-        {
-            alock.release();
+        alock.release();
 
-            mParent->i_onGuestPropertyChange(mData->mUuid,
-                                             Bstr(aName).raw(),
-                                             Bstr(aValue).raw(),
-                                             Bstr(aFlags).raw());
-            *aNotify = TRUE;
-        }
+        mParent->i_onGuestPropertyChange(mData->mUuid,
+                                         Bstr(aName).raw(),
+                                         Bstr(aValue).raw(),
+                                         Bstr(aFlags).raw());
     }
     catch (...)
     {
@@ -14762,14 +14702,12 @@ HRESULT Machine::pullGuestProperties(std::vector<com::Utf8Str> &aNames,
 HRESULT Machine::pushGuestProperty(const com::Utf8Str &aName,
                                    const com::Utf8Str &aValue,
                                    LONG64 aTimestamp,
-                                   const com::Utf8Str &aFlags,
-                                   BOOL *aNotify)
+                                   const com::Utf8Str &aFlags)
 {
     NOREF(aName);
     NOREF(aValue);
     NOREF(aTimestamp);
     NOREF(aFlags);
-    NOREF(aNotify);
     ReturnComNotImplemented();
 }
 
diff --git a/src/VBox/Main/src-server/MediumImpl.cpp b/src/VBox/Main/src-server/MediumImpl.cpp
index 3acb667..0ea15ff 100644
--- a/src/VBox/Main/src-server/MediumImpl.cpp
+++ b/src/VBox/Main/src-server/MediumImpl.cpp
@@ -3925,7 +3925,7 @@ const Guid* Medium::i_getFirstMachineBackrefSnapshotId() const
         return NULL;
 
     const BackRef &ref = m->backRefs.front();
-    if (!ref.llSnapshotIds.size())
+    if (ref.llSnapshotIds.empty())
         return NULL;
 
     return &ref.llSnapshotIds.front();
@@ -5269,7 +5269,7 @@ HRESULT Medium::i_prepareMergeTo(const ComObjPtr<Medium> &pTarget,
                 aMediumLockList->GetBegin();
             MediumLockList::Base::iterator lockListEnd =
                 aMediumLockList->GetEnd();
-            lockListEnd--;
+            ++lockListEnd;
             for (MediumLockList::Base::iterator it = lockListBegin;
                  it != lockListEnd;
                  ++it)
@@ -6443,9 +6443,8 @@ HRESULT Medium::i_queryInfo(bool fSetImageId, bool fSetParentId, AutoCaller &aut
     else
     {
         m->strLastAccessError = lastAccessError;
-        LogWarningFunc(("'%s' is not accessible (error='%s', rc=%Rhrc, vrc=%Rrc)\n",
-                        location.c_str(), m->strLastAccessError.c_str(),
-                        rc, vrc));
+        Log1WarningFunc(("'%s' is not accessible (error='%s', rc=%Rhrc, vrc=%Rrc)\n",
+                         location.c_str(), m->strLastAccessError.c_str(), rc, vrc));
     }
 
     /* Set the proper state according to the result of the check */
@@ -8640,7 +8639,7 @@ HRESULT Medium::i_taskCompactHandler(Medium::CompactTask &task)
                 task.mpMediumLockList->GetEnd();
             MediumLockList::Base::const_iterator mediumListLast =
                 mediumListEnd;
-            mediumListLast--;
+            --mediumListLast;
             for (MediumLockList::Base::const_iterator it = mediumListBegin;
                  it != mediumListEnd;
                  ++it)
@@ -8738,7 +8737,7 @@ HRESULT Medium::i_taskResizeHandler(Medium::ResizeTask &task)
                 task.mpMediumLockList->GetEnd();
             MediumLockList::Base::const_iterator mediumListLast =
                 mediumListEnd;
-            mediumListLast--;
+            --mediumListLast;
             for (MediumLockList::Base::const_iterator it = mediumListBegin;
                  it != mediumListEnd;
                  ++it)
@@ -9433,7 +9432,7 @@ HRESULT Medium::i_taskEncryptHandler(Medium::EncryptTask &task)
                 task.mpMediumLockList->GetEnd();
             MediumLockList::Base::const_iterator mediumListLast =
                 mediumListEnd;
-            mediumListLast--;
+            --mediumListLast;
             for (MediumLockList::Base::const_iterator it = mediumListBegin;
                  it != mediumListEnd;
                  ++it)
diff --git a/src/VBox/Main/src-server/MediumLock.cpp b/src/VBox/Main/src-server/MediumLock.cpp
index e1c023f..0643108 100644
--- a/src/VBox/Main/src-server/MediumLock.cpp
+++ b/src/VBox/Main/src-server/MediumLock.cpp
@@ -230,7 +230,7 @@ HRESULT MediumLockList::Lock(bool fSkipOverLockedMedia /* = false */)
         {
             for (MediumLockList::Base::iterator it2 = mMediumLocks.begin();
                  it2 != it;
-                 it2++)
+                 ++it2)
             {
                 HRESULT rc2 = it2->Unlock();
                 AssertComRC(rc2);
@@ -351,7 +351,7 @@ HRESULT MediumLockListMap::Lock()
         {
             for (MediumLockListMap::Base::const_iterator it2 = mMediumLocks.begin();
                  it2 != it;
-                 it2++)
+                 ++it2)
             {
                 HRESULT rc2 = it2->second->Unlock();
                 AssertComRC(rc2);
diff --git a/src/VBox/Main/src-server/Performance.cpp b/src/VBox/Main/src-server/Performance.cpp
index 9b5db6c..4958356 100644
--- a/src/VBox/Main/src-server/Performance.cpp
+++ b/src/VBox/Main/src-server/Performance.cpp
@@ -114,17 +114,14 @@ int CollectorHAL::getHostCpuMHz(ULONG *mhz)
     RTMpGetOnlineSet(&OnlineSet);
     for (RTCPUID iCpu = 0; iCpu < RTCPUSET_MAX_CPUS; iCpu++)
     {
-        LogAleksey(("{%p} " LOG_FN_FMT ": Checking if CPU %d is member of online set...\n",
-                    this, __PRETTY_FUNCTION__, (int)iCpu));
+        Log7(("{%p} " LOG_FN_FMT ": Checking if CPU %d is member of online set...\n", this, __PRETTY_FUNCTION__, (int)iCpu));
         if (RTCpuSetIsMemberByIndex(&OnlineSet, iCpu))
         {
-            LogAleksey(("{%p} " LOG_FN_FMT ": Getting frequency for CPU %d...\n",
-                        this, __PRETTY_FUNCTION__, (int)iCpu));
+            Log7(("{%p} " LOG_FN_FMT ": Getting frequency for CPU %d...\n", this, __PRETTY_FUNCTION__, (int)iCpu));
             uint32_t uMHz = RTMpGetCurFrequency(RTMpCpuIdFromSetIndex(iCpu));
             if (uMHz != 0)
             {
-                LogAleksey(("{%p} " LOG_FN_FMT ": CPU %d %u MHz\n",
-                            this, __PRETTY_FUNCTION__, (int)iCpu, uMHz));
+                Log7(("{%p} " LOG_FN_FMT ": CPU %d %u MHz\n", this, __PRETTY_FUNCTION__, (int)iCpu, uMHz));
                 u64TotalMHz += uMHz;
                 cCpus++;
             }
@@ -196,8 +193,7 @@ void CGRQEnable::debugPrint(void *aObject, const char *aFunction, const char *aT
     NOREF(aObject);
     NOREF(aFunction);
     NOREF(aText);
-    LogAleksey(("{%p} " LOG_FN_FMT ": CGRQEnable(mask=0x%x) %s\n",
-                aObject, aFunction, mMask, aText));
+    Log7(("{%p} " LOG_FN_FMT ": CGRQEnable(mask=0x%x) %s\n", aObject, aFunction, mMask, aText));
 }
 
 HRESULT CGRQDisable::execute()
@@ -211,8 +207,7 @@ void CGRQDisable::debugPrint(void *aObject, const char *aFunction, const char *a
     NOREF(aObject);
     NOREF(aFunction);
     NOREF(aText);
-    LogAleksey(("{%p} " LOG_FN_FMT ": CGRQDisable(mask=0x%x) %s\n",
-                aObject, aFunction, mMask, aText));
+    Log7(("{%p} " LOG_FN_FMT ": CGRQDisable(mask=0x%x) %s\n", aObject, aFunction, mMask, aText));
 }
 
 HRESULT CGRQAbort::execute()
@@ -225,8 +220,7 @@ void CGRQAbort::debugPrint(void *aObject, const char *aFunction, const char *aTe
     NOREF(aObject);
     NOREF(aFunction);
     NOREF(aText);
-    LogAleksey(("{%p} " LOG_FN_FMT ": CGRQAbort %s\n",
-                aObject, aFunction, aText));
+    Log7(("{%p} " LOG_FN_FMT ": CGRQAbort %s\n", aObject, aFunction, aText));
 }
 
 CollectorGuest::CollectorGuest(Machine *machine, RTPROCESS process) :
@@ -265,9 +259,8 @@ int CollectorGuest::enableVMMStats(bool mCollectVMMStats)
 
         /* enable statistics collection; this is a remote call (!) */
         ret = directControl->EnableVMMStatistics(mCollectVMMStats);
-        LogAleksey(("{%p} " LOG_FN_FMT ": %sable VMM stats (%s)\n",
-                    this, __PRETTY_FUNCTION__, mCollectVMMStats?"En":"Dis",
-                    SUCCEEDED(ret)?"success":"failed"));
+        Log7(("{%p} " LOG_FN_FMT ": %sable VMM stats (%s)\n",
+              this, __PRETTY_FUNCTION__, mCollectVMMStats ? "En" : "Dis", SUCCEEDED(ret) ? "success" : "failed"));
     }
 
     return ret;
@@ -318,8 +311,8 @@ HRESULT CollectorGuest::enableInternal(ULONG mask)
         if (ret == S_OK)
         {
             ret = mGuest->COMSETTER(StatisticsUpdateInterval)(1 /* 1 sec */);
-            LogAleksey(("{%p} " LOG_FN_FMT ": Set guest statistics update interval to 1 sec (%s)\n",
-                        this, __PRETTY_FUNCTION__, SUCCEEDED(ret)?"success":"failed"));
+            Log7(("{%p} " LOG_FN_FMT ": Set guest statistics update interval to 1 sec (%s)\n",
+                  this, __PRETTY_FUNCTION__, SUCCEEDED(ret) ? "success" : "failed"));
         }
     }
     if ((mask & VMSTATS_VMM_RAM) == VMSTATS_VMM_RAM)
@@ -342,8 +335,8 @@ int CollectorGuest::disableInternal(ULONG mask)
         Assert(mGuest && mConsole);
         HRESULT ret = mGuest->COMSETTER(StatisticsUpdateInterval)(0 /* off */);
         NOREF(ret);
-        LogAleksey(("{%p} " LOG_FN_FMT ": Set guest statistics update interval to 0 sec (%s)\n",
-                    this, __PRETTY_FUNCTION__, SUCCEEDED(ret)?"success":"failed"));
+        Log7(("{%p} " LOG_FN_FMT ": Set guest statistics update interval to 0 sec (%s)\n",
+              this, __PRETTY_FUNCTION__, SUCCEEDED(ret) ? "success" : "failed"));
         invalidate(VMSTATS_ALL);
     }
 
@@ -358,8 +351,7 @@ int CollectorGuest::enqueueRequest(CollectorGuestRequest *aRequest)
         return mManager->enqueueRequest(aRequest);
     }
 
-    LogAleksey(("{%p} " LOG_FN_FMT ": Attempted enqueue guest request when mManager is null\n",
-                this, __PRETTY_FUNCTION__));
+    Log7(("{%p} " LOG_FN_FMT ": Attempted enqueue guest request when mManager is null\n", this, __PRETTY_FUNCTION__));
     return E_POINTER;
 }
 
@@ -409,8 +401,7 @@ CollectorGuestManager::CollectorGuestManager()
                             this, 0, RTTHREADTYPE_MAIN_WORKER, RTTHREADFLAGS_WAITABLE,
                             "CGMgr");
     NOREF(rc);
-    LogAleksey(("{%p} " LOG_FN_FMT ": RTThreadCreate returned %u (mThread=%p)\n",
-                this, __PRETTY_FUNCTION__, rc));
+    Log7(("{%p} " LOG_FN_FMT ": RTThreadCreate returned %u (mThread=%p)\n", this, __PRETTY_FUNCTION__, rc));
 }
 
 CollectorGuestManager::~CollectorGuestManager()
@@ -421,11 +412,9 @@ CollectorGuestManager::~CollectorGuestManager()
     if (SUCCEEDED(rc))
     {
         /* We wait only if we were able to put the abort request to a queue */
-        LogAleksey(("{%p} " LOG_FN_FMT ": Waiting for CGM request processing thread to stop...\n",
-                    this, __PRETTY_FUNCTION__));
+        Log7(("{%p} " LOG_FN_FMT ": Waiting for CGM request processing thread to stop...\n", this, __PRETTY_FUNCTION__));
         rc = RTThreadWait(mThread, 1000 /* 1 sec */, &rcThread);
-        LogAleksey(("{%p} " LOG_FN_FMT ": RTThreadWait returned %u (thread exit code: %u)\n",
-                    this, __PRETTY_FUNCTION__, rc, rcThread));
+        Log7(("{%p} " LOG_FN_FMT ": RTThreadWait returned %u (thread exit code: %u)\n", this, __PRETTY_FUNCTION__, rc, rcThread));
     }
 }
 
@@ -439,16 +428,14 @@ void CollectorGuestManager::registerGuest(CollectorGuest* pGuest)
      */
     if (!mVMMStatsProvider)
         mVMMStatsProvider = pGuest;
-    LogAleksey(("{%p} " LOG_FN_FMT ": Registered guest=%p provider=%p\n",
-                this, __PRETTY_FUNCTION__, pGuest, mVMMStatsProvider));
+    Log7(("{%p} " LOG_FN_FMT ": Registered guest=%p provider=%p\n", this, __PRETTY_FUNCTION__, pGuest, mVMMStatsProvider));
 }
 
 void CollectorGuestManager::unregisterGuest(CollectorGuest* pGuest)
 {
     int rc = S_OK;
 
-    LogAleksey(("{%p} " LOG_FN_FMT ": About to unregister guest=%p provider=%p\n",
-                this, __PRETTY_FUNCTION__, pGuest, mVMMStatsProvider));
+    Log7(("{%p} " LOG_FN_FMT ": About to unregister guest=%p provider=%p\n", this, __PRETTY_FUNCTION__, pGuest, mVMMStatsProvider));
     //mGuests.remove(pGuest); => destroyUnregistered()
     pGuest->unregister();
     if (pGuest == mVMMStatsProvider)
@@ -497,8 +484,7 @@ void CollectorGuestManager::unregisterGuest(CollectorGuest* pGuest)
             }
         }
     }
-    LogAleksey(("{%p} " LOG_FN_FMT ": LEAVE new provider=%p\n",
-                this, __PRETTY_FUNCTION__, mVMMStatsProvider));
+    Log7(("{%p} " LOG_FN_FMT ": LEAVE new provider=%p\n", this, __PRETTY_FUNCTION__, mVMMStatsProvider));
 }
 
 void CollectorGuestManager::destroyUnregistered()
@@ -510,8 +496,8 @@ void CollectorGuestManager::destroyUnregistered()
         {
             delete *it;
             it = mGuests.erase(it);
-            LogAleksey(("{%p} " LOG_FN_FMT ": Number of guests after erasing unregistered is %d\n",
-                        this, __PRETTY_FUNCTION__, mGuests.size()));
+            Log7(("{%p} " LOG_FN_FMT ": Number of guests after erasing unregistered is %d\n",
+                  this, __PRETTY_FUNCTION__, mGuests.size()));
         }
         else
             ++it;
@@ -536,14 +522,12 @@ int CollectorGuestManager::enqueueRequest(CollectorGuestRequest *aRequest)
          * the previous request. Half a second is an eternity for processes
          * and is barely noticable by humans.
          */
-        LogAleksey(("{%p} " LOG_FN_FMT ": Suspecting %s is stalled. Waiting for .5 sec...\n",
-                    this, __PRETTY_FUNCTION__,
-                    aRequest->getGuest()->getVMName().c_str()));
+        Log7(("{%p} " LOG_FN_FMT ": Suspecting %s is stalled. Waiting for .5 sec...\n",
+              this, __PRETTY_FUNCTION__, aRequest->getGuest()->getVMName().c_str()));
         RTThreadSleep(500 /* ms */);
         if (aRequest->getGuest() == mGuestBeingCalled) {
-            LogAleksey(("{%p} " LOG_FN_FMT ": Request processing stalled for %s\n",
-                        this, __PRETTY_FUNCTION__,
-                        aRequest->getGuest()->getVMName().c_str()));
+            Log7(("{%p} " LOG_FN_FMT ": Request processing stalled for %s\n",
+                  this, __PRETTY_FUNCTION__, aRequest->getGuest()->getVMName().c_str()));
             /* Request execution got stalled for this guest -- report an error */
             return E_FAIL;
         }
@@ -560,8 +544,7 @@ DECLCALLBACK(int) CollectorGuestManager::requestProcessingThread(RTTHREAD /* aTh
 
     HRESULT rc = S_OK;
 
-    LogAleksey(("{%p} " LOG_FN_FMT ": Starting request processing loop...\n",
-                mgr, __PRETTY_FUNCTION__));
+    Log7(("{%p} " LOG_FN_FMT ": Starting request processing loop...\n", mgr, __PRETTY_FUNCTION__));
     while ((pReq = mgr->mQueue.pop()) != NULL)
     {
 #ifdef DEBUG
@@ -574,11 +557,9 @@ DECLCALLBACK(int) CollectorGuestManager::requestProcessingThread(RTTHREAD /* aTh
         if (rc == E_ABORT)
             break;
         if (FAILED(rc))
-            LogAleksey(("{%p} " LOG_FN_FMT ": request::execute returned %u\n",
-                        mgr, __PRETTY_FUNCTION__, rc));
+            Log7(("{%p} " LOG_FN_FMT ": request::execute returned %u\n", mgr, __PRETTY_FUNCTION__, rc));
     }
-    LogAleksey(("{%p} " LOG_FN_FMT ": Exiting request processing loop... rc=%u\n",
-                        mgr, __PRETTY_FUNCTION__, rc));
+    Log7(("{%p} " LOG_FN_FMT ": Exiting request processing loop... rc=%u\n", mgr, __PRETTY_FUNCTION__, rc));
 
     return VINF_SUCCESS;
 }
@@ -967,9 +948,8 @@ void HostRamVmm::collect()
     CollectorGuest *provider = mCollectorGuestManager->getVMMStatsProvider();
     if (provider)
     {
-        LogAleksey(("{%p} " LOG_FN_FMT ": provider=%p enabled=%s valid=%s...\n",
-                    this, __PRETTY_FUNCTION__, provider, provider->isEnabled()?"y":"n",
-                    provider->isValid(VMSTATS_VMM_RAM)?"y":"n"));
+        Log7(("{%p} " LOG_FN_FMT ": provider=%p enabled=%RTbool valid=%RTbool...\n",
+              this, __PRETTY_FUNCTION__, provider, provider->isEnabled(), provider->isValid(VMSTATS_VMM_RAM) ));
         if (provider->isValid(VMSTATS_VMM_RAM))
         {
             /* Provider is ready, get updated stats */
@@ -992,9 +972,8 @@ void HostRamVmm::collect()
         mBalloonedCurrent = 0;
         mSharedCurrent    = 0;
     }
-    LogAleksey(("{%p} " LOG_FN_FMT ": mAllocCurrent=%u mFreeCurrent=%u mBalloonedCurrent=%u mSharedCurrent=%u\n",
-                this, __PRETTY_FUNCTION__,
-                mAllocCurrent, mFreeCurrent, mBalloonedCurrent, mSharedCurrent));
+    Log7(("{%p} " LOG_FN_FMT ": mAllocCurrent=%u mFreeCurrent=%u mBalloonedCurrent=%u mSharedCurrent=%u\n",
+          this, __PRETTY_FUNCTION__, mAllocCurrent, mFreeCurrent, mBalloonedCurrent, mSharedCurrent));
     mAllocVMM->put(mAllocCurrent);
     mFreeVMM->put(mFreeCurrent);
     mBalloonVMM->put(mBalloonedCurrent);
@@ -1531,10 +1510,10 @@ bool Filter::match(const ComPtr<IUnknown> object, const RTCString &name) const
 {
     ElementList::const_iterator it;
 
-    //LogAleksey(("Filter::match(%p, %s)\n", static_cast<const IUnknown*> (object), name.c_str()));
+    //Log7(("Filter::match(%p, %s)\n", static_cast<const IUnknown*> (object), name.c_str()));
     for (it = mElements.begin(); it != mElements.end(); ++it)
     {
-        //LogAleksey(("...matching against(%p, %s)\n", static_cast<const IUnknown*> ((*it).first), (*it).second.c_str()));
+        //Log7(("...matching against(%p, %s)\n", static_cast<const IUnknown*> ((*it).first), (*it).second.c_str()));
         if ((*it).first.isNull() || (*it).first == object)
         {
             // Objects match, compare names
@@ -1545,7 +1524,7 @@ bool Filter::match(const ComPtr<IUnknown> object, const RTCString &name) const
             }
         }
     }
-    //LogAleksey(("...no matches!\n"));
+    //Log7(("...no matches!\n"));
     return false;
 }
 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
diff --git a/src/VBox/Main/src-server/PerformanceImpl.cpp b/src/VBox/Main/src-server/PerformanceImpl.cpp
index ed20ab3..1cfa2cc 100644
--- a/src/VBox/Main/src-server/PerformanceImpl.cpp
+++ b/src/VBox/Main/src-server/PerformanceImpl.cpp
@@ -581,8 +581,8 @@ void PerformanceCollector::registerBaseMetric(pm::BaseMetric *baseMetric)
     if (!SUCCEEDED(autoCaller.rc())) return;
 
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-    LogAleksey(("{%p} " LOG_FN_FMT ": obj=%p name=%s\n", this, __PRETTY_FUNCTION__,
-                (void *)baseMetric->getObject(), baseMetric->getName()));
+    Log7(("{%p} " LOG_FN_FMT ": obj=%p name=%s\n", this, __PRETTY_FUNCTION__,
+          (void *)baseMetric->getObject(), baseMetric->getName()));
     m.baseMetrics.push_back (baseMetric);
     //LogFlowThisFuncLeave();
 }
@@ -594,8 +594,7 @@ void PerformanceCollector::registerMetric(pm::Metric *metric)
     if (!SUCCEEDED(autoCaller.rc())) return;
 
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-    LogAleksey(("{%p} " LOG_FN_FMT ": obj=%p name=%s\n", this, __PRETTY_FUNCTION__,
-                (void *)metric->getObject(), metric->getName()));
+    Log7(("{%p} " LOG_FN_FMT ": obj=%p name=%s\n", this, __PRETTY_FUNCTION__, (void *)metric->getObject(), metric->getName()));
     m.metrics.push_back (metric);
     //LogFlowThisFuncLeave();
 }
@@ -617,8 +616,8 @@ void PerformanceCollector::unregisterBaseMetricsFor(const ComPtr<IUnknown> &aObj
             (*it)->unregister();
             ++n;
         }
-    LogAleksey(("{%p} " LOG_FN_FMT ": obj=%p, name=%s, marked %d metrics\n",
-                this, __PRETTY_FUNCTION__, (void *)aObject, name.c_str(), n));
+    Log7(("{%p} " LOG_FN_FMT ": obj=%p, name=%s, marked %d metrics\n",
+          this, __PRETTY_FUNCTION__, (void *)aObject, name.c_str(), n));
     //LogFlowThisFuncLeave();
 }
 
@@ -631,8 +630,7 @@ void PerformanceCollector::unregisterMetricsFor(const ComPtr<IUnknown> &aObject,
     pm::Filter filter(name, aObject);
 
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-    LogAleksey(("{%p} " LOG_FN_FMT ": obj=%p, name=%s\n", this,
-                __PRETTY_FUNCTION__, (void *)aObject, name.c_str()));
+    Log7(("{%p} " LOG_FN_FMT ": obj=%p, name=%s\n", this, __PRETTY_FUNCTION__, (void *)aObject, name.c_str()));
     MetricList::iterator it;
     for (it = m.metrics.begin(); it != m.metrics.end();)
         if (filter.match((*it)->getObject(), (*it)->getName()))
@@ -755,13 +753,10 @@ void PerformanceCollector::samplerCallback(uint64_t iTick)
      * again to see if any base metrics are marked as unregistered.
      * Those should be destroyed now.
      */
-    LogAleksey(("{%p} " LOG_FN_FMT ": before remove_if: toBeCollected.size()=%d\n", this, __PRETTY_FUNCTION__,
-                toBeCollected.size()));
+    Log7(("{%p} " LOG_FN_FMT ": before remove_if: toBeCollected.size()=%d\n", this, __PRETTY_FUNCTION__, toBeCollected.size()));
     toBeCollected.remove_if(std::mem_fun(&pm::BaseMetric::isUnregistered));
-    LogAleksey(("{%p} " LOG_FN_FMT ": after remove_if: toBeCollected.size()=%d\n", this, __PRETTY_FUNCTION__,
-                toBeCollected.size()));
-    LogAleksey(("{%p} " LOG_FN_FMT ": before remove_if: m.baseMetrics.size()=%d\n", this, __PRETTY_FUNCTION__,
-                m.baseMetrics.size()));
+    Log7(("{%p} " LOG_FN_FMT ": after remove_if: toBeCollected.size()=%d\n", this, __PRETTY_FUNCTION__, toBeCollected.size()));
+    Log7(("{%p} " LOG_FN_FMT ": before remove_if: m.baseMetrics.size()=%d\n", this, __PRETTY_FUNCTION__, m.baseMetrics.size()));
     for (it = m.baseMetrics.begin(); it != m.baseMetrics.end();)
         if ((*it)->isUnregistered())
         {
@@ -770,8 +765,7 @@ void PerformanceCollector::samplerCallback(uint64_t iTick)
         }
         else
             ++it;
-    LogAleksey(("{%p} " LOG_FN_FMT ": after remove_if: m.baseMetrics.size()=%d\n", this, __PRETTY_FUNCTION__,
-                m.baseMetrics.size()));
+    Log7(("{%p} " LOG_FN_FMT ": after remove_if: m.baseMetrics.size()=%d\n", this, __PRETTY_FUNCTION__, m.baseMetrics.size()));
     /*
      * Now when we have destroyed all base metrics that could
      * try to pull data from unregistered CollectorGuest objects
diff --git a/src/VBox/Main/src-server/SnapshotImpl.cpp b/src/VBox/Main/src-server/SnapshotImpl.cpp
index da27200..2a643e4 100644
--- a/src/VBox/Main/src-server/SnapshotImpl.cpp
+++ b/src/VBox/Main/src-server/SnapshotImpl.cpp
@@ -1331,12 +1331,14 @@ struct SessionMachine::TakeSnapshotTask
                      Snapshot *s,
                      const Utf8Str &strName,
                      const Utf8Str &strDescription,
+                     const Guid &uuidSnapshot,
                      bool fPause,
                      uint32_t uMemSize,
                      bool fTakingSnapshotOnline)
         : SnapshotTask(m, p, t, s),
           m_strName(strName),
           m_strDescription(strDescription),
+          m_uuidSnapshot(uuidSnapshot),
           m_fPause(fPause),
           m_uMemSize(uMemSize),
           m_fTakingSnapshotOnline(fTakingSnapshotOnline)
@@ -1356,6 +1358,7 @@ struct SessionMachine::TakeSnapshotTask
 
     Utf8Str m_strName;
     Utf8Str m_strDescription;
+    Guid m_uuidSnapshot;
     Utf8Str m_strStateFilePath;
     ComPtr<IInternalSessionControl> m_pDirectControl;
     bool m_fPause;
@@ -1411,11 +1414,13 @@ struct SessionMachine::DeleteSnapshotTask
 HRESULT Machine::takeSnapshot(const com::Utf8Str &aName,
                               const com::Utf8Str &aDescription,
                               BOOL fPause,
+                              com::Guid &aId,
                               ComPtr<IProgress> &aProgress)
 {
     NOREF(aName);
     NOREF(aDescription);
     NOREF(fPause);
+    NOREF(aId);
     NOREF(aProgress);
     ReturnComNotImplemented();
 }
@@ -1423,6 +1428,7 @@ HRESULT Machine::takeSnapshot(const com::Utf8Str &aName,
 HRESULT SessionMachine::takeSnapshot(const com::Utf8Str &aName,
                                      const com::Utf8Str &aDescription,
                                      BOOL fPause,
+                                     com::Guid &aId,
                                      ComPtr<IProgress> &aProgress)
 {
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
@@ -1481,6 +1487,10 @@ HRESULT SessionMachine::takeSnapshot(const com::Utf8Str &aName,
     if (FAILED(rc))
         return rc;
 
+    /* create an ID for the snapshot */
+    Guid snapshotId;
+    snapshotId.create();
+
     /* create and start the task on a separate thread (note that it will not
      * start working until we release alock) */
     TakeSnapshotTask *pTask = new TakeSnapshotTask(this,
@@ -1489,6 +1499,7 @@ HRESULT SessionMachine::takeSnapshot(const com::Utf8Str &aName,
                                                    NULL /* pSnapshot */,
                                                    aName,
                                                    aDescription,
+                                                   snapshotId,
                                                    !!fPause,
                                                    mHWData->mMemorySize,
                                                    fTakingSnapshotOnline);
@@ -1508,6 +1519,7 @@ HRESULT SessionMachine::takeSnapshot(const com::Utf8Str &aName,
     else
         i_setMachineState(MachineState_Snapshotting);
 
+    aId = snapshotId;
     pTask->m_pProgress.queryInterfaceTo(aProgress.asOutParam());
 
     return rc;
@@ -1554,7 +1566,6 @@ void SessionMachine::i_takeSnapshotHandler(TakeSnapshotTask &task)
 
     bool fBeganTakingSnapshot = false;
     BOOL fSuspendedBySave     = FALSE;
-    Guid snapshotId;
 
     try
     {
@@ -1605,13 +1616,10 @@ void SessionMachine::i_takeSnapshotHandler(TakeSnapshotTask &task)
 
         /* STEP 1: create the snapshot object */
 
-        /* create an ID for the snapshot */
-        snapshotId.create();
-
         /* create a snapshot machine object */
         ComObjPtr<SnapshotMachine> pSnapshotMachine;
         pSnapshotMachine.createObject();
-        rc = pSnapshotMachine->init(this, snapshotId.ref(), task.m_strStateFilePath);
+        rc = pSnapshotMachine->init(this, task.m_uuidSnapshot.ref(), task.m_strStateFilePath);
         AssertComRCThrowRC(rc);
 
         /* create a snapshot object */
@@ -1619,7 +1627,7 @@ void SessionMachine::i_takeSnapshotHandler(TakeSnapshotTask &task)
         RTTimeNow(&time);
         task.m_pSnapshot.createObject();
         rc = task.m_pSnapshot->init(mParent,
-                                    snapshotId,
+                                    task.m_uuidSnapshot,
                                     task.m_strName,
                                     task.m_strDescription,
                                     time,
@@ -1796,7 +1804,7 @@ void SessionMachine::i_takeSnapshotHandler(TakeSnapshotTask &task)
     task.m_pProgress->i_notifyComplete(rc);
 
     if (SUCCEEDED(rc))
-        mParent->i_onSnapshotTaken(mData->mUuid, snapshotId);
+        mParent->i_onSnapshotTaken(mData->mUuid, task.m_uuidSnapshot);
     LogFlowThisFuncLeave();
 }
 
@@ -3450,7 +3458,7 @@ HRESULT SessionMachine::i_prepareDeleteSnapshotMedium(const ComObjPtr<Medium> &a
                 lockListVMMABegin = aVMMALockList->GetBegin();
                 lockListVMMAEnd = aVMMALockList->GetEnd();
                 MediumLockList::Base::iterator lockListLast = lockListVMMAEnd;
-                lockListLast--;
+                --lockListLast;
                 for (MediumLockList::Base::iterator it = lockListVMMABegin;
                      it != lockListVMMAEnd;
                      ++it)
@@ -3541,7 +3549,7 @@ void SessionMachine::i_cancelDeleteSnapshotMedium(const ComObjPtr<Medium> &aHD,
             MediumLockList::Base::iterator lockListEnd =
                 aMediumLockList->GetEnd();
             MediumLockList::Base::iterator lockListLast = lockListEnd;
-            lockListLast--;
+            --lockListLast;
             for (MediumLockList::Base::iterator it = lockListBegin;
                  it != lockListEnd;
                  ++it)
@@ -3837,7 +3845,7 @@ HRESULT SessionMachine::finishOnlineMergeMedium()
     lockListBegin = pMediumLockList->GetBegin();
     lockListEnd = pMediumLockList->GetEnd();
     MediumLockList::Base::iterator lockListLast = lockListEnd;
-    lockListLast--;
+    --lockListLast;
     for (MediumLockList::Base::iterator it = lockListBegin;
          it != lockListEnd;
          ++it)
diff --git a/src/VBox/Main/src-server/StorageControllerImpl.cpp b/src/VBox/Main/src-server/StorageControllerImpl.cpp
index a25eeb5..e318fa7 100644
--- a/src/VBox/Main/src-server/StorageControllerImpl.cpp
+++ b/src/VBox/Main/src-server/StorageControllerImpl.cpp
@@ -322,16 +322,42 @@ HRESULT StorageController::getName(com::Utf8Str &aName)
 {
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
-    /* mName is constant during life time, no need to lock */
-    aName = m->bd.data()->strName;
+    aName = m->bd->strName;
 
     return S_OK;
 }
 
-HRESULT StorageController::getBus(StorageBus_T *aBus)
+HRESULT StorageController::setName(const com::Utf8Str &aName)
 {
-    CheckComArgOutPointerValid(aBus);
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
+
+    AutoMultiWriteLock2 alock(m->pParent, this COMMA_LOCKVAL_SRC_POS);
+
+    if (m->bd->strName != aName)
+    {
+        ComObjPtr<StorageController> ctrl;
+        HRESULT rc = m->pParent->i_getStorageControllerByName(aName, ctrl, false /* aSetError */);
+        if (SUCCEEDED(rc))
+            return setError(VBOX_E_OBJECT_IN_USE,
+                            tr("Storage controller named '%s' already exists"),
+                            aName.c_str());
+
+        m->bd.backup();
+        m->bd->strName = aName;
+
+        m->pParent->i_setModified(Machine::IsModified_Storage);
+        alock.release();
+
+        m->pParent->i_onStorageControllerChange();
+    }
+
+    return S_OK;
+}
 
+HRESULT StorageController::getBus(StorageBus_T *aBus)
+{
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *aBus = m->bd->mStorageBus;
@@ -341,8 +367,6 @@ HRESULT StorageController::getBus(StorageBus_T *aBus)
 
 HRESULT StorageController::getControllerType(StorageControllerType_T *aControllerType)
 {
-    CheckComArgOutPointerValid(aControllerType);
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *aControllerType = m->bd->mStorageControllerType;
@@ -352,6 +376,10 @@ HRESULT StorageController::getControllerType(StorageControllerType_T *aControlle
 
 HRESULT StorageController::setControllerType(StorageControllerType_T aControllerType)
 {
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
+
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     HRESULT rc = S_OK;
@@ -399,6 +427,7 @@ HRESULT StorageController::setControllerType(StorageControllerType_T aController
         }
         default:
             AssertMsgFailed(("Invalid controller type %d\n", m->bd->mStorageBus));
+            rc = E_INVALIDARG;
     }
 
     if (!SUCCEEDED(rc))
@@ -406,15 +435,24 @@ HRESULT StorageController::setControllerType(StorageControllerType_T aController
                         tr ("Invalid controller type %d"),
                         aControllerType);
 
-    m->bd->mStorageControllerType = aControllerType;
+    if (m->bd->mStorageControllerType != aControllerType)
+    {
+        m->bd.backup();
+        m->bd->mStorageControllerType = aControllerType;
+
+        alock.release();
+        AutoWriteLock mlock(m->pParent COMMA_LOCKVAL_SRC_POS);        // m->pParent is const, needs no locking
+        m->pParent->i_setModified(Machine::IsModified_Storage);
+        mlock.release();
+
+        m->pParent->i_onStorageControllerChange();
+    }
 
     return S_OK;
 }
 
 HRESULT StorageController::getMaxDevicesPerPortCount(ULONG *aMaxDevicesPerPortCount)
 {
-    CheckComArgOutPointerValid(aMaxDevicesPerPortCount);
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     HRESULT rc = m->pSystemProperties->GetMaxDevicesPerPortForStorageBus(m->bd->mStorageBus, aMaxDevicesPerPortCount);
@@ -424,8 +462,6 @@ HRESULT StorageController::getMaxDevicesPerPortCount(ULONG *aMaxDevicesPerPortCo
 
 HRESULT StorageController::getMinPortCount(ULONG *aMinPortCount)
 {
-    CheckComArgOutPointerValid(aMinPortCount);
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     HRESULT rc = m->pSystemProperties->GetMinPortCountForStorageBus(m->bd->mStorageBus, aMinPortCount);
@@ -434,8 +470,6 @@ HRESULT StorageController::getMinPortCount(ULONG *aMinPortCount)
 
 HRESULT StorageController::getMaxPortCount(ULONG *aMaxPortCount)
 {
-    CheckComArgOutPointerValid(aMaxPortCount);
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     HRESULT rc = m->pSystemProperties->GetMaxPortCountForStorageBus(m->bd->mStorageBus, aMaxPortCount);
 
@@ -444,8 +478,6 @@ HRESULT StorageController::getMaxPortCount(ULONG *aMaxPortCount)
 
 HRESULT StorageController::getPortCount(ULONG *aPortCount)
 {
-    CheckComArgOutPointerValid(aPortCount);
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *aPortCount = m->bd->mPortCount;
@@ -455,7 +487,11 @@ HRESULT StorageController::getPortCount(ULONG *aPortCount)
 
 HRESULT StorageController::setPortCount(ULONG aPortCount)
 {
-    LogFlowThisFunc(("aPortCount=%u\n", aPortCount));
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
+
+    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     switch (m->bd->mStorageBus)
     {
@@ -528,15 +564,6 @@ HRESULT StorageController::setPortCount(ULONG aPortCount)
             AssertMsgFailed(("Invalid controller type %d\n", m->bd->mStorageBus));
     }
 
-    AutoCaller autoCaller(this);
-    if (FAILED(autoCaller.rc())) return autoCaller.rc();
-
-    /* the machine needs to be mutable */
-    AutoMutableStateDependency adep(m->pParent);
-    if (FAILED(adep.rc())) return adep.rc();
-
-    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
-
     if (m->bd->mPortCount != aPortCount)
     {
         m->bd.backup();
@@ -555,8 +582,6 @@ HRESULT StorageController::setPortCount(ULONG aPortCount)
 
 HRESULT StorageController::getInstance(ULONG *aInstance)
 {
-    /* The machine doesn't need to be mutable. */
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *aInstance = m->bd->mInstance;
@@ -566,19 +591,30 @@ HRESULT StorageController::getInstance(ULONG *aInstance)
 
 HRESULT StorageController::setInstance(ULONG aInstance)
 {
-    /* The machine doesn't need to be mutable. */
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
 
     AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
 
-    m->bd->mInstance = aInstance;
+    if (m->bd->mInstance != aInstance)
+    {
+        m->bd.backup();
+        m->bd->mInstance = aInstance;
+
+        alock.release();
+        AutoWriteLock mlock(m->pParent COMMA_LOCKVAL_SRC_POS);        // m->pParent is const, needs no locking
+        m->pParent->i_setModified(Machine::IsModified_Storage);
+        mlock.release();
+
+        m->pParent->i_onStorageControllerChange();
+    }
 
     return S_OK;
 }
 
 HRESULT StorageController::getUseHostIOCache(BOOL *fUseHostIOCache)
 {
-    /* The machine doesn't need to be mutable. */
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *fUseHostIOCache = m->bd->fUseHostIOCache;
@@ -612,9 +648,6 @@ HRESULT StorageController::setUseHostIOCache(BOOL fUseHostIOCache)
 
 HRESULT StorageController::getBootable(BOOL *fBootable)
 {
-
-    /* The machine doesn't need to be mutable. */
-
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
 
     *fBootable = m->bd->fBootable;
diff --git a/src/VBox/Main/src-server/SystemPropertiesImpl.cpp b/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
index f7d40a1..9ffb6d2 100644
--- a/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
+++ b/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
@@ -1182,7 +1182,7 @@ HRESULT SystemProperties::i_setLoggingLevel(const com::Utf8Str &aLoggingLevel)
     Utf8Str useLoggingLevel(aLoggingLevel);
     if (useLoggingLevel.isEmpty())
         useLoggingLevel = VBOXSVC_LOG_DEFAULT;
-    int rc = RTLogGroupSettings(RTLogRelDefaultInstance(), useLoggingLevel.c_str());
+    int rc = RTLogGroupSettings(RTLogRelGetDefaultInstance(), useLoggingLevel.c_str());
     //  If failed and not the default logging level - try to use the default logging level.
     if (RT_FAILURE(rc))
     {
@@ -1191,7 +1191,7 @@ HRESULT SystemProperties::i_setLoggingLevel(const com::Utf8Str &aLoggingLevel)
         //  If attempted logging level not the default one then try the default one.
         if (!useLoggingLevel.equals(VBOXSVC_LOG_DEFAULT))
         {
-            rc = RTLogGroupSettings(RTLogRelDefaultInstance(), VBOXSVC_LOG_DEFAULT);
+            rc = RTLogGroupSettings(RTLogRelGetDefaultInstance(), VBOXSVC_LOG_DEFAULT);
             // If failed report this to the release log.
             if (RT_FAILURE(rc))
                 LogRel(("Cannot set default logging level Error=%Rrc \n", rc));
diff --git a/src/VBox/Main/src-server/USBControllerImpl.cpp b/src/VBox/Main/src-server/USBControllerImpl.cpp
index 32a67a1..1821720 100644
--- a/src/VBox/Main/src-server/USBControllerImpl.cpp
+++ b/src/VBox/Main/src-server/USBControllerImpl.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2005-2013 Oracle Corporation
+ * Copyright (C) 2005-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -237,12 +237,42 @@ void USBController::uninit()
 /////////////////////////////////////////////////////////////////////////////
 HRESULT USBController::getName(com::Utf8Str &aName)
 {
-    /* strName is constant during life time, no need to lock */
+    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
+
     aName = m->bd->strName;
 
     return S_OK;
 }
 
+HRESULT USBController::setName(const com::Utf8Str &aName)
+{
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
+
+    AutoMultiWriteLock2 alock(m->pParent, this COMMA_LOCKVAL_SRC_POS);
+
+    if (m->bd->strName != aName)
+    {
+        ComObjPtr<USBController> ctrl;
+        HRESULT rc = m->pParent->i_getUSBControllerByName(aName, ctrl, false /* aSetError */);
+        if (SUCCEEDED(rc))
+            return setError(VBOX_E_OBJECT_IN_USE,
+                            tr("USB controller named '%s' already exists"),
+                            aName.c_str());
+
+        m->bd.backup();
+        m->bd->strName = aName;
+
+        m->pParent->i_setModified(Machine::IsModified_USB);
+        alock.release();
+
+        m->pParent->i_onUSBControllerChange();
+    }
+
+    return S_OK;
+}
+
 HRESULT USBController::getType(USBControllerType_T *aType)
 {
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
@@ -252,6 +282,28 @@ HRESULT USBController::getType(USBControllerType_T *aType)
     return S_OK;
 }
 
+HRESULT USBController::setType(USBControllerType_T aType)
+{
+    /* the machine needs to be mutable */
+    AutoMutableStateDependency adep(m->pParent);
+    if (FAILED(adep.rc())) return adep.rc();
+
+    AutoMultiWriteLock2 alock(m->pParent, this COMMA_LOCKVAL_SRC_POS);
+
+    if (m->bd->enmType != aType)
+    {
+        m->bd.backup();
+        m->bd->enmType = aType;
+
+        m->pParent->i_setModified(Machine::IsModified_USB);
+        alock.release();
+
+        m->pParent->i_onUSBControllerChange();
+    }
+
+    return S_OK;
+}
+
 HRESULT USBController::getUSBStandard(USHORT *aUSBStandard)
 {
     AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
diff --git a/src/VBox/Main/src-server/VirtualBoxImpl.cpp b/src/VBox/Main/src-server/VirtualBoxImpl.cpp
index ba4b8db..1ac62cc 100644
--- a/src/VBox/Main/src-server/VirtualBoxImpl.cpp
+++ b/src/VBox/Main/src-server/VirtualBoxImpl.cpp
@@ -802,8 +802,7 @@ void VirtualBox::uninit()
              */
             int vrc = RTThreadWait(m->threadAsyncEvent, 60000, NULL);
             if (RT_FAILURE(vrc))
-                LogWarningFunc(("RTThreadWait(%RTthrd) -> %Rrc\n",
-                                m->threadAsyncEvent, vrc));
+                Log1WarningFunc(("RTThreadWait(%RTthrd) -> %Rrc\n", m->threadAsyncEvent, vrc));
         }
         else
         {
@@ -2005,8 +2004,7 @@ HRESULT VirtualBox::setExtraData(const com::Utf8Str &aKey,
         {
             const char *sep = error.isEmpty() ? "" : ": ";
             CBSTR err = error.raw();
-            LogWarningFunc(("Someone vetoed! Change refused%s%ls\n",
-                            sep, err));
+            Log1WarningFunc(("Someone vetoed! Change refused%s%ls\n", sep, err));
             return setError(E_ACCESSDENIED,
                             tr("Could not set extra data because someone refused the requested change of '%s' to '%s'%s%ls"),
                             strKey.c_str(),
@@ -2303,8 +2301,8 @@ HRESULT VirtualBox::i_postEvent(Event *event)
     if (SUCCEEDED((rc = autoCaller.rc())))
     {
         if (getObjectState().getState() != ObjectState::Ready)
-            LogWarningFunc(("VirtualBox has been uninitialized (state=%d), the event is discarded!\n",
-                            getObjectState().getState()));
+            Log1WarningFunc(("VirtualBox has been uninitialized (state=%d), the event is discarded!\n",
+                             getObjectState().getState()));
             // return S_OK
         else if (    (m->pAsyncEventQ)
                   && (m->pAsyncEventQ->postEvent(event))
@@ -4819,8 +4817,8 @@ void *VirtualBox::CallbackEvent::handler()
     AutoCaller autoCaller(mVirtualBox);
     if (!autoCaller.isOk())
     {
-        LogWarningFunc(("VirtualBox has been uninitialized (state=%d), the callback event is discarded!\n",
-                        mVirtualBox->getObjectState().getState()));
+        Log1WarningFunc(("VirtualBox has been uninitialized (state=%d), the callback event is discarded!\n",
+                         mVirtualBox->getObjectState().getState()));
         /* We don't need mVirtualBox any more, so release it */
         mVirtualBox = NULL;
         return NULL;
diff --git a/src/VBox/Main/src-server/darwin/PerformanceDarwin.cpp b/src/VBox/Main/src-server/darwin/PerformanceDarwin.cpp
index ea040bd..85397ed 100644
--- a/src/VBox/Main/src-server/darwin/PerformanceDarwin.cpp
+++ b/src/VBox/Main/src-server/darwin/PerformanceDarwin.cpp
@@ -129,7 +129,7 @@ int CollectorDarwin::getHostMemoryUsage(ULONG *total, ULONG *used, ULONG *availa
 
 static int getProcessInfo(RTPROCESS process, struct proc_taskinfo *tinfo)
 {
-    LogAleksey(("getProcessInfo() getting info for %d", process));
+    Log7(("getProcessInfo() getting info for %d", process));
     int nb = proc_pidinfo(process, PROC_PIDTASKINFO, 0,  tinfo, sizeof(*tinfo));
     if (nb <= 0)
     {
diff --git a/src/VBox/Main/src-server/linux/PerformanceLinux.cpp b/src/VBox/Main/src-server/linux/PerformanceLinux.cpp
index 7ccf5d1..b6ed83c 100644
--- a/src/VBox/Main/src-server/linux/PerformanceLinux.cpp
+++ b/src/VBox/Main/src-server/linux/PerformanceLinux.cpp
@@ -127,7 +127,7 @@ int CollectorLinux::preCollect(const CollectorHints& hints, uint64_t /* iTick */
         if (RT_SUCCESS(rc))
             mProcessStats[*it] = vmStats;
     }
-    if (hints.isHostCpuLoadCollected() || mProcessStats.size())
+    if (hints.isHostCpuLoadCollected() || !mProcessStats.empty())
     {
         _getRawHostCpuLoad();
     }
diff --git a/src/VBox/Main/src-server/win/svcmain.cpp b/src/VBox/Main/src-server/win/svcmain.cpp
index ade917a..668a4a3 100644
--- a/src/VBox/Main/src-server/win/svcmain.cpp
+++ b/src/VBox/Main/src-server/win/svcmain.cpp
@@ -98,7 +98,7 @@ void CExeModule::MonitorShutdown()
              * log rotation: there might be another API service process
              * running at this point which would rotate the logs concurrently,
              * creating a mess. */
-            PRTLOGGER pReleaseLogger = RTLogRelDefaultInstance();
+            PRTLOGGER pReleaseLogger = RTLogRelGetDefaultInstance();
             if (pReleaseLogger)
             {
                 char szDest[1024];
diff --git a/src/VBox/Main/testcase/tstAPI.cpp b/src/VBox/Main/testcase/tstAPI.cpp
index 3e7991a..3ad2ace 100644
--- a/src/VBox/Main/testcase/tstAPI.cpp
+++ b/src/VBox/Main/testcase/tstAPI.cpp
@@ -1,6 +1,5 @@
 /* $Id: tstAPI.cpp $ */
 /** @file
- *
  * tstAPI - test program for our COM/XPCOM interface
  */
 
@@ -32,7 +31,6 @@ using namespace com;
 
 #define LOG_ENABLED
 #define LOG_GROUP LOG_GROUP_MAIN
-#define LOG_INSTANCE NULL
 #include <VBox/log.h>
 
 #include <iprt/initterm.h>
diff --git a/src/VBox/Main/testcase/tstGuestCtrlContextID.cpp b/src/VBox/Main/testcase/tstGuestCtrlContextID.cpp
index c9780a1..38388b0 100644
--- a/src/VBox/Main/testcase/tstGuestCtrlContextID.cpp
+++ b/src/VBox/Main/testcase/tstGuestCtrlContextID.cpp
@@ -1,7 +1,5 @@
 /* $Id: tstGuestCtrlContextID.cpp $ */
-
 /** @file
- *
  * Context ID makeup/extraction test cases.
  */
 
@@ -19,7 +17,6 @@
 
 #define LOG_ENABLED
 #define LOG_GROUP LOG_GROUP_MAIN
-#define LOG_INSTANCE NULL
 #include <VBox/log.h>
 
 #include "../include/GuestCtrlImplPrivate.h"
diff --git a/src/VBox/Main/testcase/tstGuestCtrlParseBuffer.cpp b/src/VBox/Main/testcase/tstGuestCtrlParseBuffer.cpp
index 93019a8..f58d8bb 100644
--- a/src/VBox/Main/testcase/tstGuestCtrlParseBuffer.cpp
+++ b/src/VBox/Main/testcase/tstGuestCtrlParseBuffer.cpp
@@ -1,7 +1,5 @@
 /* $Id: tstGuestCtrlParseBuffer.cpp $ */
-
 /** @file
- *
  * Output stream parsing test cases.
  */
 
@@ -19,7 +17,6 @@
 
 #define LOG_ENABLED
 #define LOG_GROUP LOG_GROUP_MAIN
-#define LOG_INSTANCE NULL
 #include <VBox/log.h>
 
 #include "../include/GuestCtrlImplPrivate.h"
diff --git a/src/VBox/Main/testcase/tstMediumLock.cpp b/src/VBox/Main/testcase/tstMediumLock.cpp
index 8a09686..40bb309 100644
--- a/src/VBox/Main/testcase/tstMediumLock.cpp
+++ b/src/VBox/Main/testcase/tstMediumLock.cpp
@@ -1,7 +1,5 @@
 /* $Id: tstMediumLock.cpp $ */
-
 /** @file
- *
  * Medium lock test cases.
  */
 
@@ -19,7 +17,6 @@
 
 #define LOG_ENABLED
 #define LOG_GROUP LOG_GROUP_MAIN
-#define LOG_INSTANCE NULL
 #include <VBox/log.h>
 
 #include <VBox/com/com.h>
diff --git a/src/VBox/Main/webservice/vboxweb.cpp b/src/VBox/Main/webservice/vboxweb.cpp
index 4b9572f..ed9e3ac 100644
--- a/src/VBox/Main/webservice/vboxweb.cpp
+++ b/src/VBox/Main/webservice/vboxweb.cpp
@@ -494,7 +494,7 @@ public:
             RTSemEventMultiWait(m_event, RT_INDEFINITE_WAIT);
 
             util::AutoWriteLock qlock(m_mutex COMMA_LOCKVAL_SRC_POS);
-            if (m_llSocketsQ.size())
+            if (!m_llSocketsQ.empty())
             {
                 SOAP_SOCKET socket = m_llSocketsQ.front();
                 m_llSocketsQ.pop_front();
@@ -504,7 +504,7 @@ public:
                 // reset the multi event only if the queue is now empty; otherwise
                 // another thread will also wake up when we release the mutex and
                 // process another one
-                if (m_llSocketsQ.size() == 0)
+                if (m_llSocketsQ.empty())
                     RTSemEventMultiReset(m_event);
 
                 qlock.release();
@@ -1535,9 +1535,8 @@ static bool SplitManagedObjectRef(const WSDLT_ID &id,
 {
     // 64-bit numbers in hex have 16 digits; hence
     // the object-ref string must have 16 + "-" + 16 characters
-    std::string str;
-    if (    (id.length() == 33)
-         && (id[16] == '-')
+    if (    id.length() == 33
+         && id[16] == '-'
        )
     {
         char psz[34];
diff --git a/src/VBox/Main/xml/Settings.cpp b/src/VBox/Main/xml/Settings.cpp
index 1459200..3faa419 100644
--- a/src/VBox/Main/xml/Settings.cpp
+++ b/src/VBox/Main/xml/Settings.cpp
@@ -2081,7 +2081,6 @@ bool Hardware::operator==(const Hardware& h) const
                   && (ulMemoryBalloonSize       == h.ulMemoryBalloonSize)
                   && (fPageFusionEnabled        == h.fPageFusionEnabled)
                   && (llGuestProperties         == h.llGuestProperties)
-                  && (strNotificationPatterns   == h.strNotificationPatterns)
                   && (ioSettings                == h.ioSettings)
                   && (pciAttachments            == h.pciAttachments)
                   && (strDefaultFrontend        == h.strDefaultFrontend)
@@ -2622,6 +2621,24 @@ void MachineConfigFile::readParallelPorts(const xml::ElementNode &elmLPT,
 void MachineConfigFile::readAudioAdapter(const xml::ElementNode &elmAudioAdapter,
                                          AudioAdapter &aa)
 {
+
+    if (m->sv >= SettingsVersion_v1_15)
+    {
+        // get all properties
+        xml::NodesLoop nl1(elmAudioAdapter, "Property");
+        const xml::ElementNode *pelmModeChild;
+        while ((pelmModeChild = nl1.forAllNodes()))
+        {
+            Utf8Str strPropName, strPropValue;
+            if (   pelmModeChild->getAttributeValue("name", strPropName)
+                && pelmModeChild->getAttributeValue("value", strPropValue) )
+                aa.properties[strPropName] = strPropValue;
+            else
+                throw ConfigFileError(this, pelmModeChild, N_("Required AudioAdapter/Property/@name or @value attribute "
+                                                              "is missing"));
+        }
+    }
+
     elmAudioAdapter.getAttributeValue("enabled", aa.fEnabled);
 
     Utf8Str strTemp;
@@ -2690,8 +2707,6 @@ void MachineConfigFile::readGuestProperties(const xml::ElementNode &elmGuestProp
         pelmProp->getAttributeValue("flags", prop.strFlags);
         hw.llGuestProperties.push_back(prop);
     }
-
-    elmGuestProperties.getAttributeValue("notificationPatterns", hw.strNotificationPatterns);
 }
 
 /**
@@ -4733,6 +4748,20 @@ void MachineConfigFile::buildHardwareXML(xml::ElementNode &elmParent,
 
     pelmAudio->setAttribute("enabled", hw.audioAdapter.fEnabled);
 
+    if (m->sv >= SettingsVersion_v1_15 && hw.audioAdapter.properties.size() > 0)
+    {
+        for (StringsMap::const_iterator it = hw.audioAdapter.properties.begin();
+             it != hw.audioAdapter.properties.end();
+             ++it)
+        {
+            const Utf8Str &strName = it->first;
+            const Utf8Str &strValue = it->second;
+            xml::ElementNode *pelm = pelmAudio->createChild("Property");
+            pelm->setAttribute("name", strName);
+            pelm->setAttribute("value", strValue);
+        }
+    }
+
     xml::ElementNode *pelmSharedFolders = pelmHardware->createChild("SharedFolders");
     for (SharedFoldersList::const_iterator it = hw.llSharedFolders.begin();
          it != hw.llSharedFolders.end();
@@ -4852,9 +4881,6 @@ void MachineConfigFile::buildHardwareXML(xml::ElementNode &elmParent,
         pelmProp->setAttribute("timestamp", prop.timestamp);
         pelmProp->setAttribute("flags", prop.strFlags);
     }
-
-    if (hw.strNotificationPatterns.length())
-        pelmGuestProps->setAttribute("notificationPatterns", hw.strNotificationPatterns);
 }
 
 /**
diff --git a/src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp b/src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp
index 16d3a2e..284d88b 100644
--- a/src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp
+++ b/src/VBox/NetworkServices/NAT/VBoxNetLwipNAT.cpp
@@ -872,7 +872,7 @@ int VBoxNetLwipNAT::init()
 
     AddressToOffsetMapping tmp;
     rc = localMappings(m_net, tmp);
-    if (RT_SUCCESS(rc) && tmp.size() != 0)
+    if (RT_SUCCESS(rc) && !tmp.empty())
     {
         unsigned long i = 0;
         for (AddressToOffsetMapping::iterator it = tmp.begin();
diff --git a/src/VBox/NetworkServices/NAT/lwipopts.h b/src/VBox/NetworkServices/NAT/lwipopts.h
index 45d170c..9eeebab 100644
--- a/src/VBox/NetworkServices/NAT/lwipopts.h
+++ b/src/VBox/NetworkServices/NAT/lwipopts.h
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: lwipopts.h $ */
 /** @file
  * NAT Network - lwIP configuration options.
  */
@@ -184,9 +184,9 @@
 #define U16_F "hu"
 #define S16_F "hd"
 #define X16_F "hx"
-#define U32_F "lu"
-#define S32_F "ld"
-#define X32_F "lx"
+#define U32_F "u"
+#define S32_F "d"
+#define X32_F "x"
 
 /* Redirect libc memory alloc functions to IPRT. */
 #define malloc(x) RTMemAlloc(x)
diff --git a/src/VBox/NetworkServices/NAT/pxtcp.c b/src/VBox/NetworkServices/NAT/pxtcp.c
index 715726b..6486eaa 100644
--- a/src/VBox/NetworkServices/NAT/pxtcp.c
+++ b/src/VBox/NetworkServices/NAT/pxtcp.c
@@ -1543,6 +1543,8 @@ pxtcp_pcb_forward_outbound(struct pxtcp *pxtcp, struct pbuf *p)
     }
 
     if (forwarded > 0) {
+        DPRINTF2(("forward_outbound: pxtcp %p, pcb %p: sent %d bytes\n",
+                  (void *)pxtcp, (void *)pxtcp->pcb, (int)forwarded));
         tcp_recved(pxtcp->pcb, (u16_t)forwarded);
     }
 
@@ -1567,6 +1569,8 @@ pxtcp_pcb_forward_outbound(struct pxtcp *pxtcp, struct pbuf *p)
             pbuf_header(q, -(s16_t)qoff);
         }
         pxtcp->unsent = q;
+        DPRINTF2(("forward_outbound: pxtcp %p, pcb %p: kept %d bytes\n",
+                  (void *)pxtcp, (void *)pxtcp->pcb, (int)q->tot_len));
 
         /*
          * Have sendmsg() failed?
@@ -1579,6 +1583,9 @@ pxtcp_pcb_forward_outbound(struct pxtcp *pxtcp, struct pbuf *p)
          */
         if (sockerr != 0 && sockerr != ECONNRESET) {
             struct tcp_pcb *pcb = pxtcp->pcb;
+            DPRINTF2(("forward_outbound: pxtcp %p, pcb %p: %R[sockerr]\n",
+                      (void *)pxtcp, (void *)pcb, sockerr));
+
             pxtcp_pcb_dissociate(pxtcp);
 
             tcp_abort(pcb);
diff --git a/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp b/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp
index 95022b2..8f40cf5 100644
--- a/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp
+++ b/src/VBox/NetworkServices/NetLib/VBoxNetBaseService.cpp
@@ -472,7 +472,7 @@ void VBoxNetBaseService::shutdown(void)
             {
                 rc = RTThreadWait(m->m_hThrRecv, 60000, NULL);
                 if (RT_FAILURE(rc))
-                    LogWarningFunc(("RTThreadWait(%RTthrd) -> %Rrc\n", m->m_hThrRecv, rc));
+                    Log1WarningFunc(("RTThreadWait(%RTthrd) -> %Rrc\n", m->m_hThrRecv, rc));
             }
             else
             {
diff --git a/src/VBox/Runtime/VBox/VBoxRTImp.def b/src/VBox/Runtime/VBox/VBoxRTImp.def
index dbe246d..60afda0 100644
--- a/src/VBox/Runtime/VBox/VBoxRTImp.def
+++ b/src/VBox/Runtime/VBox/VBoxRTImp.def
@@ -609,6 +609,7 @@ EXPORTS
     RTLogCreateForR0
     RTLogDefaultInit
     RTLogDefaultInstance
+    RTLogDefaultInstanceEx
     RTLogDestinations
     RTLogDestroy
     RTLogFlags
@@ -617,6 +618,7 @@ EXPORTS
     RTLogFlushToLogger
     RTLogFormatV
     RTLogGetDefaultInstance
+    RTLogGetDefaultInstanceEx
     RTLogGetDestinations
     RTLogGetFlags
     RTLogGetGroupSettings
@@ -627,7 +629,8 @@ EXPORTS
     RTLogLoggerV
     RTLogPrintf
     RTLogPrintfV
-    RTLogRelDefaultInstance
+    RTLogRelGetDefaultInstance
+    RTLogRelGetDefaultInstanceEx
     RTLogRelLogger
     RTLogRelLoggerV
     RTLogRelPrintf
diff --git a/src/VBox/Runtime/VBox/logbackdoor-redirect.cpp b/src/VBox/Runtime/VBox/logbackdoor-redirect.cpp
index 637c400..900585b 100644
--- a/src/VBox/Runtime/VBox/logbackdoor-redirect.cpp
+++ b/src/VBox/Runtime/VBox/logbackdoor-redirect.cpp
@@ -6,7 +6,7 @@
  */
 
 /*
- * Copyright (C) 2007-2011 Oracle Corporation
+ * Copyright (C) 2007-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -26,6 +26,7 @@
  * terms and conditions of either the GPL or the CDDL or both.
  */
 
+
 /*******************************************************************************
 *   Header Files                                                               *
 *******************************************************************************/
@@ -35,7 +36,14 @@
 
 
 /* All release logging goes to the backdoor logger anyway. */
-RTDECL(PRTLOGGER) RTLogRelDefaultInstance(void)
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstance(void)
+{
+    return NULL;
+}
+
+
+/* All release logging goes to the backdoor logger anyway. */
+RTDECL(PRTLOGGER) RTLogRelGetDefaultInstanceEx(uint32_t fFlagsAndGroup)
 {
     return NULL;
 }
@@ -47,12 +55,21 @@ RTDECL(PRTLOGGER) RTLogDefaultInstance(void)
     return NULL;
 }
 
+
+/* All logging goes to the backdoor logger anyway. */
+RTDECL(PRTLOGGER) RTLogDefaultInstanceEx(uint32_t fFlagsAndGroup)
+{
+    return NULL;
+}
+
+
 /* All logging goes to the backdoor logger anyway. */
 RTDECL(PRTLOGGER) RTLogRelSetDefaultInstance(PRTLOGGER pLogger)
 {
     return NULL;
 }
 
+
 RTDECL(void) RTLogRelPrintf(const char *pszFormat, ...)
 {
     va_list va;
@@ -107,3 +124,4 @@ RTDECL(int) RTLogCreate(PRTLOGGER *ppLogger, RTUINT fFlags, const char *pszGroup
 {
     return VERR_NOT_IMPLEMENTED;
 }
+
diff --git a/src/VBox/Runtime/common/log/log.cpp b/src/VBox/Runtime/common/log/log.cpp
index 65982ad..b3c6d57 100644
--- a/src/VBox/Runtime/common/log/log.cpp
+++ b/src/VBox/Runtime/common/log/log.cpp
@@ -1787,8 +1787,8 @@ static unsigned rtlogGroupFlags(const char *psz)
         {
             { "eo",         RTLOGGRPFLAGS_ENABLED },
             { "enabledonly",RTLOGGRPFLAGS_ENABLED },
-            { "e",          RTLOGGRPFLAGS_ENABLED | RTLOGGRPFLAGS_LEVEL_1 },
-            { "enabled",    RTLOGGRPFLAGS_ENABLED | RTLOGGRPFLAGS_LEVEL_1 },
+            { "e",          RTLOGGRPFLAGS_ENABLED | RTLOGGRPFLAGS_LEVEL_1 | RTLOGGRPFLAGS_WARN },
+            { "enabled",    RTLOGGRPFLAGS_ENABLED | RTLOGGRPFLAGS_LEVEL_1 | RTLOGGRPFLAGS_WARN },
             { "l1",         RTLOGGRPFLAGS_LEVEL_1 },
             { "level1",     RTLOGGRPFLAGS_LEVEL_1 },
             { "l",          RTLOGGRPFLAGS_LEVEL_2 },
@@ -1802,26 +1802,25 @@ static unsigned rtlogGroupFlags(const char *psz)
             { "level5",     RTLOGGRPFLAGS_LEVEL_5 },
             { "l6",         RTLOGGRPFLAGS_LEVEL_6 },
             { "level6",     RTLOGGRPFLAGS_LEVEL_6 },
+            { "l7",         RTLOGGRPFLAGS_LEVEL_7 },
+            { "level7",     RTLOGGRPFLAGS_LEVEL_7 },
+            { "l8",         RTLOGGRPFLAGS_LEVEL_8 },
+            { "level8",     RTLOGGRPFLAGS_LEVEL_8 },
+            { "l9",         RTLOGGRPFLAGS_LEVEL_9 },
+            { "level9",     RTLOGGRPFLAGS_LEVEL_9 },
+            { "l10",        RTLOGGRPFLAGS_LEVEL_10 },
+            { "level10",    RTLOGGRPFLAGS_LEVEL_10 },
+            { "l11",        RTLOGGRPFLAGS_LEVEL_11 },
+            { "level11",    RTLOGGRPFLAGS_LEVEL_11 },
+            { "l12",        RTLOGGRPFLAGS_LEVEL_12 },
+            { "level12",    RTLOGGRPFLAGS_LEVEL_12 },
             { "f",          RTLOGGRPFLAGS_FLOW },
             { "flow",       RTLOGGRPFLAGS_FLOW },
+            { "w",          RTLOGGRPFLAGS_WARN },
+            { "warn",       RTLOGGRPFLAGS_WARN },
+            { "warning",    RTLOGGRPFLAGS_WARN },
             { "restrict",   RTLOGGRPFLAGS_RESTRICT },
 
-            { "lelik",      RTLOGGRPFLAGS_LELIK },
-            { "michael",    RTLOGGRPFLAGS_MICHAEL },
-            { "sunlover",   RTLOGGRPFLAGS_SUNLOVER },
-            { "achim",      RTLOGGRPFLAGS_ACHIM },
-            { "achimha",    RTLOGGRPFLAGS_ACHIM },
-            { "s",          RTLOGGRPFLAGS_SANDER },
-            { "sander",     RTLOGGRPFLAGS_SANDER },
-            { "sandervl",   RTLOGGRPFLAGS_SANDER },
-            { "klaus",      RTLOGGRPFLAGS_KLAUS },
-            { "frank",      RTLOGGRPFLAGS_FRANK },
-            { "b",          RTLOGGRPFLAGS_BIRD },
-            { "bird",       RTLOGGRPFLAGS_BIRD },
-            { "aleksey",    RTLOGGRPFLAGS_ALEKSEY },
-            { "dj",         RTLOGGRPFLAGS_DJ },
-            { "n",          RTLOGGRPFLAGS_NONAME },
-            { "noname",     RTLOGGRPFLAGS_NONAME }
         };
         unsigned    i;
         bool        fFound = false;
@@ -2575,12 +2574,9 @@ RT_EXPORT_SYMBOL(RTLogFlush);
 
 
 /**
- * Gets the default logger instance, creating it if necessary.
- *
- * @returns Pointer to default logger instance.
- * @returns NULL if no default logger instance available.
+ * Common worker for RTLogDefaultInstance and RTLogDefaultInstanceEx.
  */
-RTDECL(PRTLOGGER)   RTLogDefaultInstance(void)
+DECL_FORCE_INLINE(PRTLOGGER) rtLogDefaultInstanceCommon(void)
 {
 #ifdef IN_RC
     return &g_Logger;
@@ -2608,16 +2604,41 @@ RTDECL(PRTLOGGER)   RTLogDefaultInstance(void)
     return g_pLogger;
 #endif /* !IN_RC */
 }
+
+
+RTDECL(PRTLOGGER)   RTLogDefaultInstance(void)
+{
+    return rtLogDefaultInstanceCommon();
+}
 RT_EXPORT_SYMBOL(RTLogDefaultInstance);
 
 
+RTDECL(PRTLOGGER)   RTLogDefaultInstanceEx(uint32_t fFlagsAndGroup)
+{
+    PRTLOGGER pLogger = rtLogDefaultInstanceCommon();
+    if (pLogger)
+    {
+        if (pLogger->fFlags & RTLOGFLAGS_DISABLED)
+            pLogger = NULL;
+        else
+        {
+            uint16_t const fFlags = RT_LO_U16(fFlagsAndGroup);
+            uint16_t const iGroup = RT_HI_U16(fFlagsAndGroup);
+            if (   iGroup != UINT16_MAX
+                 && (   (pLogger->afGroups[iGroup < pLogger->cGroups ? iGroup : 0] & (fFlags | RTLOGGRPFLAGS_ENABLED))
+                     != (fFlags | RTLOGGRPFLAGS_ENABLED)))
+            pLogger = NULL;
+        }
+    }
+    return pLogger;
+}
+RT_EXPORT_SYMBOL(RTLogDefaultInstanceEx);
+
+
 /**
- * Gets the default logger instance.
- *
- * @returns Pointer to default logger instance.
- * @returns NULL if no default logger instance available.
+ * Common worker for RTLogGetDefaultInstance and RTLogGetDefaultInstanceEx.
  */
-RTDECL(PRTLOGGER)   RTLogGetDefaultInstance(void)
+DECL_FORCE_INLINE(PRTLOGGER) rtLogGetDefaultInstanceCommon(void)
 {
 #ifdef IN_RC
     return &g_Logger;
@@ -2639,9 +2660,37 @@ RTDECL(PRTLOGGER)   RTLogGetDefaultInstance(void)
     return g_pLogger;
 #endif
 }
+
+
+RTDECL(PRTLOGGER) RTLogGetDefaultInstance(void)
+{
+    return rtLogGetDefaultInstanceCommon();
+}
 RT_EXPORT_SYMBOL(RTLogGetDefaultInstance);
 
 
+RTDECL(PRTLOGGER) RTLogGetDefaultInstanceEx(uint32_t fFlagsAndGroup)
+{
+    PRTLOGGER pLogger = rtLogGetDefaultInstanceCommon();
+    if (pLogger)
+    {
+        if (pLogger->fFlags & RTLOGFLAGS_DISABLED)
+            pLogger = NULL;
+        else
+        {
+            uint16_t const fFlags = RT_LO_U16(fFlagsAndGroup);
+            uint16_t const iGroup = RT_HI_U16(fFlagsAndGroup);
+            if (   iGroup != UINT16_MAX
+                 && (   (pLogger->afGroups[iGroup < pLogger->cGroups ? iGroup : 0] & (fFlags | RTLOGGRPFLAGS_ENABLED))
+                     != (fFlags | RTLOGGRPFLAGS_ENABLED)))
+            pLogger = NULL;
+        }
+    }
+    return pLogger;
+}
+RT_EXPORT_SYMBOL(RTLogGetDefaultInstanceEx);
+
+
 #ifndef IN_RC
 /**
  * Sets the default logger instance.
@@ -3717,18 +3766,14 @@ static DECLCALLBACK(size_t) rtLogOutputPrefixed(void *pv, const char *pachChars,
                         case RTLOGGRPFLAGS_LEVEL_4:     pszGroup = "level 4" ;  cch = sizeof("level 4" ) - 1; break;
                         case RTLOGGRPFLAGS_LEVEL_5:     pszGroup = "level 5" ;  cch = sizeof("level 5" ) - 1; break;
                         case RTLOGGRPFLAGS_LEVEL_6:     pszGroup = "level 6" ;  cch = sizeof("level 6" ) - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_7:     pszGroup = "level 7" ;  cch = sizeof("level 7" ) - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_8:     pszGroup = "level 8" ;  cch = sizeof("level 8" ) - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_9:     pszGroup = "level 9" ;  cch = sizeof("level 9" ) - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_10:    pszGroup = "level 10";  cch = sizeof("level 10") - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_11:    pszGroup = "level 11";  cch = sizeof("level 11") - 1; break;
+                        case RTLOGGRPFLAGS_LEVEL_12:    pszGroup = "level 12";  cch = sizeof("level 12") - 1; break;
                         case RTLOGGRPFLAGS_FLOW:        pszGroup = "flow"    ;  cch = sizeof("flow"    ) - 1; break;
-
-                        /* personal groups */
-                        case RTLOGGRPFLAGS_LELIK:       pszGroup = "lelik"   ;  cch = sizeof("lelik"   ) - 1; break;
-                        case RTLOGGRPFLAGS_MICHAEL:     pszGroup = "Michael" ;  cch = sizeof("Michael" ) - 1; break;
-                        case RTLOGGRPFLAGS_SUNLOVER:    pszGroup = "sunlover";  cch = sizeof("sunlover") - 1; break;
-                        case RTLOGGRPFLAGS_ACHIM:       pszGroup = "Achim"   ;  cch = sizeof("Achim"   ) - 1; break;
-                        case RTLOGGRPFLAGS_SANDER:      pszGroup = "Sander"  ;  cch = sizeof("Sander"  ) - 1; break;
-                        case RTLOGGRPFLAGS_KLAUS:       pszGroup = "Klaus"   ;  cch = sizeof("Klaus"   ) - 1; break;
-                        case RTLOGGRPFLAGS_FRANK:       pszGroup = "Frank"   ;  cch = sizeof("Frank"   ) - 1; break;
-                        case RTLOGGRPFLAGS_BIRD:        pszGroup = "bird"    ;  cch = sizeof("bird"    ) - 1; break;
-                        case RTLOGGRPFLAGS_NONAME:      pszGroup = "noname"  ;  cch = sizeof("noname"  ) - 1; break;
+                        case RTLOGGRPFLAGS_WARN:        pszGroup = "warn"    ;  cch = sizeof("warn"    ) - 1; break;
                         default:                        pszGroup = "????????";  cch = sizeof("????????") - 1; break;
                     }
                     psz = rtLogStPNCpyPad(psz, pszGroup, 16, 8);
diff --git a/src/VBox/Runtime/common/log/logrel.cpp b/src/VBox/Runtime/common/log/logrel.cpp
index c72f5fa..49ca4a6 100644
--- a/src/VBox/Runtime/common/log/logrel.cpp
+++ b/src/VBox/Runtime/common/log/logrel.cpp
@@ -69,13 +69,7 @@ static PRTLOGGER                    g_pRelLogger;
 #endif /* !IN_RC */
 
 
-/**
- * Gets the default release logger instance.
- *
- * @returns Pointer to default release logger instance.
- * @returns NULL if no default release logger instance available.
- */
-RTDECL(PRTLOGGER)   RTLogRelDefaultInstance(void)
+RTDECL(PRTLOGGER)   RTLogRelGetDefaultInstance(void)
 {
 #ifdef IN_RC
     return &g_RelLogger;
@@ -83,7 +77,33 @@ RTDECL(PRTLOGGER)   RTLogRelDefaultInstance(void)
     return g_pRelLogger;
 #endif /* !IN_RC */
 }
-RT_EXPORT_SYMBOL(RTLogRelDefaultInstance);
+RT_EXPORT_SYMBOL(RTLogRelGetDefaultInstance);
+
+
+RTDECL(PRTLOGGER)   RTLogRelGetDefaultInstanceEx(uint32_t fFlagsAndGroup)
+{
+#ifdef IN_RC
+    PRTLOGGER pLogger = &g_RelLogger;
+#else /* !IN_RC */
+    PRTLOGGER pLogger = g_pRelLogger;
+#endif /* !IN_RC */
+    if (pLogger)
+    {
+        if (pLogger->fFlags & RTLOGFLAGS_DISABLED)
+            pLogger = NULL;
+        else
+        {
+            uint16_t const fFlags = RT_LO_U16(fFlagsAndGroup);
+            uint16_t const iGroup = RT_HI_U16(fFlagsAndGroup);
+            if (   iGroup != UINT16_MAX
+                 && (   (pLogger->afGroups[iGroup < pLogger->cGroups ? iGroup : 0] & (fFlags | RTLOGGRPFLAGS_ENABLED))
+                     != (fFlags | RTLOGGRPFLAGS_ENABLED)))
+            pLogger = NULL;
+        }
+    }
+    return pLogger;
+}
+RT_EXPORT_SYMBOL(RTLogRelGetDefaultInstanceEx);
 
 
 #ifndef IN_RC
@@ -122,7 +142,7 @@ RTDECL(void) RTLogRelLoggerV(PRTLOGGER pLogger, unsigned fFlags, unsigned iGroup
      */
     if (!pLogger)
     {
-        pLogger = RTLogRelDefaultInstance();
+        pLogger = RTLogRelGetDefaultInstance();
         if (!pLogger)
             return;
     }
@@ -156,7 +176,7 @@ RT_EXPORT_SYMBOL(RTLogRelPrintfV);
  */
 RTDECL(bool) RTLogRelSetBuffering(bool fBuffered)
 {
-    PRTLOGGER pLogger = RTLogRelDefaultInstance();
+    PRTLOGGER pLogger = RTLogRelGetDefaultInstance();
     if (pLogger)
         return RTLogSetBuffering(pLogger, fBuffered);
     return false;
diff --git a/src/VBox/Runtime/common/misc/assert.cpp b/src/VBox/Runtime/common/misc/assert.cpp
index 991fa0b..0802e15 100644
--- a/src/VBox/Runtime/common/misc/assert.cpp
+++ b/src/VBox/Runtime/common/misc/assert.cpp
@@ -145,7 +145,7 @@ RTDECL(void) RTAssertMsg1(const char *pszExpr, unsigned uLine, const char *pszFi
 #  endif
 # endif
 
-        PRTLOGGER pLog = RTLogRelDefaultInstance();
+        PRTLOGGER pLog = RTLogRelGetDefaultInstance();
         if (pLog)
         {
             RTLogRelPrintf("\n!!Assertion Failed!!\n"
@@ -254,7 +254,7 @@ static void rtAssertMsg2Worker(bool fInitial, const char *pszFormat, va_list va)
 #  endif
 # endif
 
-        PRTLOGGER pLog = RTLogRelDefaultInstance();
+        PRTLOGGER pLog = RTLogRelGetDefaultInstance();
         if (pLog)
         {
             va_copy(vaCopy, va);
diff --git a/src/VBox/Runtime/common/misc/getoptargv.cpp b/src/VBox/Runtime/common/misc/getoptargv.cpp
index b44b16f..e0bdafc 100644
--- a/src/VBox/Runtime/common/misc/getoptargv.cpp
+++ b/src/VBox/Runtime/common/misc/getoptargv.cpp
@@ -333,7 +333,20 @@ RTDECL(int) RTGetOptArgvFromString(char ***ppapszArgv, int *pcArgs, const char *
                 if (RT_FAILURE(rc) || !Cp)
                     break;
                 if (Cp == '"')
-                    fInQuote = !fInQuote;
+                {
+                    /* Two double quotes insides a quoted string in an escape
+                       sequence and we output one double quote char.
+                       See http://www.daviddeley.com/autohotkey/parameters/parameters.htm */
+                    if (!fInQuote)
+                        fInQuote = true;
+                    else if (*pszSrc != '"')
+                        fInQuote = false;
+                    else
+                    {
+                        pszDst = RTStrPutCp(pszDst, '"');
+                        pszSrc++;
+                    }
+                }
                 else if (!fInQuote && rtGetOptIsCpInSet(Cp, pszSeparators, cchSeparators))
                     break;
                 else if (Cp != '\\')
@@ -342,30 +355,30 @@ RTDECL(int) RTGetOptArgvFromString(char ***ppapszArgv, int *pcArgs, const char *
                 {
                     /* A backslash sequence is only relevant if followed by
                        a double quote, then it will work like an escape char. */
-                    size_t cQuotes = 1;
+                    size_t cSlashes = 1;
                     while (*pszSrc == '\\')
                     {
-                        cQuotes++;
+                        cSlashes++;
                         pszSrc++;
                     }
                     if (*pszSrc != '"')
                         /* Not an escape sequence.  */
-                        while (cQuotes-- > 0)
+                        while (cSlashes-- > 0)
                             pszDst = RTStrPutCp(pszDst, '\\');
                     else
                     {
                         /* Escape sequence.  Output half of the slashes.  If odd
                            number, output the escaped double quote . */
-                        while (cQuotes >= 2)
+                        while (cSlashes >= 2)
                         {
                             pszDst = RTStrPutCp(pszDst, '\\');
-                            cQuotes -= 2;
+                            cSlashes -= 2;
                         }
-                        if (!cQuotes)
-                            fInQuote = !fInQuote;
-                        else
+                        if (cSlashes)
+                        {
                             pszDst = RTStrPutCp(pszDst, '"');
-                        pszSrc++;
+                            pszSrc++;
+                        }
                     }
                 }
             }
diff --git a/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c
index 6b64205..68cb8c8 100644
--- a/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c
+++ b/src/VBox/Runtime/r0drv/linux/threadctxhooks-r0drv-linux.c
@@ -208,7 +208,7 @@ RTDECL(int ) RTThreadCtxHookDestroy(RTTHREADCTXHOOK hCtxHook)
     AssertMsgReturn(pThis->u32Magic == RTTHREADCTXHOOKINT_MAGIC, ("pThis->u32Magic=%RX32 pThis=%p\n", pThis->u32Magic, pThis),
                     VERR_INVALID_HANDLE);
     Assert(RTThreadPreemptIsEnabled(NIL_RTTHREAD));
-    Assert(pThis->fEnabled || pThis->hOwner == RTThreadNativeSelf());
+    Assert(!pThis->fEnabled || pThis->hOwner == RTThreadNativeSelf());
 
     /*
      * If there's still a registered thread-context hook, deregister it now before destroying the object.
diff --git a/src/VBox/Runtime/r0drv/solaris/threadctxhooks-r0drv-solaris.c b/src/VBox/Runtime/r0drv/solaris/threadctxhooks-r0drv-solaris.c
index 73c2353..9805144 100644
--- a/src/VBox/Runtime/r0drv/solaris/threadctxhooks-r0drv-solaris.c
+++ b/src/VBox/Runtime/r0drv/solaris/threadctxhooks-r0drv-solaris.c
@@ -217,7 +217,7 @@ RTDECL(int) RTThreadCtxHookDestroy(RTTHREADCTXHOOK hCtxHook)
         return VINF_SUCCESS;
     RTTHREADCTX_VALID_RETURN_RC(hCtxHook, VERR_INVALID_HANDLE);
     Assert(RTThreadPreemptIsEnabled(NIL_RTTHREAD));
-    Assert(pThis->fEnabled || pThis->hOwner == RTThreadNativeSelf());
+    Assert(!pThis->fEnabled || pThis->hOwner == RTThreadNativeSelf());
 
     /*
      * Make sure it's disabled.
diff --git a/src/VBox/Runtime/r3/init.cpp b/src/VBox/Runtime/r3/init.cpp
index 42265da..3af5cb0 100644
--- a/src/VBox/Runtime/r3/init.cpp
+++ b/src/VBox/Runtime/r3/init.cpp
@@ -167,7 +167,7 @@ static void rtR3ExitCallback(void)
         if (pLogger)
             RTLogFlush(pLogger);
 
-        pLogger = RTLogRelDefaultInstance();
+        pLogger = RTLogRelGetDefaultInstance();
         if (pLogger)
             RTLogFlush(pLogger);
     }
diff --git a/src/VBox/Runtime/r3/posix/dir-posix.cpp b/src/VBox/Runtime/r3/posix/dir-posix.cpp
index db402d9..81065bf 100644
--- a/src/VBox/Runtime/r3/posix/dir-posix.cpp
+++ b/src/VBox/Runtime/r3/posix/dir-posix.cpp
@@ -440,15 +440,15 @@ static void rtDirSetDummyInfo(PRTFSOBJINFO pInfo, RTDIRENTRYTYPE enmType)
     switch (enmType)
     {
         default:
-        case RTDIRENTRYTYPE_UNKNOWN:    pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL;
-        case RTDIRENTRYTYPE_FIFO:       pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_FIFO;
-        case RTDIRENTRYTYPE_DEV_CHAR:   pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_DEV_CHAR;
-        case RTDIRENTRYTYPE_DIRECTORY:  pInfo->Attr.fMode = RTFS_DOS_DIRECTORY | RTFS_TYPE_DIRECTORY;
-        case RTDIRENTRYTYPE_DEV_BLOCK:  pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_DEV_BLOCK;
-        case RTDIRENTRYTYPE_FILE:       pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_FILE;
-        case RTDIRENTRYTYPE_SYMLINK:    pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_SYMLINK;
-        case RTDIRENTRYTYPE_SOCKET:     pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_SOCKET;
-        case RTDIRENTRYTYPE_WHITEOUT:   pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_WHITEOUT;
+        case RTDIRENTRYTYPE_UNKNOWN:    pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL;                       break;
+        case RTDIRENTRYTYPE_FIFO:       pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_FIFO;      break;
+        case RTDIRENTRYTYPE_DEV_CHAR:   pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_DEV_CHAR;  break;
+        case RTDIRENTRYTYPE_DIRECTORY:  pInfo->Attr.fMode = RTFS_DOS_DIRECTORY | RTFS_TYPE_DIRECTORY; break;
+        case RTDIRENTRYTYPE_DEV_BLOCK:  pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_DEV_BLOCK; break;
+        case RTDIRENTRYTYPE_FILE:       pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_FILE;      break;
+        case RTDIRENTRYTYPE_SYMLINK:    pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_SYMLINK;   break;
+        case RTDIRENTRYTYPE_SOCKET:     pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_SOCKET;    break;
+        case RTDIRENTRYTYPE_WHITEOUT:   pInfo->Attr.fMode = RTFS_DOS_NT_NORMAL | RTFS_TYPE_WHITEOUT;  break;
     }
 }
 
diff --git a/src/VBox/Runtime/testcase/tstRTGetOptArgv.cpp b/src/VBox/Runtime/testcase/tstRTGetOptArgv.cpp
index 687e05a..7fed435 100644
--- a/src/VBox/Runtime/testcase/tstRTGetOptArgv.cpp
+++ b/src/VBox/Runtime/testcase/tstRTGetOptArgv.cpp
@@ -60,7 +60,7 @@ static const struct
 {
     {
         "0 1 \"\"2'' '3' 4 5 '''''6' 7 8 9 10 11",
-        "0 1 \"\"2 3 4 5 \"6\" 7 8 \"\"\"\"\"\"9\"\"\"\" 10 11",
+        "0 1 \"\"2 3 4 5 \"6\" 7 8 \"\"9\"\" 10 11",
         NULL,
         12,
         {
@@ -82,10 +82,14 @@ static const struct
         "0 1 2 3 4 5 6 7 8 9 10 11"
     },
     {
-        "\t\" asdf \"  '\"'xyz  \"\t\"  '\n'  '\"'  \"'\"\n\r ",
-        "\t\" asdf \"  \\\"xyz  \"\t\"  \"\n\"  \"\\\"\"  '\n\r ",
+        "\t\" asdf \"  '\"'xyz  \"\t\"  '\n'    '\"'    \"'\"\n\r  \\\"xyz",
+        /* Note! Two things here to make CommandLineArgW happy. First, it doesn't use IFS including newline/return, so
+                 we skip that bit of the test.  Second, it uses pre-2008 doubledouble quoting rules, unlike the CRT and IPRT
+                 which uses the post-2008 rules. We work around that by putting that test last.
+                 See http://www.daviddeley.com/autohotkey/parameters/parameters.htm */
+        "\t\" asdf \"  \\\"xyz  \"\t\"  \"\n\"  \"\\\"\"  '  \"\"\"xyz\"",
         NULL,
-        6,
+        7,
         {
             " asdf ",
             "\"xyz",
@@ -93,11 +97,12 @@ static const struct
             "\n",
             "\"",
             "\'",
-            NULL, NULL,
+            "\"xyz",
+            NULL,
             NULL, NULL, NULL, NULL,  NULL, NULL, NULL, NULL,
         },
-        "' asdf ' '\"xyz' '\t' '\n' '\"' ''\"'\"''",
-        "\" asdf \" \"\\\"xyz\" \"\t\" \"\n\" \"\\\"\" '"
+        "' asdf ' '\"xyz' '\t' '\n' '\"' ''\"'\"'' '\"xyz'",
+        "\" asdf \" \"\\\"xyz\" \"\t\" \"\n\" \"\\\"\" ' \"\\\"xyz\""
     },
     {
         ":0::1::::2:3:4:5:",
@@ -285,7 +290,8 @@ static void tst4(void)
                                   i, iArg, papszArgs1[iArg], g_aTests[i].apszArgs[iArg],
                                   g_aTests[i].pszInMsCrt, g_aTests[i].pszSeparators);
             RTTESTI_CHECK_RETV(papszArgs1[cArgs1] == NULL);
-            tstCheckNativeMsCrtToArgv(g_aTests[i].pszInMsCrt, g_aTests[i].cArgs, g_aTests[i].apszArgs);
+            if (g_aTests[i].pszSeparators == NULL)
+                tstCheckNativeMsCrtToArgv(g_aTests[i].pszInMsCrt, g_aTests[i].cArgs, g_aTests[i].apszArgs);
 
             /* Second */
             char *pszArgs2 = NULL;
@@ -310,7 +316,8 @@ static void tst4(void)
                             RTTestIFailed("g_aTests[%i]/3: argv[%i] differs: got '%s', expected '%s' (RTGetOptArgvFromString(,,'%s',))",
                                           i, iArg, papszArgs3[iArg], g_aTests[i].apszArgs[iArg], pszArgs2);
                     RTTESTI_CHECK_RETV(papszArgs3[cArgs3] == NULL);
-                    tstCheckNativeMsCrtToArgv(pszArgs2, g_aTests[i].cArgs, g_aTests[i].apszArgs);
+                    if (g_aTests[i].pszSeparators == NULL)
+                        tstCheckNativeMsCrtToArgv(pszArgs2, g_aTests[i].cArgs, g_aTests[i].apszArgs);
 
                     /*
                      * Fourth
diff --git a/src/VBox/Storage/testcase/vbox-img.cpp b/src/VBox/Storage/testcase/vbox-img.cpp
index 99892fa..5f928d2 100644
--- a/src/VBox/Storage/testcase/vbox-img.cpp
+++ b/src/VBox/Storage/testcase/vbox-img.cpp
@@ -77,7 +77,10 @@ static void printUsage(PRTSTREAM pStrm)
                  "                [--dry-run]\n"
                  "                [--format VDI|VMDK|VHD] (default: autodetect)\n"
                  "\n"
-                 "   clearcomment --filename <filename>\n",
+                 "   clearcomment --filename <filename>\n"
+                 "\n"
+                 "   resize       --filename <filename>\n"
+                 "                --size <new size>\n",
                  g_pszProgName);
 }
 
@@ -1707,6 +1710,79 @@ static int handleClearComment(HandlerArg *a)
 }
 
 
+static int handleClearResize(HandlerArg *a)
+{
+    int rc = VINF_SUCCESS;
+    PVBOXHDD pDisk = NULL;
+    const char *pszFilename = NULL;
+    uint64_t    cbNew = 0;
+    bool fDryRun = false;
+    VDGEOMETRY LCHSGeometry, PCHSGeometry;
+
+    memset(&LCHSGeometry, 0, sizeof(LCHSGeometry));
+    memset(&PCHSGeometry, 0, sizeof(PCHSGeometry));
+
+    /* Parse the command line. */
+    static const RTGETOPTDEF s_aOptions[] =
+    {
+        { "--filename", 'f', RTGETOPT_REQ_STRING },
+        { "--size",     's', RTGETOPT_REQ_UINT64 }
+    };
+    int ch;
+    RTGETOPTUNION ValueUnion;
+    RTGETOPTSTATE GetState;
+    RTGetOptInit(&GetState, a->argc, a->argv, s_aOptions, RT_ELEMENTS(s_aOptions), 0, 0 /* fFlags */);
+    while ((ch = RTGetOpt(&GetState, &ValueUnion)))
+    {
+        switch (ch)
+        {
+            case 'f':   // --filename
+                pszFilename = ValueUnion.psz;
+                break;
+
+            case 's':   // --size
+                cbNew = ValueUnion.u64;
+                break;
+
+            default:
+                ch = RTGetOptPrintError(ch, &ValueUnion);
+                printUsage(g_pStdErr);
+                return ch;
+        }
+    }
+
+    /* Check for mandatory parameters. */
+    if (!pszFilename)
+        return errorSyntax("Mandatory --filename option missing\n");
+
+    if (!cbNew)
+        return errorSyntax("Mandatory --size option missing or invalid\n");
+
+    /* just try it */
+    char *pszFormat = NULL;
+    VDTYPE enmType = VDTYPE_INVALID;
+    rc = VDGetFormat(NULL, NULL, pszFilename, &pszFormat, &enmType);
+    if (RT_FAILURE(rc))
+        return errorSyntax("Format autodetect failed: %Rrc\n", rc);
+
+    rc = VDCreate(pVDIfs, enmType, &pDisk);
+    if (RT_FAILURE(rc))
+        return errorRuntime("Error while creating the virtual disk container: %Rrc\n", rc);
+
+    /* Open the image */
+    rc = VDOpen(pDisk, pszFormat, pszFilename, VD_OPEN_FLAGS_NORMAL, NULL);
+    if (RT_FAILURE(rc))
+        return errorRuntime("Error while opening the image: %Rrc\n", rc);
+
+    rc = VDResize(pDisk, cbNew, &PCHSGeometry, &LCHSGeometry, NULL);
+    if (RT_FAILURE(rc))
+        rc = errorRuntime("Error while resizing the virtual disk: %Rrc\n", rc);
+
+    VDDestroy(pDisk);
+    return rc;
+}
+
+
 int main(int argc, char *argv[])
 {
     int exitcode = 0;
@@ -1798,7 +1874,8 @@ int main(int argc, char *argv[])
         { "createbase",   handleCreateBase   },
         { "repair",       handleRepair       },
         { "clearcomment", handleClearComment },
-        { NULL,                       NULL }
+        { "resize",       handleClearResize  },
+        { NULL,           NULL               }
     };
 
     HandlerArg handlerArg = { 0, NULL };
diff --git a/src/VBox/VMM/Makefile.kmk b/src/VBox/VMM/Makefile.kmk
index 8c5bd34..5d6f527 100644
--- a/src/VBox/VMM/Makefile.kmk
+++ b/src/VBox/VMM/Makefile.kmk
@@ -32,8 +32,8 @@ include $(PATH_SUB_CURRENT)/testcase/Makefile.kmk
 ## DEFS variable that is picked up by all three VMM targets.
 # Can be prepended to by setting it in LocalConfig.kmk
 VMM_COMMON_DEFS ?= VBOX_IN_VMM
-ifdef VBOX_WITH_FIRST_IEM_STEP
- VMM_COMMON_DEFS += VBOX_WITH_FIRST_IEM_STEP
+ifdef VBOX_WITH_2ND_IEM_STEP
+ VMM_COMMON_DEFS += VBOX_WITH_2ND_IEM_STEP
 endif
 #ifdef VBOX_WITH_IEM
 # VMM_COMMON_DEFS += VBOX_WITH_IEM
@@ -68,6 +68,9 @@ endif
 ifdef VBOX_WITH_64ON32_CMOS_DEBUG
  VMM_COMMON_DEFS += VBOX_WITH_64ON32_CMOS_DEBUG
 endif
+ifdef VBOXSTRICTRC_STRICT_ENABLED
+ VMM_COMMON_DEFS += VBOXSTRICTRC_STRICT_ENABLED
+endif
 ifeq ($(KBUILD_TARGET),amd64)
  VMM_COMMON_DEFS += VBOX_WITH_MORE_RING0_MEM_MAPPINGS
 endif
@@ -106,9 +109,6 @@ endif
 ifdef VBOX_WITH_RAW_MODE
  VBoxVMM_DEFS   += VBOX_WITH_RAW_MODE VBOX_WITH_RAW_MODE_NOT_R0
 endif
-ifdef VBOX_WITH_PDM_AUDIO_DRIVER
- VBoxVMM_DEFS   += VBOX_WITH_PDM_AUDIO_DRIVER
-endif
 ifdef VBOX_WITH_VMM_R0_SWITCH_STACK
  VBoxVMM_DEFS   += VMM_R0_SWITCH_STACK
 endif
diff --git a/src/VBox/VMM/VMMAll/CSAMAll.cpp b/src/VBox/VMM/VMMAll/CSAMAll.cpp
index d2281a1..0892ce7 100644
--- a/src/VBox/VMM/VMMAll/CSAMAll.cpp
+++ b/src/VBox/VMM/VMMAll/CSAMAll.cpp
@@ -28,6 +28,9 @@
 #include <VBox/vmm/em.h>
 #include <VBox/vmm/hm.h>
 #include <VBox/vmm/mm.h>
+#ifdef VBOX_WITH_REM
+# include <VBox/vmm/rem.h>
+#endif
 #include <VBox/sup.h>
 #include <VBox/vmm/mm.h>
 #include <VBox/param.h>
@@ -44,6 +47,128 @@
 #include <iprt/asm.h>
 #include <iprt/string.h>
 
+#ifdef IN_RING0
+# error "IN_RING3 & IN_RC only!"
+#endif
+
+
+/**
+ * Access handler callback for virtual access handler ranges.
+ *
+ * Important to realize that a physical page in a range can have aliases, and
+ * for ALL and WRITE handlers these will also trigger.
+ *
+ * @returns VINF_SUCCESS if the handler have carried out the operation.
+ * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
+ * @param   pVM             Pointer to the VM.
+ * @param   pVCpu       Pointer to the cross context CPU context for the
+ *                      calling EMT.
+ * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
+ * @param   pvPtr           The HC mapping of that address.
+ * @param   pvBuf           What the guest is reading/writing.
+ * @param   cbBuf           How much it's reading/writing.
+ * @param   enmAccessType   The access type.
+ * @param   enmOrigin       Who is making this write.
+ * @param   pvUser          User argument.
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+csamCodePageWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    RTGCPTR const GCPtrMonitored = (uintptr_t)pvUser | (GCPtr & PAGE_OFFSET_MASK);
+    Log(("csamCodePageWriteHandler: write to %RGv LB %zu\n", GCPtr, cbBuf));
+
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    Assert(VMCPU_IS_EMT(pVCpu));
+
+    /*
+     * Check if it's a dummy write that doesn't change anything.
+     */
+    if (   PAGE_ADDRESS(pvPtr) == PAGE_ADDRESS((uintptr_t)pvPtr + cbBuf - 1)
+        && !memcmp(pvPtr, pvBuf, cbBuf))
+    {
+        Log(("csamCodePageWriteHandler: dummy write -> ignore\n"));
+        return VINF_PGM_HANDLER_DO_DEFAULT;
+    }
+
+#ifdef IN_RING3
+    /*
+     * Ring-3: Do proper handling.
+     */
+    int rc = PATMR3PatchWrite(pVM, GCPtrMonitored, (uint32_t)cbBuf);
+    AssertRC(rc);
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+
+#else
+    /*
+     * Raw-mode: Try avoid needing to go to ring-3 (same as csamRCCodePageWritePfHandler).
+     */
+    uint32_t     const cpl            = CPUMGetGuestCPL(pVCpu);
+    bool         const fPatchCode     = PATMIsPatchGCAddr(pVM, CPUMGetGuestRIP(pVCpu));
+    PPATMGCSTATE       pPATMGCState   = PATMGetGCState(pVM);
+
+    Assert(pVM->csam.s.cDirtyPages < CSAM_MAX_DIRTY_PAGES);
+    Assert(pPATMGCState);
+    Assert(pPATMGCState->fPIF || fPatchCode);
+
+# ifdef VBOX_WITH_REM
+    /* Flush the recompilers translation block cache as the guest seems to be modifying instructions. */
+    /** @todo a bit overkill?? */
+    REMFlushTBs(pVM);
+# endif
+
+    /*
+     * When patch code is executing instructions that must complete, then we
+     * must *never* interrupt it.
+     */
+    if (!pPATMGCState->fPIF && fPatchCode)
+    {
+        Log(("csamRCCodePageWriteHandler: fPIF=0 -> stack fault in patch generated code at %08RX32!\n", CPUMGetGuestRIP(pVCpu)));
+        return VINF_PGM_HANDLER_DO_DEFAULT;
+    }
+
+    Log(("csamRCCodePageWriteHandler: code page write at %RGv original address %RGv (cpl=%d)\n", GCPtr, GCPtrMonitored, cpl));
+
+    /*
+     * If user code is modifying one of our monitored pages, then we can safely
+     * write to it as it's no longer being used for supervisor code.
+     */
+    if (cpl != 3)
+    {
+        VBOXSTRICTRC rcStrict = PATMRCHandleWriteToPatchPage(pVM, NULL /* pRegFrame = no interpret */,
+                                                             (RTRCPTR)GCPtrMonitored, cbBuf);
+        if (   rcStrict == VINF_PGM_HANDLER_DO_DEFAULT
+            || rcStrict == VINF_SUCCESS)
+            return rcStrict;
+        if (rcStrict == VINF_EM_RAW_EMULATE_INSTR)
+        {
+            STAM_COUNTER_INC(&pVM->csam.s.StatDangerousWrite);
+            return VINF_EM_RAW_EMULATE_INSTR;
+        }
+        Assert(rcStrict == VERR_PATCH_NOT_FOUND);
+    }
+
+    /*
+     * Schedule ring-3 activity.
+     * Note that GCPtr might be a different address in case of aliases.  So,
+     * take down both alternatives.
+     */
+    VMCPU_FF_SET(pVCpu, VMCPU_FF_CSAM_PENDING_ACTION);
+    pVM->csam.s.pvDirtyBasePage[pVM->csam.s.cDirtyPages]  = (RTRCPTR)GCPtrMonitored;
+    pVM->csam.s.pvDirtyFaultPage[pVM->csam.s.cDirtyPages] = (RTRCPTR)GCPtr;
+    if (++pVM->csam.s.cDirtyPages == CSAM_MAX_DIRTY_PAGES)
+        return VINF_CSAM_PENDING_ACTION;
+
+    /*
+     * Continue with the write. The VM_FF_CSAM_FLUSH_DIRTY_PAGE handler will reset it to readonly again.
+     */
+    Log(("csamRCCodePageWriteHandler: enabled r/w for page %RGv (%RGv)\n", GCPtr, GCPtrMonitored));
+    STAM_COUNTER_INC(&pVM->csam.s.StatCodePageModified);
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+#endif
+}
+
+
 /**
  * Check if this page needs to be analysed by CSAM
  *
diff --git a/src/VBox/VMM/VMMAll/HMAll.cpp b/src/VBox/VMM/VMMAll/HMAll.cpp
index 8410d06..10cb425 100644
--- a/src/VBox/VMM/VMMAll/HMAll.cpp
+++ b/src/VBox/VMM/VMMAll/HMAll.cpp
@@ -54,7 +54,7 @@ VMMDECL(bool) HMIsEnabledNotMacro(PVM pVM)
 
 
 /**
- * Queues a page for invalidation
+ * Queues a guest page for invalidation.
  *
  * @returns VBox status code.
  * @param   pVCpu       Pointer to the VMCPU.
@@ -79,7 +79,7 @@ static void hmQueueInvlPage(PVMCPU pVCpu, RTGCPTR GCVirt)
 
 
 /**
- * Invalidates a guest page
+ * Invalidates a guest page.
  *
  * @returns VBox status code.
  * @param   pVCpu       Pointer to the VMCPU.
@@ -214,6 +214,13 @@ static void hmPokeCpuForTlbFlush(PVMCPU pVCpu, bool fAccountFlushStat)
  */
 VMM_INT_DECL(int) HMInvalidatePageOnAllVCpus(PVM pVM, RTGCPTR GCPtr)
 {
+    /*
+     * The VT-x/AMD-V code will be flushing TLB each time a VCPU migrates to a different
+     * host CPU, see hmR0VmxFlushTaggedTlbBoth() and hmR0SvmFlushTaggedTlb().
+     *
+     * This is the reason why we do not care about thread preemption here and just
+     * execute HMInvalidatePage() assuming it might be the 'right' CPU.
+     */
     VMCPUID idCurCpu = VMMGetCpuId(pVM);
     STAM_COUNTER_INC(&pVM->aCpus[idCurCpu].hm.s.StatFlushPage);
 
@@ -289,7 +296,7 @@ VMM_INT_DECL(bool) HMIsNestedPagingActive(PVM pVM)
 /**
  * Checks if both nested paging and unhampered guest execution are enabled.
  *
- * The almost complete guest execution in harware is only applicable to VT-x.
+ * The almost complete guest execution in hardware is only applicable to VT-x.
  *
  * @returns true if we have both enabled, otherwise false.
  * @param   pVM         Pointer to the VM.
diff --git a/src/VBox/VMM/VMMAll/IEMAll.cpp b/src/VBox/VMM/VMMAll/IEMAll.cpp
index b404b3e..3034491 100644
--- a/src/VBox/VMM/VMMAll/IEMAll.cpp
+++ b/src/VBox/VMM/VMMAll/IEMAll.cpp
@@ -135,38 +135,38 @@
 #if defined(__GNUC__) && defined(RT_ARCH_X86)
 typedef VBOXSTRICTRC (__attribute__((__fastcall__)) * PFNIEMOP)(PIEMCPU pIemCpu);
 # define FNIEMOP_DEF(a_Name) \
-    static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu)
 # define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
-    static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
 # define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
-    static VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__fastcall__, __nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
 
 #elif defined(_MSC_VER) && defined(RT_ARCH_X86)
 typedef VBOXSTRICTRC (__fastcall * PFNIEMOP)(PIEMCPU pIemCpu);
 # define FNIEMOP_DEF(a_Name) \
-    static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu) RT_NO_THROW
+    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu) RT_NO_THROW
 # define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
-    static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
+    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
 # define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
-    static /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
+    IEM_STATIC /*__declspec(naked)*/ VBOXSTRICTRC __fastcall a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
 
 #elif defined(__GNUC__)
 typedef VBOXSTRICTRC (* PFNIEMOP)(PIEMCPU pIemCpu);
 # define FNIEMOP_DEF(a_Name) \
-    static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu)
 # define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
-    static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0)
 # define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
-    static VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
+    IEM_STATIC VBOXSTRICTRC __attribute__((__nothrow__)) a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1)
 
 #else
 typedef VBOXSTRICTRC (* PFNIEMOP)(PIEMCPU pIemCpu);
 # define FNIEMOP_DEF(a_Name) \
-    static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu) RT_NO_THROW
+    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu) RT_NO_THROW
 # define FNIEMOP_DEF_1(a_Name, a_Type0, a_Name0) \
-    static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
+    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0) RT_NO_THROW
 # define FNIEMOP_DEF_2(a_Name, a_Type0, a_Name0, a_Type1, a_Name1) \
-    static VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
+    IEM_STATIC VBOXSTRICTRC a_Name(PIEMCPU pIemCpu, a_Type0 a_Name0, a_Type1 a_Name1) RT_NO_THROW
 
 #endif
 
@@ -322,7 +322,7 @@ extern const PFNIEMOP g_apfnOneByteMap[256]; /* not static since we need to forw
 
 
 /** Function table for the ADD instruction. */
-static const IEMOPBINSIZES g_iemAImpl_add =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_add =
 {
     iemAImpl_add_u8,  iemAImpl_add_u8_locked,
     iemAImpl_add_u16, iemAImpl_add_u16_locked,
@@ -331,7 +331,7 @@ static const IEMOPBINSIZES g_iemAImpl_add =
 };
 
 /** Function table for the ADC instruction. */
-static const IEMOPBINSIZES g_iemAImpl_adc =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_adc =
 {
     iemAImpl_adc_u8,  iemAImpl_adc_u8_locked,
     iemAImpl_adc_u16, iemAImpl_adc_u16_locked,
@@ -340,7 +340,7 @@ static const IEMOPBINSIZES g_iemAImpl_adc =
 };
 
 /** Function table for the SUB instruction. */
-static const IEMOPBINSIZES g_iemAImpl_sub =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sub =
 {
     iemAImpl_sub_u8,  iemAImpl_sub_u8_locked,
     iemAImpl_sub_u16, iemAImpl_sub_u16_locked,
@@ -349,7 +349,7 @@ static const IEMOPBINSIZES g_iemAImpl_sub =
 };
 
 /** Function table for the SBB instruction. */
-static const IEMOPBINSIZES g_iemAImpl_sbb =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_sbb =
 {
     iemAImpl_sbb_u8,  iemAImpl_sbb_u8_locked,
     iemAImpl_sbb_u16, iemAImpl_sbb_u16_locked,
@@ -358,7 +358,7 @@ static const IEMOPBINSIZES g_iemAImpl_sbb =
 };
 
 /** Function table for the OR instruction. */
-static const IEMOPBINSIZES g_iemAImpl_or =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_or =
 {
     iemAImpl_or_u8,  iemAImpl_or_u8_locked,
     iemAImpl_or_u16, iemAImpl_or_u16_locked,
@@ -367,7 +367,7 @@ static const IEMOPBINSIZES g_iemAImpl_or =
 };
 
 /** Function table for the XOR instruction. */
-static const IEMOPBINSIZES g_iemAImpl_xor =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_xor =
 {
     iemAImpl_xor_u8,  iemAImpl_xor_u8_locked,
     iemAImpl_xor_u16, iemAImpl_xor_u16_locked,
@@ -376,7 +376,7 @@ static const IEMOPBINSIZES g_iemAImpl_xor =
 };
 
 /** Function table for the AND instruction. */
-static const IEMOPBINSIZES g_iemAImpl_and =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_and =
 {
     iemAImpl_and_u8,  iemAImpl_and_u8_locked,
     iemAImpl_and_u16, iemAImpl_and_u16_locked,
@@ -387,7 +387,7 @@ static const IEMOPBINSIZES g_iemAImpl_and =
 /** Function table for the CMP instruction.
  * @remarks Making operand order ASSUMPTIONS.
  */
-static const IEMOPBINSIZES g_iemAImpl_cmp =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_cmp =
 {
     iemAImpl_cmp_u8,  NULL,
     iemAImpl_cmp_u16, NULL,
@@ -398,7 +398,7 @@ static const IEMOPBINSIZES g_iemAImpl_cmp =
 /** Function table for the TEST instruction.
  * @remarks Making operand order ASSUMPTIONS.
  */
-static const IEMOPBINSIZES g_iemAImpl_test =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_test =
 {
     iemAImpl_test_u8,  NULL,
     iemAImpl_test_u16, NULL,
@@ -407,7 +407,7 @@ static const IEMOPBINSIZES g_iemAImpl_test =
 };
 
 /** Function table for the BT instruction. */
-static const IEMOPBINSIZES g_iemAImpl_bt =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bt =
 {
     NULL,  NULL,
     iemAImpl_bt_u16, NULL,
@@ -416,7 +416,7 @@ static const IEMOPBINSIZES g_iemAImpl_bt =
 };
 
 /** Function table for the BTC instruction. */
-static const IEMOPBINSIZES g_iemAImpl_btc =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btc =
 {
     NULL,  NULL,
     iemAImpl_btc_u16, iemAImpl_btc_u16_locked,
@@ -425,7 +425,7 @@ static const IEMOPBINSIZES g_iemAImpl_btc =
 };
 
 /** Function table for the BTR instruction. */
-static const IEMOPBINSIZES g_iemAImpl_btr =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_btr =
 {
     NULL,  NULL,
     iemAImpl_btr_u16, iemAImpl_btr_u16_locked,
@@ -434,7 +434,7 @@ static const IEMOPBINSIZES g_iemAImpl_btr =
 };
 
 /** Function table for the BTS instruction. */
-static const IEMOPBINSIZES g_iemAImpl_bts =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bts =
 {
     NULL,  NULL,
     iemAImpl_bts_u16, iemAImpl_bts_u16_locked,
@@ -443,7 +443,7 @@ static const IEMOPBINSIZES g_iemAImpl_bts =
 };
 
 /** Function table for the BSF instruction. */
-static const IEMOPBINSIZES g_iemAImpl_bsf =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bsf =
 {
     NULL,  NULL,
     iemAImpl_bsf_u16, NULL,
@@ -452,7 +452,7 @@ static const IEMOPBINSIZES g_iemAImpl_bsf =
 };
 
 /** Function table for the BSR instruction. */
-static const IEMOPBINSIZES g_iemAImpl_bsr =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_bsr =
 {
     NULL,  NULL,
     iemAImpl_bsr_u16, NULL,
@@ -461,7 +461,7 @@ static const IEMOPBINSIZES g_iemAImpl_bsr =
 };
 
 /** Function table for the IMUL instruction. */
-static const IEMOPBINSIZES g_iemAImpl_imul_two =
+IEM_STATIC const IEMOPBINSIZES g_iemAImpl_imul_two =
 {
     NULL,  NULL,
     iemAImpl_imul_two_u16, NULL,
@@ -470,7 +470,7 @@ static const IEMOPBINSIZES g_iemAImpl_imul_two =
 };
 
 /** Group 1 /r lookup table. */
-static const PCIEMOPBINSIZES g_apIemImplGrp1[8] =
+IEM_STATIC const PCIEMOPBINSIZES g_apIemImplGrp1[8] =
 {
     &g_iemAImpl_add,
     &g_iemAImpl_or,
@@ -483,7 +483,7 @@ static const PCIEMOPBINSIZES g_apIemImplGrp1[8] =
 };
 
 /** Function table for the INC instruction. */
-static const IEMOPUNARYSIZES g_iemAImpl_inc =
+IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_inc =
 {
     iemAImpl_inc_u8,  iemAImpl_inc_u8_locked,
     iemAImpl_inc_u16, iemAImpl_inc_u16_locked,
@@ -492,7 +492,7 @@ static const IEMOPUNARYSIZES g_iemAImpl_inc =
 };
 
 /** Function table for the DEC instruction. */
-static const IEMOPUNARYSIZES g_iemAImpl_dec =
+IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_dec =
 {
     iemAImpl_dec_u8,  iemAImpl_dec_u8_locked,
     iemAImpl_dec_u16, iemAImpl_dec_u16_locked,
@@ -501,7 +501,7 @@ static const IEMOPUNARYSIZES g_iemAImpl_dec =
 };
 
 /** Function table for the NEG instruction. */
-static const IEMOPUNARYSIZES g_iemAImpl_neg =
+IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_neg =
 {
     iemAImpl_neg_u8,  iemAImpl_neg_u8_locked,
     iemAImpl_neg_u16, iemAImpl_neg_u16_locked,
@@ -510,7 +510,7 @@ static const IEMOPUNARYSIZES g_iemAImpl_neg =
 };
 
 /** Function table for the NOT instruction. */
-static const IEMOPUNARYSIZES g_iemAImpl_not =
+IEM_STATIC const IEMOPUNARYSIZES g_iemAImpl_not =
 {
     iemAImpl_not_u8,  iemAImpl_not_u8_locked,
     iemAImpl_not_u16, iemAImpl_not_u16_locked,
@@ -520,7 +520,7 @@ static const IEMOPUNARYSIZES g_iemAImpl_not =
 
 
 /** Function table for the ROL instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_rol =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rol =
 {
     iemAImpl_rol_u8,
     iemAImpl_rol_u16,
@@ -529,7 +529,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_rol =
 };
 
 /** Function table for the ROR instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_ror =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_ror =
 {
     iemAImpl_ror_u8,
     iemAImpl_ror_u16,
@@ -538,7 +538,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_ror =
 };
 
 /** Function table for the RCL instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_rcl =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rcl =
 {
     iemAImpl_rcl_u8,
     iemAImpl_rcl_u16,
@@ -547,7 +547,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_rcl =
 };
 
 /** Function table for the RCR instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_rcr =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_rcr =
 {
     iemAImpl_rcr_u8,
     iemAImpl_rcr_u16,
@@ -556,7 +556,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_rcr =
 };
 
 /** Function table for the SHL instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_shl =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_shl =
 {
     iemAImpl_shl_u8,
     iemAImpl_shl_u16,
@@ -565,7 +565,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_shl =
 };
 
 /** Function table for the SHR instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_shr =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_shr =
 {
     iemAImpl_shr_u8,
     iemAImpl_shr_u16,
@@ -574,7 +574,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_shr =
 };
 
 /** Function table for the SAR instruction. */
-static const IEMOPSHIFTSIZES g_iemAImpl_sar =
+IEM_STATIC const IEMOPSHIFTSIZES g_iemAImpl_sar =
 {
     iemAImpl_sar_u8,
     iemAImpl_sar_u16,
@@ -584,7 +584,7 @@ static const IEMOPSHIFTSIZES g_iemAImpl_sar =
 
 
 /** Function table for the MUL instruction. */
-static const IEMOPMULDIVSIZES g_iemAImpl_mul =
+IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_mul =
 {
     iemAImpl_mul_u8,
     iemAImpl_mul_u16,
@@ -593,7 +593,7 @@ static const IEMOPMULDIVSIZES g_iemAImpl_mul =
 };
 
 /** Function table for the IMUL instruction working implicitly on rAX. */
-static const IEMOPMULDIVSIZES g_iemAImpl_imul =
+IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_imul =
 {
     iemAImpl_imul_u8,
     iemAImpl_imul_u16,
@@ -602,7 +602,7 @@ static const IEMOPMULDIVSIZES g_iemAImpl_imul =
 };
 
 /** Function table for the DIV instruction. */
-static const IEMOPMULDIVSIZES g_iemAImpl_div =
+IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_div =
 {
     iemAImpl_div_u8,
     iemAImpl_div_u16,
@@ -611,7 +611,7 @@ static const IEMOPMULDIVSIZES g_iemAImpl_div =
 };
 
 /** Function table for the MUL instruction. */
-static const IEMOPMULDIVSIZES g_iemAImpl_idiv =
+IEM_STATIC const IEMOPMULDIVSIZES g_iemAImpl_idiv =
 {
     iemAImpl_idiv_u8,
     iemAImpl_idiv_u16,
@@ -620,7 +620,7 @@ static const IEMOPMULDIVSIZES g_iemAImpl_idiv =
 };
 
 /** Function table for the SHLD instruction */
-static const IEMOPSHIFTDBLSIZES g_iemAImpl_shld =
+IEM_STATIC const IEMOPSHIFTDBLSIZES g_iemAImpl_shld =
 {
     iemAImpl_shld_u16,
     iemAImpl_shld_u32,
@@ -628,7 +628,7 @@ static const IEMOPSHIFTDBLSIZES g_iemAImpl_shld =
 };
 
 /** Function table for the SHRD instruction */
-static const IEMOPSHIFTDBLSIZES g_iemAImpl_shrd =
+IEM_STATIC const IEMOPSHIFTDBLSIZES g_iemAImpl_shrd =
 {
     iemAImpl_shrd_u16,
     iemAImpl_shrd_u32,
@@ -637,31 +637,31 @@ static const IEMOPSHIFTDBLSIZES g_iemAImpl_shrd =
 
 
 /** Function table for the PUNPCKLBW instruction */
-static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklbw  = { iemAImpl_punpcklbw_u64,  iemAImpl_punpcklbw_u128 };
+IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklbw  = { iemAImpl_punpcklbw_u64,  iemAImpl_punpcklbw_u128 };
 /** Function table for the PUNPCKLBD instruction */
-static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklwd  = { iemAImpl_punpcklwd_u64,  iemAImpl_punpcklwd_u128 };
+IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklwd  = { iemAImpl_punpcklwd_u64,  iemAImpl_punpcklwd_u128 };
 /** Function table for the PUNPCKLDQ instruction */
-static const IEMOPMEDIAF1L1 g_iemAImpl_punpckldq  = { iemAImpl_punpckldq_u64,  iemAImpl_punpckldq_u128 };
+IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpckldq  = { iemAImpl_punpckldq_u64,  iemAImpl_punpckldq_u128 };
 /** Function table for the PUNPCKLQDQ instruction */
-static const IEMOPMEDIAF1L1 g_iemAImpl_punpcklqdq = { NULL, iemAImpl_punpcklqdq_u128 };
+IEM_STATIC const IEMOPMEDIAF1L1 g_iemAImpl_punpcklqdq = { NULL, iemAImpl_punpcklqdq_u128 };
 
 /** Function table for the PUNPCKHBW instruction */
-static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhbw  = { iemAImpl_punpckhbw_u64,  iemAImpl_punpckhbw_u128 };
+IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhbw  = { iemAImpl_punpckhbw_u64,  iemAImpl_punpckhbw_u128 };
 /** Function table for the PUNPCKHBD instruction */
-static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhwd  = { iemAImpl_punpckhwd_u64,  iemAImpl_punpckhwd_u128 };
+IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhwd  = { iemAImpl_punpckhwd_u64,  iemAImpl_punpckhwd_u128 };
 /** Function table for the PUNPCKHDQ instruction */
-static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhdq  = { iemAImpl_punpckhdq_u64,  iemAImpl_punpckhdq_u128 };
+IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhdq  = { iemAImpl_punpckhdq_u64,  iemAImpl_punpckhdq_u128 };
 /** Function table for the PUNPCKHQDQ instruction */
-static const IEMOPMEDIAF1H1 g_iemAImpl_punpckhqdq = { NULL, iemAImpl_punpckhqdq_u128 };
+IEM_STATIC const IEMOPMEDIAF1H1 g_iemAImpl_punpckhqdq = { NULL, iemAImpl_punpckhqdq_u128 };
 
 /** Function table for the PXOR instruction */
-static const IEMOPMEDIAF2 g_iemAImpl_pxor         = { iemAImpl_pxor_u64,       iemAImpl_pxor_u128 };
+IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pxor         = { iemAImpl_pxor_u64,       iemAImpl_pxor_u128 };
 /** Function table for the PCMPEQB instruction */
-static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqb      = { iemAImpl_pcmpeqb_u64,    iemAImpl_pcmpeqb_u128 };
+IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqb      = { iemAImpl_pcmpeqb_u64,    iemAImpl_pcmpeqb_u128 };
 /** Function table for the PCMPEQW instruction */
-static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqw      = { iemAImpl_pcmpeqw_u64,    iemAImpl_pcmpeqw_u128 };
+IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqw      = { iemAImpl_pcmpeqw_u64,    iemAImpl_pcmpeqw_u128 };
 /** Function table for the PCMPEQD instruction */
-static const IEMOPMEDIAF2 g_iemAImpl_pcmpeqd      = { iemAImpl_pcmpeqd_u64,    iemAImpl_pcmpeqd_u128 };
+IEM_STATIC const IEMOPMEDIAF2 g_iemAImpl_pcmpeqd      = { iemAImpl_pcmpeqd_u64,    iemAImpl_pcmpeqd_u128 };
 
 
 #if defined(IEM_VERIFICATION_MODE_MINIMAL) || defined(IEM_LOG_MEMORY_WRITES)
@@ -675,45 +675,45 @@ size_t g_cbIemWrote;
 /*******************************************************************************
 *   Internal Functions                                                         *
 *******************************************************************************/
-static VBOXSTRICTRC     iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr);
-static VBOXSTRICTRC     iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu);
-static VBOXSTRICTRC     iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu);
-static VBOXSTRICTRC     iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel);
-/*static VBOXSTRICTRC     iemRaiseSelectorNotPresent(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);*/
-static VBOXSTRICTRC     iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
-static VBOXSTRICTRC     iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
-static VBOXSTRICTRC     iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
-static VBOXSTRICTRC     iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
-static VBOXSTRICTRC     iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr);
-static VBOXSTRICTRC     iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu);
-static VBOXSTRICTRC     iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL uSel);
-static VBOXSTRICTRC     iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
-static VBOXSTRICTRC     iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel);
-static VBOXSTRICTRC     iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
-static VBOXSTRICTRC     iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc);
-static VBOXSTRICTRC     iemRaiseAlignmentCheckException(PIEMCPU pIemCpu);
-static VBOXSTRICTRC     iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess);
-static VBOXSTRICTRC     iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess);
-static VBOXSTRICTRC     iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchSysU8(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchSysU16(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
-static VBOXSTRICTRC     iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode);
-static VBOXSTRICTRC     iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt);
-static VBOXSTRICTRC     iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp);
-static VBOXSTRICTRC     iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp);
-static VBOXSTRICTRC     iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value);
-static VBOXSTRICTRC     iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value);
-static VBOXSTRICTRC     iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel);
-static uint16_t         iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg);
+IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr);
+IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu);
+IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu);
+IEM_STATIC VBOXSTRICTRC     iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel);
+/*IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresent(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);*/
+IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
+IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
+IEM_STATIC VBOXSTRICTRC     iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel);
+IEM_STATIC VBOXSTRICTRC     iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr);
+IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr);
+IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu);
+IEM_STATIC VBOXSTRICTRC     iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL uSel);
+IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
+IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel);
+IEM_STATIC VBOXSTRICTRC     iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess);
+IEM_STATIC VBOXSTRICTRC     iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc);
+IEM_STATIC VBOXSTRICTRC     iemRaiseAlignmentCheckException(PIEMCPU pIemCpu);
+IEM_STATIC VBOXSTRICTRC     iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess);
+IEM_STATIC VBOXSTRICTRC     iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU8(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU16(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode);
+IEM_STATIC VBOXSTRICTRC     iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt);
+IEM_STATIC VBOXSTRICTRC     iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp);
+IEM_STATIC VBOXSTRICTRC     iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp);
+IEM_STATIC VBOXSTRICTRC     iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value);
+IEM_STATIC VBOXSTRICTRC     iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value);
+IEM_STATIC VBOXSTRICTRC     iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel);
+IEM_STATIC uint16_t         iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg);
 
 #if defined(IEM_VERIFICATION_MODE_FULL) && !defined(IEM_VERIFICATION_MODE_MINIMAL)
-static PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu);
+IEM_STATIC PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu);
 #endif
-static VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue);
-static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue);
+IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue);
+IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue);
 
 
 
@@ -725,7 +725,7 @@ static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port,
  * @param   rcPassUp            The pass up status.  Must be informational.
  *                              VINF_SUCCESS is not allowed.
  */
-static int iemSetPassUpStatus(PIEMCPU pIemCpu, VBOXSTRICTRC rcPassUp)
+IEM_STATIC int iemSetPassUpStatus(PIEMCPU pIemCpu, VBOXSTRICTRC rcPassUp)
 {
     AssertRC(VBOXSTRICTRC_VAL(rcPassUp)); Assert(rcPassUp != VINF_SUCCESS);
 
@@ -910,7 +910,7 @@ DECLINLINE(void) iemInitDecoder(PIEMCPU pIemCpu, bool fBypassHandlers)
  * @param   pIemCpu             The IEM state.
  * @param   fBypassHandlers     Whether to bypass access handlers.
  */
-static VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypassHandlers)
+IEM_STATIC VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypassHandlers)
 {
 #ifdef IEM_VERIFICATION_MODE_FULL
     uint8_t const cbOldOpcodes = pIemCpu->cbOpcode;
@@ -1026,15 +1026,36 @@ static VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypa
             cbToTryRead = sizeof(pIemCpu->abOpcode);
 
         if (!pIemCpu->fBypassHandlers)
-            rc = PGMPhysRead(pVM, GCPhys, pIemCpu->abOpcode, cbToTryRead, PGMACCESSORIGIN_IEM);
+        {
+            VBOXSTRICTRC rcStrict = PGMPhysRead(pVM, GCPhys, pIemCpu->abOpcode, cbToTryRead, PGMACCESSORIGIN_IEM);
+            if (RT_LIKELY(rcStrict == VINF_SUCCESS))
+            { /* likely */ }
+            else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+            {
+                Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read status -  rcStrict=%Rrc\n",
+                     GCPtrPC, GCPhys, VBOXSTRICTRC_VAL(rcStrict), cbToTryRead));
+                rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+            }
+            else
+            {
+                Log((RT_SUCCESS(rcStrict)
+                     ? "iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read status - rcStrict=%Rrc\n"
+                     : "iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rcStrict=%Rrc (!!)\n",
+                     GCPtrPC, GCPhys, VBOXSTRICTRC_VAL(rcStrict), cbToTryRead));
+                return rcStrict;
+            }
+        }
         else
-            rc = PGMPhysSimpleReadGCPhys(pVM, pIemCpu->abOpcode, GCPhys, cbToTryRead);
-        if (rc != VINF_SUCCESS)
         {
-            /** @todo status code handling */
-            Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rc=%Rrc (!!)\n",
-                 GCPtrPC, GCPhys, rc, cbToTryRead));
-            return rc;
+            rc = PGMPhysSimpleReadGCPhys(pVM, pIemCpu->abOpcode, GCPhys, cbToTryRead);
+            if (RT_SUCCESS(rc))
+            { /* likely */ }
+            else
+            {
+                Log(("iemInitDecoderAndPrefetchOpcodes: %RGv/%RGp LB %#x - read error - rc=%Rrc (!!)\n",
+                     GCPtrPC, GCPhys, rc, cbToTryRead));
+                return rc;
+            }
         }
         pIemCpu->cbOpcode = cbToTryRead;
     }
@@ -1052,7 +1073,7 @@ static VBOXSTRICTRC iemInitDecoderAndPrefetchOpcodes(PIEMCPU pIemCpu, bool fBypa
  * @param   cbMin               The minimum number of bytes relative offOpcode
  *                              that must be read.
  */
-static VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
+IEM_STATIC VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
 {
     /*
      * What we're doing here is very similar to iemMemMap/iemMemBounceBufferMap.
@@ -1144,14 +1165,36 @@ static VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
      * should be no need to check again here.
      */
     if (!pIemCpu->fBypassHandlers)
-        rc = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhys, &pIemCpu->abOpcode[pIemCpu->cbOpcode], cbToTryRead, PGMACCESSORIGIN_IEM);
+    {
+        VBOXSTRICTRC rcStrict = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhys, &pIemCpu->abOpcode[pIemCpu->cbOpcode],
+                                            cbToTryRead, PGMACCESSORIGIN_IEM);
+        if (RT_LIKELY(rcStrict == VINF_SUCCESS))
+        { /* likely */ }
+        else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+        {
+            Log(("iemOpcodeFetchMoreBytes: %RGv/%RGp LB %#x - read status -  rcStrict=%Rrc\n",
+                 GCPtrNext, GCPhys, VBOXSTRICTRC_VAL(rcStrict), cbToTryRead));
+            rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+        }
+        else
+        {
+            Log((RT_SUCCESS(rcStrict)
+                 ? "iemOpcodeFetchMoreBytes: %RGv/%RGp LB %#x - read status - rcStrict=%Rrc\n"
+                 : "iemOpcodeFetchMoreBytes: %RGv/%RGp LB %#x - read error - rcStrict=%Rrc (!!)\n",
+                 GCPtrNext, GCPhys, VBOXSTRICTRC_VAL(rcStrict), cbToTryRead));
+            return rcStrict;
+        }
+    }
     else
-        rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), &pIemCpu->abOpcode[pIemCpu->cbOpcode], GCPhys, cbToTryRead);
-    if (rc != VINF_SUCCESS)
     {
-        /** @todo status code handling */
-        Log(("iemOpcodeFetchMoreBytes: %RGv - read error - rc=%Rrc (!!)\n", GCPtrNext, rc));
-        return rc;
+        rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), &pIemCpu->abOpcode[pIemCpu->cbOpcode], GCPhys, cbToTryRead);
+        if (RT_SUCCESS(rc))
+        { /* likely */ }
+        else
+        {
+            Log(("iemOpcodeFetchMoreBytes: %RGv - read error - rc=%Rrc (!!)\n", GCPtrNext, rc));
+            return rc;
+        }
     }
     pIemCpu->cbOpcode += cbToTryRead;
     Log5(("%.*Rhxs\n", pIemCpu->cbOpcode, pIemCpu->abOpcode));
@@ -1167,7 +1210,7 @@ static VBOXSTRICTRC iemOpcodeFetchMoreBytes(PIEMCPU pIemCpu, size_t cbMin)
  * @param   pIemCpu             The IEM state.
  * @param   pb                  Where to return the opcode byte.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU8Slow(PIEMCPU pIemCpu, uint8_t *pb)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU8Slow(PIEMCPU pIemCpu, uint8_t *pb)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 1);
     if (rcStrict == VINF_SUCCESS)
@@ -1253,7 +1296,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS8(PIEMCPU pIemCpu, int8_t *pi8)
  * @param   pIemCpu             The IEM state.
  * @param   pu16                Where to return the opcode dword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
 {
     uint8_t      u8;
     VBOXSTRICTRC rcStrict = iemOpcodeGetNextU8Slow(pIemCpu, &u8);
@@ -1306,7 +1349,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS8SxU16(PIEMCPU pIemCpu, uint16_t *pu16
  * @param   pIemCpu             The IEM state.
  * @param   pu32                Where to return the opcode dword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
 {
     uint8_t      u8;
     VBOXSTRICTRC rcStrict = iemOpcodeGetNextU8Slow(pIemCpu, &u8);
@@ -1359,7 +1402,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS8SxU32(PIEMCPU pIemCpu, uint32_t *pu32
  * @param   pIemCpu             The IEM state.
  * @param   pu64                Where to return the opcode qword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS8SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS8SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
 {
     uint8_t      u8;
     VBOXSTRICTRC rcStrict = iemOpcodeGetNextU8Slow(pIemCpu, &u8);
@@ -1412,7 +1455,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS8SxU64(PIEMCPU pIemCpu, uint64_t *pu64
  * @param   pIemCpu             The IEM state.
  * @param   pu16                Where to return the opcode word.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16Slow(PIEMCPU pIemCpu, uint16_t *pu16)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     if (rcStrict == VINF_SUCCESS)
@@ -1468,7 +1511,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextU16(PIEMCPU pIemCpu, uint16_t *pu16)
  * @param   pIemCpu             The IEM state.
  * @param   pu32                Where to return the opcode double word.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     if (rcStrict == VINF_SUCCESS)
@@ -1525,7 +1568,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextU16ZxU32(PIEMCPU pIemCpu, uint32_t *pu3
  * @param   pIemCpu             The IEM state.
  * @param   pu64                Where to return the opcode quad word.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU16ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 2);
     if (rcStrict == VINF_SUCCESS)
@@ -1611,7 +1654,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS16(PIEMCPU pIemCpu, int16_t *pi16)
  * @param   pIemCpu             The IEM state.
  * @param   pu32                Where to return the opcode dword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU32Slow(PIEMCPU pIemCpu, uint32_t *pu32)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     if (rcStrict == VINF_SUCCESS)
@@ -1673,7 +1716,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextU32(PIEMCPU pIemCpu, uint32_t *pu32)
  * @param   pIemCpu             The IEM state.
  * @param   pu32                Where to return the opcode dword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU32ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU32ZxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     if (rcStrict == VINF_SUCCESS)
@@ -1764,7 +1807,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS32(PIEMCPU pIemCpu, int32_t *pi32)
  * @param   pIemCpu             The IEM state.
  * @param   pu64                Where to return the opcode qword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextS32SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextS32SxU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 4);
     if (rcStrict == VINF_SUCCESS)
@@ -1828,7 +1871,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextS32SxU64(PIEMCPU pIemCpu, uint64_t *pu6
  * @param   pIemCpu             The IEM state.
  * @param   pu64                Where to return the opcode qword.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemOpcodeGetNextU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemOpcodeGetNextU64Slow(PIEMCPU pIemCpu, uint64_t *pu64)
 {
     VBOXSTRICTRC rcStrict = iemOpcodeFetchMoreBytes(pIemCpu, 8);
     if (rcStrict == VINF_SUCCESS)
@@ -1906,7 +1949,7 @@ DECLINLINE(VBOXSTRICTRC) iemOpcodeGetNextU64(PIEMCPU pIemCpu, uint64_t *pu64)
  * @param   uCpl            The CPL to load the stack for.
  * @param   pDesc           Where to return the descriptor.
  */
-static VBOXSTRICTRC iemMiscValidateNewSS(PIEMCPU pIemCpu, PCCPUMCTX pCtx, RTSEL NewSS, uint8_t uCpl, PIEMSELDESC pDesc)
+IEM_STATIC VBOXSTRICTRC iemMiscValidateNewSS(PIEMCPU pIemCpu, PCCPUMCTX pCtx, RTSEL NewSS, uint8_t uCpl, PIEMSELDESC pDesc)
 {
     NOREF(pCtx);
 
@@ -2041,8 +2084,8 @@ static VBOXSTRICTRC iemMiscValidateNewSS(PIEMCPU pIemCpu, PCCPUMCTX pCtx, RTSEL
  * @param   pSelSS          Where to return the new stack segment.
  * @param   puEsp           Where to return the new stack pointer.
  */
-static VBOXSTRICTRC iemRaiseLoadStackFromTss32Or16(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl,
-                                                   PRTSEL pSelSS, uint32_t *puEsp)
+IEM_STATIC VBOXSTRICTRC iemRaiseLoadStackFromTss32Or16(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl,
+                                                       PRTSEL pSelSS, uint32_t *puEsp)
 {
     VBOXSTRICTRC rcStrict;
     Assert(uCpl < 4);
@@ -2116,8 +2159,7 @@ static VBOXSTRICTRC iemRaiseLoadStackFromTss32Or16(PIEMCPU pIemCpu, PCCPUMCTX pC
  * @param   uIst            The interrupt stack table index, 0 if to use uCpl.
  * @param   puRsp           Where to return the new stack pointer.
  */
-static VBOXSTRICTRC iemRaiseLoadStackFromTss64(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl, uint8_t uIst,
-                                               uint64_t *puRsp)
+IEM_STATIC VBOXSTRICTRC iemRaiseLoadStackFromTss64(PIEMCPU pIemCpu, PCCPUMCTX pCtx, uint8_t uCpl, uint8_t uIst, uint64_t *puRsp)
 {
     Assert(uCpl < 4);
     Assert(uIst < 8);
@@ -2171,7 +2213,7 @@ DECLINLINE(void) iemRaiseXcptAdjustState(PCPUMCTX pCtx, uint8_t u8Vector)
  * @param   uErr            The error value if IEM_XCPT_FLAGS_ERR is set.
  * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
  */
-static VBOXSTRICTRC
+IEM_STATIC VBOXSTRICTRC
 iemRaiseXcptOrIntInRealMode(PIEMCPU     pIemCpu,
                             PCPUMCTX    pCtx,
                             uint8_t     cbInstr,
@@ -2241,7 +2283,7 @@ iemRaiseXcptOrIntInRealMode(PIEMCPU     pIemCpu,
  * @param   pIemCpu         The IEM per CPU instance data.
  * @param   pSReg           Pointer to the segment register.
  */
-static void iemHlpLoadNullDataSelectorOnV86Xcpt(PIEMCPU pIemCpu, PCPUMSELREG pSReg)
+IEM_STATIC void iemHlpLoadNullDataSelectorOnV86Xcpt(PIEMCPU pIemCpu, PCPUMSELREG pSReg)
 {
     pSReg->Sel      = 0;
     pSReg->ValidSel = 0;
@@ -2268,7 +2310,7 @@ static void iemHlpLoadNullDataSelectorOnV86Xcpt(PIEMCPU pIemCpu, PCPUMSELREG pSR
  * @param   pSReg           Pointer to the segment register.
  * @param   uSel            The selector value to load.
  */
-static void iemHlpLoadSelectorInV86Mode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
+IEM_STATIC void iemHlpLoadSelectorInV86Mode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
 {
     /* See Intel spec. 26.3.1.2 "Checks on Guest Segment Registers". */
     pSReg->Sel      = uSel;
@@ -2288,7 +2330,7 @@ static void iemHlpLoadSelectorInV86Mode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint
  * @param   pSReg               Pointer to the segment register.
  * @param   uRpl                The RPL.
  */
-static void iemHlpLoadNullDataSelectorProt(PIEMCPU pIemCpu, PCPUMSELREG pSReg, RTSEL uRpl)
+IEM_STATIC void iemHlpLoadNullDataSelectorProt(PIEMCPU pIemCpu, PCPUMSELREG pSReg, RTSEL uRpl)
 {
     /** @todo Testcase: write a testcase checking what happends when loading a NULL
      *        data selector in protected mode. */
@@ -2323,7 +2365,7 @@ static void iemHlpLoadNullDataSelectorProt(PIEMCPU pIemCpu, PCPUMSELREG pSReg, R
  * @remarks This does -NOT- handle CS or SS.
  * @remarks This expects pIemCpu->uCpl to be up to date.
  */
-static VBOXSTRICTRC iemHlpTaskSwitchLoadDataSelectorInProtMode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
+IEM_STATIC VBOXSTRICTRC iemHlpTaskSwitchLoadDataSelectorInProtMode(PIEMCPU pIemCpu, PCPUMSELREG pSReg, uint16_t uSel)
 {
     Assert(pIemCpu->enmCpuMode != IEMMODE_64BIT);
 
@@ -2431,15 +2473,16 @@ static VBOXSTRICTRC iemHlpTaskSwitchLoadDataSelectorInProtMode(PIEMCPU pIemCpu,
  * @param   SelTSS          The TSS selector of the new task.
  * @param   pNewDescTSS     Pointer to the new TSS descriptor.
  */
-static VBOXSTRICTRC iemTaskSwitch(PIEMCPU         pIemCpu,
-                                  PCPUMCTX        pCtx,
-                                  IEMTASKSWITCH   enmTaskSwitch,
-                                  uint32_t        uNextEip,
-                                  uint32_t        fFlags,
-                                  uint16_t        uErr,
-                                  uint64_t        uCr2,
-                                  RTSEL           SelTSS,
-                                  PIEMSELDESC     pNewDescTSS)
+IEM_STATIC VBOXSTRICTRC
+iemTaskSwitch(PIEMCPU         pIemCpu,
+              PCPUMCTX        pCtx,
+              IEMTASKSWITCH   enmTaskSwitch,
+              uint32_t        uNextEip,
+              uint32_t        fFlags,
+              uint16_t        uErr,
+              uint64_t        uCr2,
+              RTSEL           SelTSS,
+              PIEMSELDESC     pNewDescTSS)
 {
     Assert(!IEM_IS_REAL_MODE(pIemCpu));
     Assert(pIemCpu->enmCpuMode != IEMMODE_64BIT);
@@ -3162,7 +3205,7 @@ static VBOXSTRICTRC iemTaskSwitch(PIEMCPU         pIemCpu,
  * @param   uErr            The error value if IEM_XCPT_FLAGS_ERR is set.
  * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
  */
-static VBOXSTRICTRC
+IEM_STATIC VBOXSTRICTRC
 iemRaiseXcptOrIntInProtMode(PIEMCPU     pIemCpu,
                             PCPUMCTX    pCtx,
                             uint8_t     cbInstr,
@@ -3597,7 +3640,7 @@ iemRaiseXcptOrIntInProtMode(PIEMCPU     pIemCpu,
  * @param   uErr            The error value if IEM_XCPT_FLAGS_ERR is set.
  * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
  */
-static VBOXSTRICTRC
+IEM_STATIC VBOXSTRICTRC
 iemRaiseXcptOrIntInLongMode(PIEMCPU     pIemCpu,
                             PCPUMCTX    pCtx,
                             uint8_t     cbInstr,
@@ -3842,7 +3885,7 @@ iemRaiseXcptOrIntInLongMode(PIEMCPU     pIemCpu,
  * @param   uErr            The error value if IEM_XCPT_FLAGS_ERR is set.
  * @param   uCr2            The CR2 value if IEM_XCPT_FLAGS_CR2 is set.
  */
-DECL_NO_INLINE(static, VBOXSTRICTRC)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC)
 iemRaiseXcptOrInt(PIEMCPU     pIemCpu,
                   uint8_t     cbInstr,
                   uint8_t     u8Vector,
@@ -3975,7 +4018,7 @@ iemRaiseXcptOrInt(PIEMCPU     pIemCpu,
 
 
 /** \#DE - 00.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDivideError(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDivideError(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_DE, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
 }
@@ -3983,7 +4026,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDivideError(PIEMCPU pIemCpu)
 
 /** \#DB - 01.
  * @note This automatically clear DR7.GD.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDebugException(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDebugException(PIEMCPU pIemCpu)
 {
     /** @todo set/clear RF. */
     pIemCpu->CTX_SUFF(pCtx)->dr[7] &= ~X86_DR7_GD;
@@ -3992,28 +4035,28 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDebugException(PIEMCPU pIemCpu)
 
 
 /** \#UD - 06.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseUndefinedOpcode(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseUndefinedOpcode(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_UD, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
 }
 
 
 /** \#NM - 07.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseDeviceNotAvailable(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseDeviceNotAvailable(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NM, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
 }
 
 
 /** \#TS(err) - 0a.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultWithErr(PIEMCPU pIemCpu, uint16_t uErr)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
 }
 
 
 /** \#TS(tr) - 0a.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              pIemCpu->CTX_SUFF(pCtx)->tr.Sel, 0);
@@ -4021,7 +4064,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultCurrentTSS(PIEMCPU p
 
 
 /** \#TS(0) - 0a.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              0, 0);
@@ -4029,7 +4072,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFault0(PIEMCPU pIemCpu)
 
 
 /** \#TS(err) - 0a.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseTaskSwitchFaultBySelector(PIEMCPU pIemCpu, uint16_t uSel)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_TS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              uSel & X86_SEL_MASK_OFF_RPL, 0);
@@ -4037,14 +4080,14 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseTaskSwitchFaultBySelector(PIEMCPU p
 
 
 /** \#NP(err) - 0b.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
 }
 
 
 /** \#NP(seg) - 0b.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PIEMCPU pIemCpu, uint32_t iSegReg)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PIEMCPU pIemCpu, uint32_t iSegReg)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              iemSRegFetchU16(pIemCpu, iSegReg) & ~X86_SEL_RPL, 0);
@@ -4052,7 +4095,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySegReg(PIEMCPU
 
 
 /** \#NP(sel) - 0b.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_NP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              uSel & ~X86_SEL_RPL, 0);
@@ -4060,7 +4103,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorNotPresentBySelector(PIEMCP
 
 
 /** \#SS(seg) - 0c.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentBySelector(PIEMCPU pIemCpu, uint16_t uSel)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_SS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              uSel & ~X86_SEL_RPL, 0);
@@ -4068,28 +4111,28 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentBySelector(P
 
 
 /** \#SS(err) - 0c.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseStackSelectorNotPresentWithErr(PIEMCPU pIemCpu, uint16_t uErr)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_SS, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
 }
 
 
 /** \#GP(n) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFault(PIEMCPU pIemCpu, uint16_t uErr)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, uErr, 0);
 }
 
 
 /** \#GP(0) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFault0(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
 }
 
 
 /** \#GP(sel) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL Sel)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseGeneralProtectionFaultBySelector(PIEMCPU pIemCpu, RTSEL Sel)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR,
                              Sel & ~X86_SEL_RPL, 0);
@@ -4097,14 +4140,14 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseGeneralProtectionFaultBySelector(PI
 
 
 /** \#GP(0) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseNotCanonical(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseNotCanonical(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
 }
 
 
 /** \#GP(sel) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorBounds(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
 {
     NOREF(iSegReg); NOREF(fAccess);
     return iemRaiseXcptOrInt(pIemCpu, 0, iSegReg == X86_SREG_SS ? X86_XCPT_SS : X86_XCPT_GP,
@@ -4113,7 +4156,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBounds(PIEMCPU pIemCpu, uin
 
 
 /** \#GP(sel) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorBoundsBySelector(PIEMCPU pIemCpu, RTSEL Sel)
 {
     NOREF(Sel);
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
@@ -4121,7 +4164,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorBoundsBySelector(PIEMCPU pI
 
 
 /** \#GP(sel) - 0d.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseSelectorInvalidAccess(PIEMCPU pIemCpu, uint32_t iSegReg, uint32_t fAccess)
 {
     NOREF(iSegReg); NOREF(fAccess);
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_GP, IEM_XCPT_FLAGS_T_CPU_XCPT | IEM_XCPT_FLAGS_ERR, 0, 0);
@@ -4129,7 +4172,7 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseSelectorInvalidAccess(PIEMCPU pIemC
 
 
 /** \#PF(n) - 0e.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR GCPtrWhere, uint32_t fAccess, int rc)
 {
     uint16_t uErr;
     switch (rc)
@@ -4178,14 +4221,14 @@ DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaisePageFault(PIEMCPU pIemCpu, RTGCPTR
 
 
 /** \#MF(0) - 10.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseMathFault(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseMathFault(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_MF, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
 }
 
 
 /** \#AC(0) - 11.  */
-DECL_NO_INLINE(static, VBOXSTRICTRC) iemRaiseAlignmentCheckException(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, VBOXSTRICTRC) iemRaiseAlignmentCheckException(PIEMCPU pIemCpu)
 {
     return iemRaiseXcptOrInt(pIemCpu, 0, X86_XCPT_AC, IEM_XCPT_FLAGS_T_CPU_XCPT, 0, 0);
 }
@@ -4255,7 +4298,7 @@ IEM_CIMPL_DEF_0(iemCImplRaiseInvalidOpcode)
  *
  * @param   pIemCpu             The IEM state.
  */
-static void iemRecalEffOpSize(PIEMCPU pIemCpu)
+IEM_STATIC void iemRecalEffOpSize(PIEMCPU pIemCpu)
 {
     switch (pIemCpu->enmCpuMode)
     {
@@ -4292,7 +4335,7 @@ static void iemRecalEffOpSize(PIEMCPU pIemCpu)
  *
  * @param   pIemCpu             The IEM state.
  */
-static void iemRecalEffOpSize64Default(PIEMCPU pIemCpu)
+IEM_STATIC void iemRecalEffOpSize64Default(PIEMCPU pIemCpu)
 {
     Assert(pIemCpu->enmCpuMode == IEMMODE_64BIT);
     pIemCpu->enmDefOpSize = IEMMODE_64BIT;
@@ -4316,7 +4359,7 @@ static void iemRecalEffOpSize64Default(PIEMCPU pIemCpu)
  * Used to add extra details about a stub case.
  * @param   pIemCpu     The IEM per CPU state.
  */
-static void iemOpStubMsg2(PIEMCPU pIemCpu)
+IEM_STATIC void iemOpStubMsg2(PIEMCPU pIemCpu)
 {
 #if defined(LOG_ENABLED) && defined(IN_RING3)
     PVM     pVM   = IEMCPU_TO_VM(pIemCpu);
@@ -4428,7 +4471,7 @@ static void iemOpStubMsg2(PIEMCPU pIemCpu)
  * @param   pIemCpu             The per CPU data.
  * @param   iSegReg             The segment register.
  */
-static PCPUMSELREG iemSRegGetHid(PIEMCPU pIemCpu, uint8_t iSegReg)
+IEM_STATIC PCPUMSELREG iemSRegGetHid(PIEMCPU pIemCpu, uint8_t iSegReg)
 {
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
     PCPUMSELREG pSReg;
@@ -4461,7 +4504,7 @@ static PCPUMSELREG iemSRegGetHid(PIEMCPU pIemCpu, uint8_t iSegReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iSegReg             The segment register.
  */
-static uint16_t *iemSRegRef(PIEMCPU pIemCpu, uint8_t iSegReg)
+IEM_STATIC uint16_t *iemSRegRef(PIEMCPU pIemCpu, uint8_t iSegReg)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (iSegReg)
@@ -4484,7 +4527,7 @@ static uint16_t *iemSRegRef(PIEMCPU pIemCpu, uint8_t iSegReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iSegReg             The segment register.
  */
-static uint16_t iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg)
+IEM_STATIC uint16_t iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (iSegReg)
@@ -4507,7 +4550,7 @@ static uint16_t iemSRegFetchU16(PIEMCPU pIemCpu, uint8_t iSegReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The general register.
  */
-static void *iemGRegRef(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC void *iemGRegRef(PIEMCPU pIemCpu, uint8_t iReg)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (iReg)
@@ -4542,7 +4585,7 @@ static void *iemGRegRef(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The register.
  */
-static uint8_t *iemGRegRefU8(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC uint8_t *iemGRegRefU8(PIEMCPU pIemCpu, uint8_t iReg)
 {
     if (pIemCpu->fPrefixes & IEM_OP_PRF_REX)
         return (uint8_t *)iemGRegRef(pIemCpu, iReg);
@@ -4561,7 +4604,7 @@ static uint8_t *iemGRegRefU8(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The register.
  */
-static uint8_t iemGRegFetchU8(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC uint8_t iemGRegFetchU8(PIEMCPU pIemCpu, uint8_t iReg)
 {
     uint8_t const *pbSrc = iemGRegRefU8(pIemCpu, iReg);
     return *pbSrc;
@@ -4575,7 +4618,7 @@ static uint8_t iemGRegFetchU8(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The register.
  */
-static uint16_t iemGRegFetchU16(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC uint16_t iemGRegFetchU16(PIEMCPU pIemCpu, uint8_t iReg)
 {
     return *(uint16_t *)iemGRegRef(pIemCpu, iReg);
 }
@@ -4588,7 +4631,7 @@ static uint16_t iemGRegFetchU16(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The register.
  */
-static uint32_t iemGRegFetchU32(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC uint32_t iemGRegFetchU32(PIEMCPU pIemCpu, uint8_t iReg)
 {
     return *(uint32_t *)iemGRegRef(pIemCpu, iReg);
 }
@@ -4601,7 +4644,7 @@ static uint32_t iemGRegFetchU32(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   iReg                The register.
  */
-static uint64_t iemGRegFetchU64(PIEMCPU pIemCpu, uint8_t iReg)
+IEM_STATIC uint64_t iemGRegFetchU64(PIEMCPU pIemCpu, uint8_t iReg)
 {
     return *(uint64_t *)iemGRegRef(pIemCpu, iReg);
 }
@@ -4616,7 +4659,7 @@ static uint64_t iemGRegFetchU64(PIEMCPU pIemCpu, uint8_t iReg)
  * @param   pIemCpu             The per CPU data.
  * @param   offNextInstr        The offset of the next instruction.
  */
-static VBOXSTRICTRC iemRegRipRelativeJumpS8(PIEMCPU pIemCpu, int8_t offNextInstr)
+IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS8(PIEMCPU pIemCpu, int8_t offNextInstr)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (pIemCpu->enmEffOpSize)
@@ -4672,7 +4715,7 @@ static VBOXSTRICTRC iemRegRipRelativeJumpS8(PIEMCPU pIemCpu, int8_t offNextInstr
  * @param   pIemCpu             The per CPU data.
  * @param   offNextInstr        The offset of the next instruction.
  */
-static VBOXSTRICTRC iemRegRipRelativeJumpS16(PIEMCPU pIemCpu, int16_t offNextInstr)
+IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS16(PIEMCPU pIemCpu, int16_t offNextInstr)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     Assert(pIemCpu->enmEffOpSize == IEMMODE_16BIT);
@@ -4699,7 +4742,7 @@ static VBOXSTRICTRC iemRegRipRelativeJumpS16(PIEMCPU pIemCpu, int16_t offNextIns
  * @param   pIemCpu             The per CPU data.
  * @param   offNextInstr        The offset of the next instruction.
  */
-static VBOXSTRICTRC iemRegRipRelativeJumpS32(PIEMCPU pIemCpu, int32_t offNextInstr)
+IEM_STATIC VBOXSTRICTRC iemRegRipRelativeJumpS32(PIEMCPU pIemCpu, int32_t offNextInstr)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     Assert(pIemCpu->enmEffOpSize != IEMMODE_16BIT);
@@ -4736,7 +4779,7 @@ static VBOXSTRICTRC iemRegRipRelativeJumpS32(PIEMCPU pIemCpu, int32_t offNextIns
  * @param   pIemCpu             The per CPU data.
  * @param   uNewRip             The new RIP value.
  */
-static VBOXSTRICTRC iemRegRipJump(PIEMCPU pIemCpu, uint64_t uNewRip)
+IEM_STATIC VBOXSTRICTRC iemRegRipJump(PIEMCPU pIemCpu, uint64_t uNewRip)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (pIemCpu->enmEffOpSize)
@@ -4807,7 +4850,7 @@ DECLINLINE(RTGCPTR) iemRegGetEffRsp(PCIEMCPU pIemCpu, PCCPUMCTX pCtx)
  * @param   pIemCpu             The per CPU data.
  * @param   cbInstr             The number of bytes to add.
  */
-static void iemRegAddToRipKeepRF(PIEMCPU pIemCpu, uint8_t cbInstr)
+IEM_STATIC void iemRegAddToRipKeepRF(PIEMCPU pIemCpu, uint8_t cbInstr)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
     switch (pIemCpu->enmCpuMode)
@@ -4837,7 +4880,7 @@ static void iemRegAddToRipKeepRF(PIEMCPU pIemCpu, uint8_t cbInstr)
  *
  * @param   pIemCpu             The per CPU data.
  */
-static void iemRegUpdateRipKeepRF(PIEMCPU pIemCpu)
+IEM_STATIC void iemRegUpdateRipKeepRF(PIEMCPU pIemCpu)
 {
     return iemRegAddToRipKeepRF(pIemCpu, pIemCpu->offOpcode);
 }
@@ -4851,7 +4894,7 @@ static void iemRegUpdateRipKeepRF(PIEMCPU pIemCpu)
  * @param   pIemCpu             The per CPU data.
  * @param   cbInstr             The number of bytes to add.
  */
-static void iemRegAddToRipAndClearRF(PIEMCPU pIemCpu, uint8_t cbInstr)
+IEM_STATIC void iemRegAddToRipAndClearRF(PIEMCPU pIemCpu, uint8_t cbInstr)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
 
@@ -4883,7 +4926,7 @@ static void iemRegAddToRipAndClearRF(PIEMCPU pIemCpu, uint8_t cbInstr)
  *
  * @param   pIemCpu             The per CPU data.
  */
-static void iemRegUpdateRipAndClearRF(PIEMCPU pIemCpu)
+IEM_STATIC void iemRegUpdateRipAndClearRF(PIEMCPU pIemCpu)
 {
     return iemRegAddToRipAndClearRF(pIemCpu, pIemCpu->offOpcode);
 }
@@ -5253,7 +5296,7 @@ DECLINLINE(void) iemFpuRotateStackPop(PX86FXSTATE pFpuCtx)
  * @param   pResult             The FPU operation result to push.
  * @param   pFpuCtx             The FPU context.
  */
-static void iemFpuMaybePushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, PX86FXSTATE pFpuCtx)
+IEM_STATIC void iemFpuMaybePushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, PX86FXSTATE pFpuCtx)
 {
     /* Update FSW and bail if there are pending exceptions afterwards. */
     uint16_t fFsw = pFpuCtx->FSW & ~X86_FSW_C_MASK;
@@ -5301,7 +5344,7 @@ static void iemFpuMaybePushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, PX86FX
  * @param   pResult             The result to store.
  * @param   iStReg              Which FPU register to store it in.
  */
-static void iemFpuStoreResultOnly(PX86FXSTATE pFpuCtx, PIEMFPURESULT pResult, uint8_t iStReg)
+IEM_STATIC void iemFpuStoreResultOnly(PX86FXSTATE pFpuCtx, PIEMFPURESULT pResult, uint8_t iStReg)
 {
     Assert(iStReg < 8);
     uint16_t iReg = (X86_FSW_TOP_GET(pFpuCtx->FSW) + iStReg) & X86_FSW_TOP_SMASK;
@@ -5319,7 +5362,7 @@ static void iemFpuStoreResultOnly(PX86FXSTATE pFpuCtx, PIEMFPURESULT pResult, ui
  * @param   pFpuCtx             The FPU context.
  * @param   u16FSW              The FSW output of the current instruction.
  */
-static void iemFpuUpdateFSWOnly(PX86FXSTATE pFpuCtx, uint16_t u16FSW)
+IEM_STATIC void iemFpuUpdateFSWOnly(PX86FXSTATE pFpuCtx, uint16_t u16FSW)
 {
     pFpuCtx->FSW &= ~X86_FSW_C_MASK;
     pFpuCtx->FSW |= u16FSW & ~X86_FSW_TOP_MASK;
@@ -5331,7 +5374,7 @@ static void iemFpuUpdateFSWOnly(PX86FXSTATE pFpuCtx, uint16_t u16FSW)
  *
  * @param   pFpuCtx             The FPU context.
  */
-static void iemFpuMaybePopOne(PX86FXSTATE pFpuCtx)
+IEM_STATIC void iemFpuMaybePopOne(PX86FXSTATE pFpuCtx)
 {
     /* Check pending exceptions. */
     uint16_t uFSW = pFpuCtx->FSW;
@@ -5360,7 +5403,7 @@ static void iemFpuMaybePopOne(PX86FXSTATE pFpuCtx)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pResult             The FPU operation result to push.
  */
-static void iemFpuPushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult)
+IEM_STATIC void iemFpuPushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5378,7 +5421,7 @@ static void iemFpuPushResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult)
  * @param   iEffSeg             The effective segment register.
  * @param   GCPtrEff            The effective address relative to @a iEffSeg.
  */
-static void iemFpuPushResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuPushResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5395,7 +5438,7 @@ static void iemFpuPushResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, ui
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pResult             The FPU operation result to store and push.
  */
-static void iemFpuPushResultTwo(PIEMCPU pIemCpu, PIEMFPURESULTTWO pResult)
+IEM_STATIC void iemFpuPushResultTwo(PIEMCPU pIemCpu, PIEMFPURESULTTWO pResult)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5451,7 +5494,7 @@ static void iemFpuPushResultTwo(PIEMCPU pIemCpu, PIEMFPURESULTTWO pResult)
  * @param   iStReg              Which FPU register to store it in.
  * @param   pCtx                The CPU context.
  */
-static void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
+IEM_STATIC void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5469,7 +5512,7 @@ static void iemFpuStoreResult(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iS
  * @param   iStReg              Which FPU register to store it in.
  * @param   pCtx                The CPU context.
  */
-static void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
+IEM_STATIC void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5490,7 +5533,7 @@ static void iemFpuStoreResultThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uin
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-static void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5511,8 +5554,8 @@ static void iemFpuStoreResultWithMemOp(PIEMCPU pIemCpu, PIEMFPURESULT pResult, u
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-static void iemFpuStoreResultWithMemOpThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult,
-                                              uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuStoreResultWithMemOpThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pResult,
+                                                  uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5528,7 +5571,7 @@ static void iemFpuStoreResultWithMemOpThenPop(PIEMCPU pIemCpu, PIEMFPURESULT pRe
  *
  * @param   pIemCpu             The IEM per CPU data.
  */
-static void iemFpuUpdateOpcodeAndIp(PIEMCPU pIemCpu)
+IEM_STATIC void iemFpuUpdateOpcodeAndIp(PIEMCPU pIemCpu)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5542,7 +5585,7 @@ static void iemFpuUpdateOpcodeAndIp(PIEMCPU pIemCpu)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   iStReg              The register to free.
  */
-static void iemFpuStackFree(PIEMCPU pIemCpu, uint8_t iStReg)
+IEM_STATIC void iemFpuStackFree(PIEMCPU pIemCpu, uint8_t iStReg)
 {
     Assert(iStReg < 8);
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
@@ -5556,7 +5599,7 @@ static void iemFpuStackFree(PIEMCPU pIemCpu, uint8_t iStReg)
  *
  * @param   pIemCpu             The IEM per CPU data.
  */
-static void iemFpuStackIncTop(PIEMCPU pIemCpu)
+IEM_STATIC void iemFpuStackIncTop(PIEMCPU pIemCpu)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    uFsw    = pFpuCtx->FSW;
@@ -5573,7 +5616,7 @@ static void iemFpuStackIncTop(PIEMCPU pIemCpu)
  *
  * @param   pIemCpu             The IEM per CPU data.
  */
-static void iemFpuStackDecTop(PIEMCPU pIemCpu)
+IEM_STATIC void iemFpuStackDecTop(PIEMCPU pIemCpu)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    uFsw    = pFpuCtx->FSW;
@@ -5591,7 +5634,7 @@ static void iemFpuStackDecTop(PIEMCPU pIemCpu)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u16FSW              The FSW from the current instruction.
  */
-static void iemFpuUpdateFSW(PIEMCPU pIemCpu, uint16_t u16FSW)
+IEM_STATIC void iemFpuUpdateFSW(PIEMCPU pIemCpu, uint16_t u16FSW)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5606,7 +5649,7 @@ static void iemFpuUpdateFSW(PIEMCPU pIemCpu, uint16_t u16FSW)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u16FSW              The FSW from the current instruction.
  */
-static void iemFpuUpdateFSWThenPop(PIEMCPU pIemCpu, uint16_t u16FSW)
+IEM_STATIC void iemFpuUpdateFSWThenPop(PIEMCPU pIemCpu, uint16_t u16FSW)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5624,7 +5667,7 @@ static void iemFpuUpdateFSWThenPop(PIEMCPU pIemCpu, uint16_t u16FSW)
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-static void iemFpuUpdateFSWWithMemOp(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuUpdateFSWWithMemOp(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5640,7 +5683,7 @@ static void iemFpuUpdateFSWWithMemOp(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t i
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u16FSW              The FSW from the current instruction.
  */
-static void iemFpuUpdateFSWThenPopPop(PIEMCPU pIemCpu, uint16_t u16FSW)
+IEM_STATIC void iemFpuUpdateFSWThenPopPop(PIEMCPU pIemCpu, uint16_t u16FSW)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5659,7 +5702,7 @@ static void iemFpuUpdateFSWThenPopPop(PIEMCPU pIemCpu, uint16_t u16FSW)
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-static void iemFpuUpdateFSWWithMemOpThenPop(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
+IEM_STATIC void iemFpuUpdateFSWWithMemOpThenPop(PIEMCPU pIemCpu, uint16_t u16FSW, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5677,7 +5720,7 @@ static void iemFpuUpdateFSWWithMemOpThenPop(PIEMCPU pIemCpu, uint16_t u16FSW, ui
  * @param   pFpuCtx             The FPU context.
  * @param   iStReg              The stack register being accessed.
  */
-static void iemFpuStackUnderflowOnly(PIEMCPU pIemCpu, PX86FXSTATE pFpuCtx, uint8_t iStReg)
+IEM_STATIC void iemFpuStackUnderflowOnly(PIEMCPU pIemCpu, PX86FXSTATE pFpuCtx, uint8_t iStReg)
 {
     Assert(iStReg < 8 || iStReg == UINT8_MAX);
     if (pFpuCtx->FCW & X86_FCW_IM)
@@ -5708,7 +5751,7 @@ static void iemFpuStackUnderflowOnly(PIEMCPU pIemCpu, PX86FXSTATE pFpuCtx, uint8
  *                              with QNaN if \#IS is not masked. Specify
  *                              UINT8_MAX if none (like for fcom).
  */
-DECL_NO_INLINE(static, void) iemFpuStackUnderflow(PIEMCPU pIemCpu, uint8_t iStReg)
+DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflow(PIEMCPU pIemCpu, uint8_t iStReg)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5717,7 +5760,7 @@ DECL_NO_INLINE(static, void) iemFpuStackUnderflow(PIEMCPU pIemCpu, uint8_t iStRe
 }
 
 
-DECL_NO_INLINE(static, void)
+DECL_NO_INLINE(IEM_STATIC, void)
 iemFpuStackUnderflowWithMemOp(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
@@ -5728,7 +5771,7 @@ iemFpuStackUnderflowWithMemOp(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iEffSeg,
 }
 
 
-DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPop(PIEMCPU pIemCpu, uint8_t iStReg)
+DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflowThenPop(PIEMCPU pIemCpu, uint8_t iStReg)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5738,7 +5781,7 @@ DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPop(PIEMCPU pIemCpu, uint8_
 }
 
 
-DECL_NO_INLINE(static, void)
+DECL_NO_INLINE(IEM_STATIC, void)
 iemFpuStackUnderflowWithMemOpThenPop(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx      = pIemCpu->CTX_SUFF(pCtx);
@@ -5750,7 +5793,7 @@ iemFpuStackUnderflowWithMemOpThenPop(PIEMCPU pIemCpu, uint8_t iStReg, uint8_t iE
 }
 
 
-DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPopPop(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackUnderflowThenPopPop(PIEMCPU pIemCpu)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5761,7 +5804,7 @@ DECL_NO_INLINE(static, void) iemFpuStackUnderflowThenPopPop(PIEMCPU pIemCpu)
 }
 
 
-DECL_NO_INLINE(static, void)
+DECL_NO_INLINE(IEM_STATIC, void)
 iemFpuStackPushUnderflow(PIEMCPU pIemCpu)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
@@ -5788,7 +5831,7 @@ iemFpuStackPushUnderflow(PIEMCPU pIemCpu)
 }
 
 
-DECL_NO_INLINE(static, void)
+DECL_NO_INLINE(IEM_STATIC, void)
 iemFpuStackPushUnderflowTwo(PIEMCPU pIemCpu)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
@@ -5821,7 +5864,7 @@ iemFpuStackPushUnderflowTwo(PIEMCPU pIemCpu)
  *
  * @param   pFpuCtx             The FPU context.
  */
-static void iemFpuStackPushOverflowOnly(PX86FXSTATE pFpuCtx)
+IEM_STATIC void iemFpuStackPushOverflowOnly(PX86FXSTATE pFpuCtx)
 {
     if (pFpuCtx->FCW & X86_FCW_IM)
     {
@@ -5848,7 +5891,7 @@ static void iemFpuStackPushOverflowOnly(PX86FXSTATE pFpuCtx)
  *
  * @param   pIemCpu             The IEM per CPU data.
  */
-DECL_NO_INLINE(static, void) iemFpuStackPushOverflow(PIEMCPU pIemCpu)
+DECL_NO_INLINE(IEM_STATIC, void) iemFpuStackPushOverflow(PIEMCPU pIemCpu)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
     PX86FXSTATE pFpuCtx = &pCtx->CTX_SUFF(pXState)->x87;
@@ -5864,7 +5907,7 @@ DECL_NO_INLINE(static, void) iemFpuStackPushOverflow(PIEMCPU pIemCpu)
  * @param   iEffSeg             The effective memory operand selector register.
  * @param   GCPtrEff            The effective memory operand offset.
  */
-DECL_NO_INLINE(static, void)
+DECL_NO_INLINE(IEM_STATIC, void)
 iemFpuStackPushOverflowWithMemOp(PIEMCPU pIemCpu, uint8_t iEffSeg, RTGCPTR GCPtrEff)
 {
     PCPUMCTX    pCtx    = pIemCpu->CTX_SUFF(pCtx);
@@ -5875,7 +5918,7 @@ iemFpuStackPushOverflowWithMemOp(PIEMCPU pIemCpu, uint8_t iEffSeg, RTGCPTR GCPtr
 }
 
 
-static int iemFpuStRegNotEmpty(PIEMCPU pIemCpu, uint8_t iStReg)
+IEM_STATIC int iemFpuStRegNotEmpty(PIEMCPU pIemCpu, uint8_t iStReg)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    iReg    = (X86_FSW_TOP_GET(pFpuCtx->FSW) + iStReg) & X86_FSW_TOP_SMASK;
@@ -5885,7 +5928,7 @@ static int iemFpuStRegNotEmpty(PIEMCPU pIemCpu, uint8_t iStReg)
 }
 
 
-static int iemFpuStRegNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg, PCRTFLOAT80U *ppRef)
+IEM_STATIC int iemFpuStRegNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg, PCRTFLOAT80U *ppRef)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    iReg    = (X86_FSW_TOP_GET(pFpuCtx->FSW) + iStReg) & X86_FSW_TOP_SMASK;
@@ -5898,8 +5941,8 @@ static int iemFpuStRegNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg, PCRTFLOAT80U
 }
 
 
-static int iemFpu2StRegsNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0,
-                                    uint8_t iStReg1, PCRTFLOAT80U *ppRef1)
+IEM_STATIC int iemFpu2StRegsNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0,
+                                        uint8_t iStReg1, PCRTFLOAT80U *ppRef1)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    iTop    = X86_FSW_TOP_GET(pFpuCtx->FSW);
@@ -5915,7 +5958,7 @@ static int iemFpu2StRegsNotEmptyRef(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT8
 }
 
 
-static int iemFpu2StRegsNotEmptyRefFirst(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0, uint8_t iStReg1)
+IEM_STATIC int iemFpu2StRegsNotEmptyRefFirst(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTFLOAT80U *ppRef0, uint8_t iStReg1)
 {
     PX86FXSTATE pFpuCtx = &pIemCpu->CTX_SUFF(pCtx)->CTX_SUFF(pXState)->x87;
     uint16_t    iTop    = X86_FSW_TOP_GET(pFpuCtx->FSW);
@@ -5935,7 +5978,7 @@ static int iemFpu2StRegsNotEmptyRefFirst(PIEMCPU pIemCpu, uint8_t iStReg0, PCRTF
  *
  * @param   pFpuCtx             The FPU context.
  */
-static void iemFpuRecalcExceptionStatus(PX86FXSTATE pFpuCtx)
+IEM_STATIC void iemFpuRecalcExceptionStatus(PX86FXSTATE pFpuCtx)
 {
     uint16_t u16Fsw = pFpuCtx->FSW;
     if ((u16Fsw & X86_FSW_XCPT_MASK) & ~(pFpuCtx->FCW & X86_FCW_XCPT_MASK))
@@ -5952,7 +5995,7 @@ static void iemFpuRecalcExceptionStatus(PX86FXSTATE pFpuCtx)
  * @returns The full FTW.
  * @param   pFpuCtx             The FPU context.
  */
-static uint16_t iemFpuCalcFullFtw(PCX86FXSTATE pFpuCtx)
+IEM_STATIC uint16_t iemFpuCalcFullFtw(PCX86FXSTATE pFpuCtx)
 {
     uint8_t const   u8Ftw  = (uint8_t)pFpuCtx->FTW;
     uint16_t        u16Ftw = 0;
@@ -5994,7 +6037,7 @@ static uint16_t iemFpuCalcFullFtw(PCX86FXSTATE pFpuCtx)
  * @returns The compressed FTW.
  * @param   u16FullFtw      The full FTW to convert.
  */
-static uint16_t iemFpuCompressFtw(uint16_t u16FullFtw)
+IEM_STATIC uint16_t iemFpuCompressFtw(uint16_t u16FullFtw)
 {
     uint8_t u8Ftw = 0;
     for (unsigned i = 0; i < 8; i++)
@@ -6044,7 +6087,8 @@ DECL_FORCE_INLINE(void) iemMemUpdateWrittenCounter(PIEMCPU pIemCpu, uint32_t fAc
  *                              segment. (In 64-bit code it may differ from the
  *                              base in the hidden segment.)
  */
-static VBOXSTRICTRC iemMemSegCheckWriteAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
+IEM_STATIC VBOXSTRICTRC
+iemMemSegCheckWriteAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
 {
     if (pIemCpu->enmCpuMode == IEMMODE_64BIT)
         *pu64BaseAddr = iSegReg < X86_SREG_FS ? 0 : pHid->u64Base;
@@ -6076,7 +6120,8 @@ static VBOXSTRICTRC iemMemSegCheckWriteAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID
  *                              segment. (In 64-bit code it may differ from the
  *                              base in the hidden segment.)
  */
-static VBOXSTRICTRC iemMemSegCheckReadAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
+IEM_STATIC VBOXSTRICTRC
+iemMemSegCheckReadAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID pHid, uint8_t iSegReg, uint64_t *pu64BaseAddr)
 {
     if (pIemCpu->enmCpuMode == IEMMODE_64BIT)
         *pu64BaseAddr = iSegReg < X86_SREG_FS ? 0 : pHid->u64Base;
@@ -6108,8 +6153,8 @@ static VBOXSTRICTRC iemMemSegCheckReadAccessEx(PIEMCPU pIemCpu, PCCPUMSELREGHID
  * @param   pGCPtrMem           Pointer to the guest memory address to apply
  *                              segmentation to.  Input and output parameter.
  */
-static VBOXSTRICTRC iemMemApplySegment(PIEMCPU pIemCpu, uint32_t fAccess, uint8_t iSegReg,
-                                       size_t cbMem, PRTGCPTR pGCPtrMem)
+IEM_STATIC VBOXSTRICTRC
+iemMemApplySegment(PIEMCPU pIemCpu, uint32_t fAccess, uint8_t iSegReg, size_t cbMem, PRTGCPTR pGCPtrMem)
 {
     if (iSegReg == UINT8_MAX)
         return VINF_SUCCESS;
@@ -6203,8 +6248,8 @@ static VBOXSTRICTRC iemMemApplySegment(PIEMCPU pIemCpu, uint32_t fAccess, uint8_
  * @param   fAccess             The intended access.
  * @param   pGCPhysMem          Where to return the physical address.
  */
-static VBOXSTRICTRC iemMemPageTranslateAndCheckAccess(PIEMCPU pIemCpu, RTGCPTR GCPtrMem, uint32_t fAccess,
-                                                      PRTGCPHYS pGCPhysMem)
+IEM_STATIC VBOXSTRICTRC
+iemMemPageTranslateAndCheckAccess(PIEMCPU pIemCpu, RTGCPTR GCPtrMem, uint32_t fAccess, PRTGCPHYS pGCPhysMem)
 {
     /** @todo Need a different PGM interface here.  We're currently using
      *        generic / REM interfaces. this won't cut it for R0 & RC. */
@@ -6285,7 +6330,7 @@ static VBOXSTRICTRC iemMemPageTranslateAndCheckAccess(PIEMCPU pIemCpu, RTGCPTR G
  * @param   ppvMem              Where to return the mapping address.
  * @param   pLock               The PGM lock.
  */
-static int iemMemPageMap(PIEMCPU pIemCpu, RTGCPHYS GCPhysMem, uint32_t fAccess, void **ppvMem, PPGMPAGEMAPLOCK pLock)
+IEM_STATIC int iemMemPageMap(PIEMCPU pIemCpu, RTGCPHYS GCPhysMem, uint32_t fAccess, void **ppvMem, PPGMPAGEMAPLOCK pLock)
 {
 #ifdef IEM_VERIFICATION_MODE_FULL
     /* Force the alternative path so we can ignore writes. */
@@ -6379,7 +6424,7 @@ DECLINLINE(int) iemMapLookup(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess)
  * @returns Memory mapping index, 1024 on failure.
  * @param   pIemCpu             The IEM per CPU data.
  */
-static unsigned iemMemMapFindFree(PIEMCPU pIemCpu)
+IEM_STATIC unsigned iemMemMapFindFree(PIEMCPU pIemCpu)
 {
     /*
      * The easy case.
@@ -6408,7 +6453,7 @@ static unsigned iemMemMapFindFree(PIEMCPU pIemCpu)
  * @param   pIemCpu         The IEM per CPU data.
  * @param   iMemMap         The index of the buffer to commit.
  */
-static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned iMemMap)
+IEM_STATIC VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned iMemMap)
 {
     Assert(pIemCpu->aMemMappings[iMemMap].fAccess & IEM_ACCESS_BOUNCE_BUFFERED);
     Assert(pIemCpu->aMemMappings[iMemMap].fAccess & IEM_ACCESS_TYPE_WRITE);
@@ -6416,8 +6461,8 @@ static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned i
     /*
      * Do the writing.
      */
-    int rc;
 #ifndef IEM_VERIFICATION_MODE_MINIMAL
+    PVM          pVM = IEMCPU_TO_VM(pIemCpu);
     if (   !pIemCpu->aMemBbMappings[iMemMap].fUnassigned
         && !IEM_VERIFICATION_ENABLED(pIemCpu))
     {
@@ -6426,42 +6471,121 @@ static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned i
         uint8_t const  *pbBuf    = &pIemCpu->aBounceBuffers[iMemMap].ab[0];
         if (!pIemCpu->fBypassHandlers)
         {
-            rc = PGMPhysWrite(IEMCPU_TO_VM(pIemCpu),
-                              pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst,
-                              pbBuf,
-                              cbFirst,
-                              PGMACCESSORIGIN_IEM);
-            if (cbSecond && rc == VINF_SUCCESS)
-                rc = PGMPhysWrite(IEMCPU_TO_VM(pIemCpu),
-                                  pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
-                                  pbBuf + cbFirst,
-                                  cbSecond,
-                                  PGMACCESSORIGIN_IEM);
+            /*
+             * Carefully and efficiently dealing with access handler return
+             * codes make this a little bloated.
+             */
+            VBOXSTRICTRC rcStrict = PGMPhysWrite(pVM,
+                                                 pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst,
+                                                 pbBuf,
+                                                 cbFirst,
+                                                 PGMACCESSORIGIN_IEM);
+            if (rcStrict == VINF_SUCCESS)
+            {
+                if (cbSecond)
+                {
+                    rcStrict = PGMPhysWrite(pVM,
+                                            pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
+                                            pbBuf + cbFirst,
+                                            cbSecond,
+                                            PGMACCESSORIGIN_IEM);
+                    if (rcStrict == VINF_SUCCESS)
+                    { /* nothing */ }
+                    else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x GCPhysSecond=%RGp/%#x %Rrc\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst,
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, VBOXSTRICTRC_VAL(rcStrict) ));
+                        rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                    }
+                    else
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x GCPhysSecond=%RGp/%#x %Rrc (!!)\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst,
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, VBOXSTRICTRC_VAL(rcStrict) ));
+                        return rcStrict;
+                    }
+                }
+            }
+            else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+            {
+                if (!cbSecond)
+                {
+                    Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x %Rrc\n",
+                         pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, VBOXSTRICTRC_VAL(rcStrict) ));
+                    rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                }
+                else
+                {
+                    VBOXSTRICTRC rcStrict2 = PGMPhysWrite(pVM,
+                                                          pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
+                                                          pbBuf + cbFirst,
+                                                          cbSecond,
+                                                          PGMACCESSORIGIN_IEM);
+                    if (rcStrict2 == VINF_SUCCESS)
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x %Rrc GCPhysSecond=%RGp/%#x\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, VBOXSTRICTRC_VAL(rcStrict),
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond));
+                        rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                    }
+                    else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x %Rrc GCPhysSecond=%RGp/%#x %Rrc\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, VBOXSTRICTRC_VAL(rcStrict),
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, VBOXSTRICTRC_VAL(rcStrict2) ));
+                        PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
+                        rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                    }
+                    else
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x %Rrc GCPhysSecond=%RGp/%#x %Rrc (!!)\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, VBOXSTRICTRC_VAL(rcStrict),
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, VBOXSTRICTRC_VAL(rcStrict2) ));
+                        return rcStrict2;
+                    }
+                }
+            }
+            else
+            {
+                Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysWrite GCPhysFirst=%RGp/%#x %Rrc [GCPhysSecond=%RGp/%#x] (!!)\n",
+                     pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, VBOXSTRICTRC_VAL(rcStrict),
+                     pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond));
+                return rcStrict;
+            }
         }
         else
         {
-            rc = PGMPhysSimpleWriteGCPhys(IEMCPU_TO_VM(pIemCpu),
-                                          pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst,
-                                          pbBuf,
-                                          cbFirst);
-            if (cbSecond && rc == VINF_SUCCESS)
-                rc = PGMPhysSimpleWriteGCPhys(IEMCPU_TO_VM(pIemCpu),
-                                              pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
-                                              pbBuf + cbFirst,
-                                              cbSecond);
-        }
-        if (rc != VINF_SUCCESS)
-        {
-            /** @todo status code handling */
-            Log(("iemMemBounceBufferCommitAndUnmap: %s GCPhysFirst=%RGp/%#x GCPhysSecond=%RGp/%#x %Rrc (!!)\n",
-                 pIemCpu->fBypassHandlers ? "PGMPhysWrite" : "PGMPhysSimpleWriteGCPhys",
-                 pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst,
-                 pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, rc));
+            /*
+             * No access handlers, much simpler.
+             */
+            int rc = PGMPhysSimpleWriteGCPhys(pVM, pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, pbBuf, cbFirst);
+            if (RT_SUCCESS(rc))
+            {
+                if (cbSecond)
+                {
+                    rc = PGMPhysSimpleWriteGCPhys(pVM, pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, pbBuf + cbFirst, cbSecond);
+                    if (RT_SUCCESS(rc))
+                    { /* likely */ }
+                    else
+                    {
+                        Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysSimpleWriteGCPhys GCPhysFirst=%RGp/%#x GCPhysSecond=%RGp/%#x %Rrc (!!)\n",
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst,
+                             pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond, rc));
+                        return rc;
+                    }
+                }
+            }
+            else
+            {
+                Log(("iemMemBounceBufferCommitAndUnmap: PGMPhysSimpleWriteGCPhys GCPhysFirst=%RGp/%#x %Rrc [GCPhysSecond=%RGp/%#x] (!!)\n",
+                     pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst, cbFirst, rc,
+                     pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond, cbSecond));
+                return rc;
+            }
         }
     }
-    else
 #endif
-        rc = VINF_SUCCESS;
 
 #if defined(IEM_VERIFICATION_MODE_FULL) && defined(IN_RING3)
     /*
@@ -6498,19 +6622,16 @@ static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned i
     }
 #endif
 #if defined(IEM_VERIFICATION_MODE_MINIMAL) || defined(IEM_LOG_MEMORY_WRITES)
-    if (rc == VINF_SUCCESS)
-    {
-        Log(("IEM Wrote %RGp: %.*Rhxs\n", pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst,
-             RT_MAX(RT_MIN(pIemCpu->aMemBbMappings[iMemMap].cbFirst, 64), 1), &pIemCpu->aBounceBuffers[iMemMap].ab[0]));
-        if (pIemCpu->aMemBbMappings[iMemMap].cbSecond)
-            Log(("IEM Wrote %RGp: %.*Rhxs [2nd page]\n", pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
-                 RT_MIN(pIemCpu->aMemBbMappings[iMemMap].cbSecond, 64),
-                 &pIemCpu->aBounceBuffers[iMemMap].ab[pIemCpu->aMemBbMappings[iMemMap].cbFirst]));
-
-        size_t cbWrote = pIemCpu->aMemBbMappings[iMemMap].cbFirst + pIemCpu->aMemBbMappings[iMemMap].cbSecond;
-        g_cbIemWrote = cbWrote;
-        memcpy(g_abIemWrote, &pIemCpu->aBounceBuffers[iMemMap].ab[0], RT_MIN(cbWrote, sizeof(g_abIemWrote)));
-    }
+    Log(("IEM Wrote %RGp: %.*Rhxs\n", pIemCpu->aMemBbMappings[iMemMap].GCPhysFirst,
+         RT_MAX(RT_MIN(pIemCpu->aMemBbMappings[iMemMap].cbFirst, 64), 1), &pIemCpu->aBounceBuffers[iMemMap].ab[0]));
+    if (pIemCpu->aMemBbMappings[iMemMap].cbSecond)
+        Log(("IEM Wrote %RGp: %.*Rhxs [2nd page]\n", pIemCpu->aMemBbMappings[iMemMap].GCPhysSecond,
+             RT_MIN(pIemCpu->aMemBbMappings[iMemMap].cbSecond, 64),
+             &pIemCpu->aBounceBuffers[iMemMap].ab[pIemCpu->aMemBbMappings[iMemMap].cbFirst]));
+
+    size_t cbWrote = pIemCpu->aMemBbMappings[iMemMap].cbFirst + pIemCpu->aMemBbMappings[iMemMap].cbSecond;
+    g_cbIemWrote = cbWrote;
+    memcpy(g_abIemWrote, &pIemCpu->aBounceBuffers[iMemMap].ab[0], RT_MIN(cbWrote, sizeof(g_abIemWrote)));
 #endif
 
     /*
@@ -6519,15 +6640,15 @@ static VBOXSTRICTRC iemMemBounceBufferCommitAndUnmap(PIEMCPU pIemCpu, unsigned i
     pIemCpu->aMemMappings[iMemMap].fAccess = IEM_ACCESS_INVALID;
     Assert(pIemCpu->cActiveMappings != 0);
     pIemCpu->cActiveMappings--;
-    return rc;
+    return VINF_SUCCESS;
 }
 
 
 /**
  * iemMemMap worker that deals with a request crossing pages.
  */
-static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap, void **ppvMem,
-                                                   size_t cbMem, RTGCPTR GCPtrFirst, uint32_t fAccess)
+IEM_STATIC VBOXSTRICTRC
+iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap, void **ppvMem, size_t cbMem, RTGCPTR GCPtrFirst, uint32_t fAccess)
 {
     /*
      * Do the address translations.
@@ -6545,6 +6666,7 @@ static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap,
         return rcStrict;
     GCPhysSecond &= ~(RTGCPHYS)PAGE_OFFSET_MASK;
 
+    PVM pVM = IEMCPU_TO_VM(pIemCpu);
 #ifdef IEM_VERIFICATION_MODE_FULL
     /*
      * Detect problematic memory when verifying so we can select
@@ -6552,11 +6674,9 @@ static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap,
      */
     if (IEM_FULL_VERIFICATION_ENABLED(pIemCpu))
     {
-        int rc2 = PGMPhysIemQueryAccess(IEMCPU_TO_VM(pIemCpu), GCPhysFirst,
-                                        RT_BOOL(fAccess & IEM_ACCESS_TYPE_WRITE), pIemCpu->fBypassHandlers);
+        int rc2 = PGMPhysIemQueryAccess(pVM, GCPhysFirst,  RT_BOOL(fAccess & IEM_ACCESS_TYPE_WRITE), pIemCpu->fBypassHandlers);
         if (RT_SUCCESS(rc2))
-            rc2 = PGMPhysIemQueryAccess(IEMCPU_TO_VM(pIemCpu), GCPhysSecond,
-                                        RT_BOOL(fAccess & IEM_ACCESS_TYPE_WRITE), pIemCpu->fBypassHandlers);
+            rc2 = PGMPhysIemQueryAccess(pVM, GCPhysSecond, RT_BOOL(fAccess & IEM_ACCESS_TYPE_WRITE), pIemCpu->fBypassHandlers);
         if (RT_FAILURE(rc2))
             pIemCpu->fProblematicMemory = true;
     }
@@ -6573,38 +6693,70 @@ static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap,
 
     if (fAccess & (IEM_ACCESS_TYPE_READ | IEM_ACCESS_TYPE_EXEC | IEM_ACCESS_PARTIAL_WRITE))
     {
-        int rc;
         if (!pIemCpu->fBypassHandlers)
         {
-            rc = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhysFirst, pbBuf, cbFirstPage, PGMACCESSORIGIN_IEM);
-            if (rc != VINF_SUCCESS)
+            /*
+             * Must carefully deal with access handler status codes here,
+             * makes the code a bit bloated.
+             */
+            rcStrict = PGMPhysRead(pVM, GCPhysFirst, pbBuf, cbFirstPage, PGMACCESSORIGIN_IEM);
+            if (rcStrict == VINF_SUCCESS)
             {
-                /** @todo status code handling */
-                Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysFirst=%RGp rc=%Rrc (!!)\n", GCPhysFirst, rc));
-                return rc;
+                rcStrict = PGMPhysRead(pVM, GCPhysSecond, pbBuf + cbFirstPage, cbSecondPage, PGMACCESSORIGIN_IEM);
+                if (rcStrict == VINF_SUCCESS)
+                { /*likely */ }
+                else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+                    rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                else
+                {
+                    Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysSecond=%RGp rcStrict2=%Rrc (!!)\n",
+                         GCPhysSecond, VBOXSTRICTRC_VAL(rcStrict) ));
+                    return rcStrict;
+                }
             }
-            rc = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhysSecond, pbBuf + cbFirstPage, cbSecondPage, PGMACCESSORIGIN_IEM);
-            if (rc != VINF_SUCCESS)
+            else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
             {
-                /** @todo status code handling */
-                Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysSecond=%RGp rc=%Rrc (!!)\n", GCPhysSecond, rc));
-                return rc;
+                VBOXSTRICTRC rcStrict2 = PGMPhysRead(pVM, GCPhysSecond, pbBuf + cbFirstPage, cbSecondPage, PGMACCESSORIGIN_IEM);
+                if (PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+                {
+                    PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
+                    rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                }
+                else
+                {
+                    Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysSecond=%RGp rcStrict2=%Rrc (rcStrict=%Rrc) (!!)\n",
+                         GCPhysSecond, VBOXSTRICTRC_VAL(rcStrict2), VBOXSTRICTRC_VAL(rcStrict2) ));
+                    return rcStrict2;
+                }
+            }
+            else
+            {
+                Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysFirst=%RGp rcStrict=%Rrc (!!)\n",
+                     GCPhysFirst, VBOXSTRICTRC_VAL(rcStrict) ));
+                return rcStrict;
             }
         }
         else
         {
-            rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), pbBuf, GCPhysFirst, cbFirstPage);
-            if (rc != VINF_SUCCESS)
+            /*
+             * No informational status codes here, much more straight forward.
+             */
+            int rc = PGMPhysSimpleReadGCPhys(pVM, pbBuf, GCPhysFirst, cbFirstPage);
+            if (RT_SUCCESS(rc))
             {
-                /** @todo status code handling */
-                Log(("iemMemBounceBufferMapPhys: PGMPhysSimpleReadGCPhys GCPhysFirst=%RGp rc=%Rrc (!!)\n", GCPhysFirst, rc));
-                return rc;
+                Assert(rc == VINF_SUCCESS);
+                rc = PGMPhysSimpleReadGCPhys(pVM, pbBuf + cbFirstPage, GCPhysSecond, cbSecondPage);
+                if (RT_SUCCESS(rc))
+                    Assert(rc == VINF_SUCCESS);
+                else
+                {
+                    Log(("iemMemBounceBufferMapPhys: PGMPhysSimpleReadGCPhys GCPhysSecond=%RGp rc=%Rrc (!!)\n", GCPhysSecond, rc));
+                    return rc;
+                }
             }
-            rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), pbBuf + cbFirstPage, GCPhysSecond, cbSecondPage);
-            if (rc != VINF_SUCCESS)
+            else
             {
-                /** @todo status code handling */
-                Log(("iemMemBounceBufferMapPhys: PGMPhysSimpleReadGCPhys GCPhysSecond=%RGp rc=%Rrc (!!)\n", GCPhysSecond, rc));
+                Log(("iemMemBounceBufferMapPhys: PGMPhysSimpleReadGCPhys GCPhysFirst=%RGp rc=%Rrc (!!)\n", GCPhysFirst, rc));
                 return rc;
             }
         }
@@ -6640,8 +6792,6 @@ static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap,
 #ifdef VBOX_STRICT
     else
         memset(pbBuf, 0xcc, cbMem);
-#endif
-#ifdef VBOX_STRICT
     if (cbMem < sizeof(pIemCpu->aBounceBuffers[iMemMap].ab))
         memset(pbBuf + cbMem, 0xaa, sizeof(pIemCpu->aBounceBuffers[iMemMap].ab) - cbMem);
 #endif
@@ -6668,8 +6818,8 @@ static VBOXSTRICTRC iemMemBounceBufferMapCrossPage(PIEMCPU pIemCpu, int iMemMap,
 /**
  * iemMemMap woker that deals with iemMemPageMap failures.
  */
-static VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap, void **ppvMem, size_t cbMem,
-                                              RTGCPHYS GCPhysFirst, uint32_t fAccess, VBOXSTRICTRC rcMap)
+IEM_STATIC VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap, void **ppvMem, size_t cbMem,
+                                                  RTGCPHYS GCPhysFirst, uint32_t fAccess, VBOXSTRICTRC rcMap)
 {
     /*
      * Filter out conditions we can handle and the ones which shouldn't happen.
@@ -6696,15 +6846,30 @@ static VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap,
         {
             int rc;
             if (!pIemCpu->fBypassHandlers)
-                rc = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhysFirst, pbBuf, cbMem, PGMACCESSORIGIN_IEM);
+            {
+                VBOXSTRICTRC rcStrict = PGMPhysRead(IEMCPU_TO_VM(pIemCpu), GCPhysFirst, pbBuf, cbMem, PGMACCESSORIGIN_IEM);
+                if (rcStrict == VINF_SUCCESS)
+                { /* nothing */ }
+                else if (PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+                    rcStrict = iemSetPassUpStatus(pIemCpu, rcStrict);
+                else
+                {
+                    Log(("iemMemBounceBufferMapPhys: PGMPhysRead GCPhysFirst=%RGp rcStrict=%Rrc (!!)\n",
+                         GCPhysFirst, VBOXSTRICTRC_VAL(rcStrict) ));
+                    return rcStrict;
+                }
+            }
             else
-                rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), pbBuf, GCPhysFirst, cbMem);
-            if (rc != VINF_SUCCESS)
             {
-                /** @todo status code handling */
-                Log(("iemMemBounceBufferMapPhys: %s GCPhysFirst=%RGp rc=%Rrc (!!)\n",
-                     pIemCpu->fBypassHandlers ? "PGMPhysRead" : "PGMPhysSimpleReadGCPhys",  GCPhysFirst, rc));
-                return rc;
+                rc = PGMPhysSimpleReadGCPhys(IEMCPU_TO_VM(pIemCpu), pbBuf, GCPhysFirst, cbMem);
+                if (RT_SUCCESS(rc))
+                { /* likely */ }
+                else
+                {
+                    Log(("iemMemBounceBufferMapPhys: PGMPhysSimpleReadGCPhys GCPhysFirst=%RGp rcStrict=%Rrc (!!)\n",
+                         GCPhysFirst, rc));
+                    return rc;
+                }
             }
         }
 
@@ -6785,7 +6950,8 @@ static VBOXSTRICTRC iemMemBounceBufferMapPhys(PIEMCPU pIemCpu, unsigned iMemMap,
  *                              IEM_ACCESS_WHAT_XXX bit is used when raising
  *                              exceptions.
  */
-static VBOXSTRICTRC iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess)
+IEM_STATIC VBOXSTRICTRC
+iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t fAccess)
 {
     /*
      * Check the input and figure out which mapping entry to use.
@@ -6844,7 +7010,7 @@ static VBOXSTRICTRC iemMemMap(PIEMCPU pIemCpu, void **ppvMem, size_t cbMem, uint
  * @param   pvMem               The mapping.
  * @param   fAccess             The kind of access.
  */
-static VBOXSTRICTRC iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess)
+IEM_STATIC VBOXSTRICTRC iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t fAccess)
 {
     int iMemMap = iemMapLookup(pIemCpu, pvMem, fAccess);
     AssertReturn(iMemMap >= 0, iMemMap);
@@ -6875,7 +7041,7 @@ static VBOXSTRICTRC iemMemCommitAndUnmap(PIEMCPU pIemCpu, void *pvMem, uint32_t
  * @returns Strict VBox status code to pass up.
  * @param   pIemCpu     The IEM per CPU data.
  */
-static void iemMemRollback(PIEMCPU pIemCpu)
+IEM_STATIC void iemMemRollback(PIEMCPU pIemCpu)
 {
     Assert(pIemCpu->cActiveMappings > 0);
 
@@ -6905,7 +7071,7 @@ static void iemMemRollback(PIEMCPU pIemCpu)
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU8(PIEMCPU pIemCpu, uint8_t *pu8Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU8(PIEMCPU pIemCpu, uint8_t *pu8Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint8_t const *pu8Src;
@@ -6929,7 +7095,7 @@ static VBOXSTRICTRC iemMemFetchDataU8(PIEMCPU pIemCpu, uint8_t *pu8Dst, uint8_t
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint16_t const *pu16Src;
@@ -6953,7 +7119,7 @@ static VBOXSTRICTRC iemMemFetchDataU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint32_t const *pu32Src;
@@ -6978,7 +7144,7 @@ static VBOXSTRICTRC iemMemFetchDataU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataS32SxU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataS32SxU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     int32_t const *pi32Src;
@@ -7007,7 +7173,7 @@ static VBOXSTRICTRC iemMemFetchDataS32SxU64(PIEMCPU pIemCpu, uint64_t *pu64Dst,
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint64_t const *pu64Src;
@@ -7031,7 +7197,7 @@ static VBOXSTRICTRC iemMemFetchDataU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     /** @todo testcase: Ordering of \#SS(0) vs \#GP() vs \#PF on SSE stuff. */
@@ -7059,7 +7225,7 @@ static VBOXSTRICTRC iemMemFetchDataU64AlignedU128(PIEMCPU pIemCpu, uint64_t *pu6
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataR80(PIEMCPU pIemCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataR80(PIEMCPU pIemCpu, PRTFLOAT80U pr80Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     PCRTFLOAT80U pr80Src;
@@ -7083,7 +7249,7 @@ static VBOXSTRICTRC iemMemFetchDataR80(PIEMCPU pIemCpu, PRTFLOAT80U pr80Dst, uin
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU128(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU128(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint128_t const *pu128Src;
@@ -7110,7 +7276,7 @@ static VBOXSTRICTRC iemMemFetchDataU128(PIEMCPU pIemCpu, uint128_t *pu128Dst, ui
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchDataU128AlignedSse(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataU128AlignedSse(PIEMCPU pIemCpu, uint128_t *pu128Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     /** @todo testcase: Ordering of \#SS(0) vs \#GP() vs \#PF on SSE stuff. */
@@ -7143,8 +7309,8 @@ static VBOXSTRICTRC iemMemFetchDataU128AlignedSse(PIEMCPU pIemCpu, uint128_t *pu
  * @param   GCPtrMem            The address of the guest memory.
  * @param   enmOpSize           The effective operand size.
  */
-static VBOXSTRICTRC iemMemFetchDataXdtr(PIEMCPU pIemCpu, uint16_t *pcbLimit, PRTGCPTR pGCPtrBase,
-                                        uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
+IEM_STATIC VBOXSTRICTRC iemMemFetchDataXdtr(PIEMCPU pIemCpu, uint16_t *pcbLimit, PRTGCPTR pGCPtrBase, uint8_t iSegReg,
+                                            RTGCPTR GCPtrMem, IEMMODE enmOpSize)
 {
     uint8_t const *pu8Src;
     VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu,
@@ -7192,7 +7358,7 @@ static VBOXSTRICTRC iemMemFetchDataXdtr(PIEMCPU pIemCpu, uint16_t *pcbLimit, PRT
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u8Value             The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU8(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU8(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint8_t u8Value)
 {
     /* The lazy approach for now... */
     uint8_t *pu8Dst;
@@ -7216,7 +7382,7 @@ static VBOXSTRICTRC iemMemStoreDataU8(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u16Value            The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU16(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU16(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint16_t u16Value)
 {
     /* The lazy approach for now... */
     uint16_t *pu16Dst;
@@ -7240,7 +7406,7 @@ static VBOXSTRICTRC iemMemStoreDataU16(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u32Value            The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU32(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU32(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint32_t u32Value)
 {
     /* The lazy approach for now... */
     uint32_t *pu32Dst;
@@ -7264,7 +7430,7 @@ static VBOXSTRICTRC iemMemStoreDataU32(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u64Value            The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU64(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU64(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint64_t u64Value)
 {
     /* The lazy approach for now... */
     uint64_t *pu64Dst;
@@ -7288,7 +7454,7 @@ static VBOXSTRICTRC iemMemStoreDataU64(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u64Value            The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
 {
     /* The lazy approach for now... */
     uint128_t *pu128Dst;
@@ -7312,7 +7478,7 @@ static VBOXSTRICTRC iemMemStoreDataU128(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPT
  * @param   GCPtrMem            The address of the guest memory.
  * @param   u64Value            The value to store.
  */
-static VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
+IEM_STATIC VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegReg, RTGCPTR GCPtrMem, uint128_t u128Value)
 {
     /* The lazy approach for now... */
     if (   (GCPtrMem & 15)
@@ -7342,8 +7508,8 @@ static VBOXSTRICTRC iemMemStoreDataU128AlignedSse(PIEMCPU pIemCpu, uint8_t iSegR
  * @param   GCPtrMem            The address of the guest memory.
  * @param   enmOpSize           The effective operand size.
  */
-static VBOXSTRICTRC iemMemStoreDataXdtr(PIEMCPU pIemCpu, uint16_t cbLimit, RTGCPTR GCPtrBase,
-                                        uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
+IEM_STATIC VBOXSTRICTRC
+iemMemStoreDataXdtr(PIEMCPU pIemCpu, uint16_t cbLimit, RTGCPTR GCPtrBase, uint8_t iSegReg, RTGCPTR GCPtrMem, IEMMODE enmOpSize)
 {
     uint8_t *pu8Src;
     VBOXSTRICTRC rcStrict = iemMemMap(pIemCpu,
@@ -7389,7 +7555,7 @@ static VBOXSTRICTRC iemMemStoreDataXdtr(PIEMCPU pIemCpu, uint16_t cbLimit, RTGCP
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u16Value            The value to push.
  */
-static VBOXSTRICTRC iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7420,7 +7586,7 @@ static VBOXSTRICTRC iemMemStackPushU16(PIEMCPU pIemCpu, uint16_t u16Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u32Value            The value to push.
  */
-static VBOXSTRICTRC iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7451,7 +7617,7 @@ static VBOXSTRICTRC iemMemStackPushU32(PIEMCPU pIemCpu, uint32_t u32Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u16Value            The value to push.
  */
-static VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7503,7 +7669,7 @@ static VBOXSTRICTRC iemMemStackPushU32SReg(PIEMCPU pIemCpu, uint32_t u32Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   u64Value            The value to push.
  */
-static VBOXSTRICTRC iemMemStackPushU64(PIEMCPU pIemCpu, uint64_t u64Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU64(PIEMCPU pIemCpu, uint64_t u64Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7534,7 +7700,7 @@ static VBOXSTRICTRC iemMemStackPushU64(PIEMCPU pIemCpu, uint64_t u64Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pu16Value           Where to store the popped value.
  */
-static VBOXSTRICTRC iemMemStackPopU16(PIEMCPU pIemCpu, uint16_t *pu16Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU16(PIEMCPU pIemCpu, uint16_t *pu16Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7565,7 +7731,7 @@ static VBOXSTRICTRC iemMemStackPopU16(PIEMCPU pIemCpu, uint16_t *pu16Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pu32Value           Where to store the popped value.
  */
-static VBOXSTRICTRC iemMemStackPopU32(PIEMCPU pIemCpu, uint32_t *pu32Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU32(PIEMCPU pIemCpu, uint32_t *pu32Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7596,7 +7762,7 @@ static VBOXSTRICTRC iemMemStackPopU32(PIEMCPU pIemCpu, uint32_t *pu32Value)
  * @param   pIemCpu             The IEM per CPU data.
  * @param   pu64Value           Where to store the popped value.
  */
-static VBOXSTRICTRC iemMemStackPopU64(PIEMCPU pIemCpu, uint64_t *pu64Value)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU64(PIEMCPU pIemCpu, uint64_t *pu64Value)
 {
     /* Increment the stack pointer. */
     uint64_t    uNewRsp;
@@ -7628,7 +7794,7 @@ static VBOXSTRICTRC iemMemStackPopU64(PIEMCPU pIemCpu, uint64_t *pu64Value)
  * @param   u16Value            The value to push.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPushU16Ex(PIEMCPU pIemCpu, uint16_t u16Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU16Ex(PIEMCPU pIemCpu, uint16_t u16Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7660,7 +7826,7 @@ static VBOXSTRICTRC iemMemStackPushU16Ex(PIEMCPU pIemCpu, uint16_t u16Value, PRT
  * @param   u32Value            The value to push.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPushU32Ex(PIEMCPU pIemCpu, uint32_t u32Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU32Ex(PIEMCPU pIemCpu, uint32_t u32Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7692,7 +7858,7 @@ static VBOXSTRICTRC iemMemStackPushU32Ex(PIEMCPU pIemCpu, uint32_t u32Value, PRT
  * @param   u64Value            The value to push.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPushU64Ex(PIEMCPU pIemCpu, uint64_t u64Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushU64Ex(PIEMCPU pIemCpu, uint64_t u64Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7724,7 +7890,7 @@ static VBOXSTRICTRC iemMemStackPushU64Ex(PIEMCPU pIemCpu, uint64_t u64Value, PRT
  * @param   pu16Value           Where to store the popped value.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPopU16Ex(PIEMCPU pIemCpu, uint16_t *pu16Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU16Ex(PIEMCPU pIemCpu, uint16_t *pu16Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7756,7 +7922,7 @@ static VBOXSTRICTRC iemMemStackPopU16Ex(PIEMCPU pIemCpu, uint16_t *pu16Value, PR
  * @param   pu32Value           Where to store the popped value.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPopU32Ex(PIEMCPU pIemCpu, uint32_t *pu32Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU32Ex(PIEMCPU pIemCpu, uint32_t *pu32Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7788,7 +7954,7 @@ static VBOXSTRICTRC iemMemStackPopU32Ex(PIEMCPU pIemCpu, uint32_t *pu32Value, PR
  * @param   pu64Value           Where to store the popped value.
  * @param   pTmpRsp             Pointer to the temporary stack pointer.
  */
-static VBOXSTRICTRC iemMemStackPopU64Ex(PIEMCPU pIemCpu, uint64_t *pu64Value, PRTUINT64U pTmpRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopU64Ex(PIEMCPU pIemCpu, uint64_t *pu64Value, PRTUINT64U pTmpRsp)
 {
     /* Increment the stack pointer. */
     PCPUMCTX    pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -7829,7 +7995,7 @@ static VBOXSTRICTRC iemMemStackPopU64Ex(PIEMCPU pIemCpu, uint64_t *pu64Value, PR
  *                              passed unchanged to
  *                              iemMemStackPushCommitSpecial().
  */
-static VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void **ppvMem, uint64_t *puNewRsp)
 {
     Assert(cbMem < UINT8_MAX);
     PCPUMCTX    pCtx     = pIemCpu->CTX_SUFF(pCtx);
@@ -7850,7 +8016,7 @@ static VBOXSTRICTRC iemMemStackPushBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, v
  * @param   uNewRsp             The new RSP value returned by
  *                              iemMemStackPushBeginSpecial().
  */
-static VBOXSTRICTRC iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, uint64_t uNewRsp)
 {
     VBOXSTRICTRC rcStrict = iemMemCommitAndUnmap(pIemCpu, pvMem, IEM_ACCESS_STACK_W);
     if (rcStrict == VINF_SUCCESS)
@@ -7873,7 +8039,7 @@ static VBOXSTRICTRC iemMemStackPushCommitSpecial(PIEMCPU pIemCpu, void *pvMem, u
  *                              iemMemStackPopCommitSpecial() or applied
  *                              manually if iemMemStackPopDoneSpecial() is used.
  */
-static VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
 {
     Assert(cbMem < UINT8_MAX);
     PCPUMCTX    pCtx     = pIemCpu->CTX_SUFF(pCtx);
@@ -7896,7 +8062,7 @@ static VBOXSTRICTRC iemMemStackPopBeginSpecial(PIEMCPU pIemCpu, size_t cbMem, vo
  *                              iemMemStackPopCommitSpecial() or applied
  *                              manually if iemMemStackPopDoneSpecial() is used.
  */
-static VBOXSTRICTRC iemMemStackPopContinueSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopContinueSpecial(PIEMCPU pIemCpu, size_t cbMem, void const **ppvMem, uint64_t *puNewRsp)
 {
     Assert(cbMem < UINT8_MAX);
     PCPUMCTX    pCtx     = pIemCpu->CTX_SUFF(pCtx);
@@ -7920,7 +8086,7 @@ static VBOXSTRICTRC iemMemStackPopContinueSpecial(PIEMCPU pIemCpu, size_t cbMem,
  * @param   uNewRsp             The new RSP value returned by
  *                              iemMemStackPopBeginSpecial().
  */
-static VBOXSTRICTRC iemMemStackPopCommitSpecial(PIEMCPU pIemCpu, void const *pvMem, uint64_t uNewRsp)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopCommitSpecial(PIEMCPU pIemCpu, void const *pvMem, uint64_t uNewRsp)
 {
     VBOXSTRICTRC rcStrict = iemMemCommitAndUnmap(pIemCpu, (void *)pvMem, IEM_ACCESS_STACK_R);
     if (rcStrict == VINF_SUCCESS)
@@ -7941,7 +8107,7 @@ static VBOXSTRICTRC iemMemStackPopCommitSpecial(PIEMCPU pIemCpu, void const *pvM
  *                              iemMemStackPopBeginSpecial() or
  *                              iemMemStackPopContinueSpecial().
  */
-static VBOXSTRICTRC iemMemStackPopDoneSpecial(PIEMCPU pIemCpu, void const *pvMem)
+IEM_STATIC VBOXSTRICTRC iemMemStackPopDoneSpecial(PIEMCPU pIemCpu, void const *pvMem)
 {
     return iemMemCommitAndUnmap(pIemCpu, (void *)pvMem, IEM_ACCESS_STACK_R);
 }
@@ -7957,7 +8123,7 @@ static VBOXSTRICTRC iemMemStackPopDoneSpecial(PIEMCPU pIemCpu, void const *pvMem
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchSysU8(PIEMCPU pIemCpu, uint8_t *pbDst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchSysU8(PIEMCPU pIemCpu, uint8_t *pbDst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint8_t const *pbSrc;
@@ -7981,7 +8147,7 @@ static VBOXSTRICTRC iemMemFetchSysU8(PIEMCPU pIemCpu, uint8_t *pbDst, uint8_t iS
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchSysU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchSysU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint16_t const *pu16Src;
@@ -8005,7 +8171,7 @@ static VBOXSTRICTRC iemMemFetchSysU16(PIEMCPU pIemCpu, uint16_t *pu16Dst, uint8_
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint32_t const *pu32Src;
@@ -8029,7 +8195,7 @@ static VBOXSTRICTRC iemMemFetchSysU32(PIEMCPU pIemCpu, uint32_t *pu32Dst, uint8_
  *                              this access.  The base and limits are checked.
  * @param   GCPtrMem            The address of the guest memory.
  */
-static VBOXSTRICTRC iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
+IEM_STATIC VBOXSTRICTRC iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_t iSegReg, RTGCPTR GCPtrMem)
 {
     /* The lazy approach for now... */
     uint64_t const *pu64Src;
@@ -8053,8 +8219,8 @@ static VBOXSTRICTRC iemMemFetchSysU64(PIEMCPU pIemCpu, uint64_t *pu64Dst, uint8_
  * @param   uXcpt               The exception to raise on table lookup error.
  * @param   uErrorCode          The error code associated with the exception.
  */
-static VBOXSTRICTRC iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt,
-                                              uint16_t uErrorCode)
+IEM_STATIC VBOXSTRICTRC
+iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt, uint16_t uErrorCode)
 {
     AssertPtr(pDesc);
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -8121,7 +8287,7 @@ static VBOXSTRICTRC iemMemFetchSelDescWithErr(PIEMCPU pIemCpu, PIEMSELDESC pDesc
  * @param   uSel                The selector which table entry to fetch.
  * @param   uXcpt               The exception to raise on table lookup error.
  */
-static VBOXSTRICTRC iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt)
+IEM_STATIC VBOXSTRICTRC iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint16_t uSel, uint8_t uXcpt)
 {
     return iemMemFetchSelDescWithErr(pIemCpu, pDesc, uSel, uXcpt, uSel & X86_SEL_MASK_OFF_RPL);
 }
@@ -8133,7 +8299,7 @@ static VBOXSTRICTRC iemMemFetchSelDesc(PIEMCPU pIemCpu, PIEMSELDESC pDesc, uint1
  * @param   pDescSs             Where to return the fake stack descriptor.
  * @param   uDpl                The DPL we want.
  */
-static void iemMemFakeStackSelDesc(PIEMSELDESC pDescSs, uint32_t uDpl)
+IEM_STATIC void iemMemFakeStackSelDesc(PIEMSELDESC pDescSs, uint32_t uDpl)
 {
     pDescSs->Long.au64[0] = 0;
     pDescSs->Long.au64[1] = 0;
@@ -8155,7 +8321,7 @@ static void iemMemFakeStackSelDesc(PIEMSELDESC pDescSs, uint32_t uDpl)
  * @param   pIemCpu             The IEM per CPU.
  * @param   uSel                The selector.
  */
-static VBOXSTRICTRC iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel)
+IEM_STATIC VBOXSTRICTRC iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel)
 {
     PCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
 
@@ -9243,7 +9409,7 @@ static VBOXSTRICTRC iemMemMarkSelDescAccessed(PIEMCPU pIemCpu, uint16_t uSel)
  *                              RIP relative addressing.
  * @param   pGCPtrEff           Where to return the effective address.
  */
-static VBOXSTRICTRC iemOpHlpCalcRmEffAddr(PIEMCPU pIemCpu, uint8_t bRm, uint8_t cbImm, PRTGCPTR pGCPtrEff)
+IEM_STATIC VBOXSTRICTRC iemOpHlpCalcRmEffAddr(PIEMCPU pIemCpu, uint8_t bRm, uint8_t cbImm, PRTGCPTR pGCPtrEff)
 {
     Log5(("iemOpHlpCalcRmEffAddr: bRm=%#x\n", bRm));
     PCCPUMCTX pCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -9547,7 +9713,7 @@ static VBOXSTRICTRC iemOpHlpCalcRmEffAddr(PIEMCPU pIemCpu, uint8_t bRm, uint8_t
 /**
  * Sets up execution verification mode.
  */
-static void iemExecVerificationModeSetup(PIEMCPU pIemCpu)
+IEM_STATIC void iemExecVerificationModeSetup(PIEMCPU pIemCpu)
 {
     PVMCPU   pVCpu   = IEMCPU_TO_VMCPU(pIemCpu);
     PCPUMCTX pOrgCtx = pIemCpu->CTX_SUFF(pCtx);
@@ -9724,7 +9890,7 @@ static void iemExecVerificationModeSetup(PIEMCPU pIemCpu)
  * Allocate an event record.
  * @returns Pointer to a record.
  */
-static PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu)
+IEM_STATIC PIEMVERIFYEVTREC iemVerifyAllocRecord(PIEMCPU pIemCpu)
 {
     if (!IEM_VERIFICATION_ENABLED(pIemCpu))
         return NULL;
@@ -9852,7 +10018,7 @@ VMM_INT_DECL(void)   IEMNotifyIOPortWriteString(PVM pVM, RTIOPORT Port, RTGCPTR
  * @param   pu32Value           Where to store the fake value.
  * @param   cbValue             The size of the access.
  */
-static VBOXSTRICTRC iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
+IEM_STATIC VBOXSTRICTRC iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
 {
     PIEMVERIFYEVTREC pEvtRec = iemVerifyAllocRecord(pIemCpu);
     if (pEvtRec)
@@ -9878,7 +10044,7 @@ static VBOXSTRICTRC iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint
  * @param   u32Value            The value being written.
  * @param   cbValue             The size of the access.
  */
-static VBOXSTRICTRC iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
+IEM_STATIC VBOXSTRICTRC iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
 {
     PIEMVERIFYEVTREC pEvtRec = iemVerifyAllocRecord(pIemCpu);
     if (pEvtRec)
@@ -9899,7 +10065,7 @@ static VBOXSTRICTRC iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uin
  * Used to add extra details about a stub case.
  * @param   pIemCpu     The IEM per CPU state.
  */
-static void iemVerifyAssertMsg2(PIEMCPU pIemCpu)
+IEM_STATIC void iemVerifyAssertMsg2(PIEMCPU pIemCpu)
 {
     PCPUMCTX pCtx  = pIemCpu->CTX_SUFF(pCtx);
     PVM      pVM   = IEMCPU_TO_VM(pIemCpu);
@@ -9951,7 +10117,7 @@ static void iemVerifyAssertMsg2(PIEMCPU pIemCpu)
  *
  * @param   pEvtRec         The record to dump.
  */
-static void iemVerifyAssertAddRecordDump(PIEMVERIFYEVTREC pEvtRec)
+IEM_STATIC void iemVerifyAssertAddRecordDump(PIEMVERIFYEVTREC pEvtRec)
 {
     switch (pEvtRec->enmEvent)
     {
@@ -9994,7 +10160,7 @@ static void iemVerifyAssertAddRecordDump(PIEMVERIFYEVTREC pEvtRec)
  * @param   pEvtRec2        The second record.
  * @param   pszMsg          The message explaining why we're asserting.
  */
-static void iemVerifyAssertRecords(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec1, PIEMVERIFYEVTREC pEvtRec2, const char *pszMsg)
+IEM_STATIC void iemVerifyAssertRecords(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec1, PIEMVERIFYEVTREC pEvtRec2, const char *pszMsg)
 {
     RTAssertMsg1(pszMsg, __LINE__, __FILE__, __PRETTY_FUNCTION__);
     iemVerifyAssertAddRecordDump(pEvtRec1);
@@ -10012,7 +10178,7 @@ static void iemVerifyAssertRecords(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec1, P
  * @param   pEvtRec1        The first record.
  * @param   pszMsg          The message explaining why we're asserting.
  */
-static void iemVerifyAssertRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, const char *pszMsg)
+IEM_STATIC void iemVerifyAssertRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, const char *pszMsg)
 {
     RTAssertMsg1(pszMsg, __LINE__, __FILE__, __PRETTY_FUNCTION__);
     iemVerifyAssertAddRecordDump(pEvtRec);
@@ -10029,7 +10195,7 @@ static void iemVerifyAssertRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, con
  * @param   fRem            Set if REM was doing the other executing. If clear
  *                          it was HM.
  */
-static void iemVerifyWriteRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, bool fRem)
+IEM_STATIC void iemVerifyWriteRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, bool fRem)
 {
     uint8_t abBuf[sizeof(pEvtRec->u.RamWrite.ab)]; RT_ZERO(abBuf);
     Assert(sizeof(abBuf) >= pEvtRec->u.RamWrite.cb);
@@ -10071,7 +10237,7 @@ static void iemVerifyWriteRecord(PIEMCPU pIemCpu, PIEMVERIFYEVTREC pEvtRec, bool
 /**
  * Performs the post-execution verfication checks.
  */
-static void iemExecVerificationModeCheck(PIEMCPU pIemCpu)
+IEM_STATIC void iemExecVerificationModeCheck(PIEMCPU pIemCpu)
 {
     if (!IEM_VERIFICATION_ENABLED(pIemCpu))
         return;
@@ -10445,13 +10611,13 @@ static void iemExecVerificationModeCheck(PIEMCPU pIemCpu)
 #else  /* !IEM_VERIFICATION_MODE_FULL || !IN_RING3 */
 
 /* stubs */
-static VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
+IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortRead(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t *pu32Value, size_t cbValue)
 {
     NOREF(pIemCpu); NOREF(Port); NOREF(pu32Value); NOREF(cbValue);
     return VERR_INTERNAL_ERROR;
 }
 
-static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
+IEM_STATIC VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port, uint32_t u32Value, size_t cbValue)
 {
     NOREF(pIemCpu); NOREF(Port); NOREF(u32Value); NOREF(cbValue);
     return VERR_INTERNAL_ERROR;
@@ -10470,7 +10636,7 @@ static VBOXSTRICTRC     iemVerifyFakeIOPortWrite(PIEMCPU pIemCpu, RTIOPORT Port,
  *                      our debug context. When clear, we assume IEMCPU holds
  *                      valid CPU mode info.
  */
-static void iemLogCurInstr(PVMCPU pVCpu, PCPUMCTX pCtx, bool fSameCtx)
+IEM_STATIC void iemLogCurInstr(PVMCPU pVCpu, PCPUMCTX pCtx, bool fSameCtx)
 {
 # ifdef IN_RING3
     if (LogIs2Enabled())
@@ -10547,7 +10713,17 @@ DECL_FORCE_INLINE(VBOXSTRICTRC) iemExecStatusCodeFiddling(PIEMCPU pIemCpu, VBOXS
                       || rcStrict == VINF_IOM_R3_MMIO_WRITE
                       || rcStrict == VINF_CPUM_R3_MSR_READ
                       || rcStrict == VINF_CPUM_R3_MSR_WRITE
+                      || rcStrict == VINF_EM_RAW_EMULATE_INSTR
+                      /* raw-mode / virt handlers only: */
+                      || rcStrict == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT
+                      || rcStrict == VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT
+                      || rcStrict == VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT
+                      || rcStrict == VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT
+                      || rcStrict == VINF_SELM_SYNC_GDT
+                      || rcStrict == VINF_CSAM_PENDING_ACTION
+                      || rcStrict == VINF_PATM_CHECK_PATCH_PAGE
                       , ("rcStrict=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+/** @todo adjust for VINF_EM_RAW_EMULATE_INSTR   */
             int32_t const rcPassUp = pIemCpu->rcPassUp;
             if (rcPassUp == VINF_SUCCESS)
                 pIemCpu->cRetInfStatuses++;
diff --git a/src/VBox/VMM/VMMAll/IOMAll.cpp b/src/VBox/VMM/VMMAll/IOMAll.cpp
index 5b20cdb..f2a698c 100644
--- a/src/VBox/VMM/VMMAll/IOMAll.cpp
+++ b/src/VBox/VMM/VMMAll/IOMAll.cpp
@@ -56,156 +56,6 @@ VMMDECL(bool) IOMIsLockWriteOwner(PVM pVM)
 }
 
 
-/**
- * Returns the contents of register or immediate data of instruction's parameter.
- *
- * @returns true on success.
- *
- * @todo Get rid of this code. Use DISQueryParamVal instead
- *
- * @param   pCpu                Pointer to current disassembler context.
- * @param   pParam              Pointer to parameter of instruction to process.
- * @param   pRegFrame           Pointer to CPUMCTXCORE guest structure.
- * @param   pu64Data            Where to store retrieved data.
- * @param   pcbSize             Where to store the size of data (1, 2, 4, 8).
- */
-bool iomGetRegImmData(PDISCPUSTATE pCpu, PCDISOPPARAM pParam, PCPUMCTXCORE pRegFrame, uint64_t *pu64Data, unsigned *pcbSize)
-{
-    NOREF(pCpu);
-    if (pParam->fUse & (DISUSE_BASE | DISUSE_INDEX | DISUSE_SCALE | DISUSE_DISPLACEMENT8 | DISUSE_DISPLACEMENT16 | DISUSE_DISPLACEMENT32))
-    {
-        *pcbSize  = 0;
-        *pu64Data = 0;
-        return false;
-    }
-
-    /* divide and conquer */
-    if (pParam->fUse & (DISUSE_REG_GEN64 | DISUSE_REG_GEN32 | DISUSE_REG_GEN16 | DISUSE_REG_GEN8))
-    {
-        if (pParam->fUse & DISUSE_REG_GEN32)
-        {
-            *pcbSize  = 4;
-            DISFetchReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t *)pu64Data);
-            return true;
-        }
-
-        if (pParam->fUse & DISUSE_REG_GEN16)
-        {
-            *pcbSize  = 2;
-            DISFetchReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t *)pu64Data);
-            return true;
-        }
-
-        if (pParam->fUse & DISUSE_REG_GEN8)
-        {
-            *pcbSize  = 1;
-            DISFetchReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t *)pu64Data);
-            return true;
-        }
-
-        Assert(pParam->fUse & DISUSE_REG_GEN64);
-        *pcbSize  = 8;
-        DISFetchReg64(pRegFrame, pParam->Base.idxGenReg, pu64Data);
-        return true;
-    }
-    else
-    {
-        if (pParam->fUse & (DISUSE_IMMEDIATE64 | DISUSE_IMMEDIATE64_SX8))
-        {
-            *pcbSize  = 8;
-            *pu64Data = pParam->uValue;
-            return true;
-        }
-
-        if (pParam->fUse & (DISUSE_IMMEDIATE32 | DISUSE_IMMEDIATE32_SX8))
-        {
-            *pcbSize  = 4;
-            *pu64Data = (uint32_t)pParam->uValue;
-            return true;
-        }
-
-        if (pParam->fUse & (DISUSE_IMMEDIATE16 | DISUSE_IMMEDIATE16_SX8))
-        {
-            *pcbSize  = 2;
-            *pu64Data = (uint16_t)pParam->uValue;
-            return true;
-        }
-
-        if (pParam->fUse & DISUSE_IMMEDIATE8)
-        {
-            *pcbSize  = 1;
-            *pu64Data = (uint8_t)pParam->uValue;
-            return true;
-        }
-
-        if (pParam->fUse & DISUSE_REG_SEG)
-        {
-            *pcbSize  = 2;
-            DISFetchRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL *)pu64Data);
-            return true;
-        } /* Else - error. */
-
-        AssertFailed();
-        *pcbSize  = 0;
-        *pu64Data = 0;
-        return false;
-    }
-}
-
-
-/**
- * Saves data to 8/16/32 general purpose or segment register defined by
- * instruction's parameter.
- *
- * @returns true on success.
- * @param   pCpu                Pointer to current disassembler context.
- * @param   pParam              Pointer to parameter of instruction to process.
- * @param   pRegFrame           Pointer to CPUMCTXCORE guest structure.
- * @param   u64Data             8/16/32/64 bit data to store.
- */
-bool iomSaveDataToReg(PDISCPUSTATE pCpu, PCDISOPPARAM pParam, PCPUMCTXCORE pRegFrame, uint64_t u64Data)
-{
-    NOREF(pCpu);
-    if (pParam->fUse & (DISUSE_BASE | DISUSE_INDEX | DISUSE_SCALE | DISUSE_DISPLACEMENT8 | DISUSE_DISPLACEMENT16 | DISUSE_DISPLACEMENT32 | DISUSE_DISPLACEMENT64 | DISUSE_IMMEDIATE8 | DISUSE_IMMEDIATE16 | DISUSE_IMMEDIATE32 | DISUSE_IMMEDIATE32_SX8 | DISUSE_IMMEDIATE16_SX8))
-    {
-        return false;
-    }
-
-    if (pParam->fUse & DISUSE_REG_GEN32)
-    {
-        DISWriteReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t)u64Data);
-        return true;
-    }
-
-    if (pParam->fUse & DISUSE_REG_GEN64)
-    {
-        DISWriteReg64(pRegFrame, pParam->Base.idxGenReg, u64Data);
-        return true;
-    }
-
-    if (pParam->fUse & DISUSE_REG_GEN16)
-    {
-        DISWriteReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t)u64Data);
-        return true;
-    }
-
-    if (pParam->fUse & DISUSE_REG_GEN8)
-    {
-        DISWriteReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t)u64Data);
-        return true;
-    }
-
-    if (pParam->fUse & DISUSE_REG_SEG)
-    {
-        DISWriteRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL)u64Data);
-        return true;
-    }
-
-    /* Else - error. */
-    return false;
-}
-
-
 //#undef LOG_GROUP
 //#define LOG_GROUP LOG_GROUP_IOM_IOPORT
 
@@ -892,119 +742,6 @@ VMMDECL(VBOXSTRICTRC) IOMInterpretCheckPortIOAccess(PVM pVM, PCPUMCTXCORE pCtxCo
 
 
 /**
- * IN <AL|AX|EAX>, <DX|imm16>
- *
- * @returns Strict VBox status code. Informational status codes other than the one documented
- *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
- * @retval  VINF_SUCCESS                Success.
- * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
- *                                      status code must be passed on to EM.
- * @retval  VINF_IOM_R3_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
- * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
- * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
- * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
- *
- * @param   pVM         The virtual machine (GC pointer of course).
- * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
- * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
- * @param   pCpu        Disassembler CPU state.
- */
-VMMDECL(VBOXSTRICTRC) IOMInterpretIN(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
-{
-#ifdef IN_RC
-    STAM_COUNTER_INC(&pVM->iom.s.StatInstIn);
-#endif
-
-    /*
-     * Get port number from second parameter.
-     * And get the register size from the first parameter.
-     */
-    uint64_t    uPort = 0;
-    unsigned    cbSize = 0;
-    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uPort, &cbSize);
-    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
-
-    cbSize = DISGetParamSize(pCpu, &pCpu->Param1);
-    Assert(cbSize > 0);
-    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, uPort, cbSize);
-    if (rcStrict == VINF_SUCCESS)
-    {
-        /*
-         * Attempt to read the port.
-         */
-        uint32_t u32Data = UINT32_C(0xffffffff);
-        rcStrict = IOMIOPortRead(pVM, pVCpu, uPort, &u32Data, cbSize);
-        if (IOM_SUCCESS(rcStrict))
-        {
-            /*
-             * Store the result in the AL|AX|EAX register.
-             */
-            fRc = iomSaveDataToReg(pCpu, &pCpu->Param1, pRegFrame, u32Data);
-            AssertMsg(fRc, ("Failed to store register value!\n")); NOREF(fRc);
-        }
-        else
-            AssertMsg(rcStrict == VINF_IOM_R3_IOPORT_READ || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-    }
-    else
-        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-
-    return rcStrict;
-}
-
-
-/**
- * OUT <DX|imm16>, <AL|AX|EAX>
- *
- * @returns Strict VBox status code. Informational status codes other than the one documented
- *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
- * @retval  VINF_SUCCESS                Success.
- * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
- *                                      status code must be passed on to EM.
- * @retval  VINF_IOM_R3_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
- * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
- * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
- * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
- *
- * @param   pVM         The virtual machine (GC pointer of course).
- * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
- * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
- * @param   pCpu        Disassembler CPU state.
- */
-VMMDECL(VBOXSTRICTRC) IOMInterpretOUT(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
-{
-#ifdef IN_RC
-    STAM_COUNTER_INC(&pVM->iom.s.StatInstOut);
-#endif
-
-    /*
-     * Get port number from first parameter.
-     * And get the register size and value from the second parameter.
-     */
-    uint64_t    uPort = 0;
-    unsigned    cbSize = 0;
-    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &uPort, &cbSize);
-    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
-
-    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, uPort, cbSize);
-    if (rcStrict == VINF_SUCCESS)
-    {
-        uint64_t u64Data = 0;
-        fRc = iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &u64Data, &cbSize);
-        AssertMsg(fRc, ("Failed to get reg value!\n")); NOREF(fRc);
-
-        /*
-         * Attempt to write to the port.
-         */
-        rcStrict = IOMIOPortWrite(pVM, pVCpu, uPort, u64Data, cbSize);
-        AssertMsg(rcStrict == VINF_SUCCESS || rcStrict == VINF_IOM_R3_IOPORT_WRITE || (rcStrict >= VINF_EM_FIRST && rcStrict <= VINF_EM_LAST) || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-    }
-    else
-        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-    return rcStrict;
-}
-
-
-/**
  * Fress an MMIO range after the reference counter has become zero.
  *
  * @param   pVM                 Pointer to the VM.
diff --git a/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp b/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
index a0ff863..2100861 100644
--- a/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
+++ b/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -28,9 +28,7 @@
 #include <VBox/vmm/em.h>
 #include <VBox/vmm/pgm.h>
 #include <VBox/vmm/trpm.h>
-#if defined(IEM_VERIFICATION_MODE) && defined(IN_RING3)
-# include <VBox/vmm/iem.h>
-#endif
+#include <VBox/vmm/iem.h>
 #include "IOMInternal.h"
 #include <VBox/vmm/vm.h>
 #include <VBox/vmm/vmm.h>
@@ -75,6 +73,156 @@ static const unsigned g_aSize2Shift[] =
 
 
 /**
+ * Returns the contents of register or immediate data of instruction's parameter.
+ *
+ * @returns true on success.
+ *
+ * @todo Get rid of this code. Use DISQueryParamVal instead
+ *
+ * @param   pCpu                Pointer to current disassembler context.
+ * @param   pParam              Pointer to parameter of instruction to process.
+ * @param   pRegFrame           Pointer to CPUMCTXCORE guest structure.
+ * @param   pu64Data            Where to store retrieved data.
+ * @param   pcbSize             Where to store the size of data (1, 2, 4, 8).
+ */
+bool iomGetRegImmData(PDISCPUSTATE pCpu, PCDISOPPARAM pParam, PCPUMCTXCORE pRegFrame, uint64_t *pu64Data, unsigned *pcbSize)
+{
+    NOREF(pCpu);
+    if (pParam->fUse & (DISUSE_BASE | DISUSE_INDEX | DISUSE_SCALE | DISUSE_DISPLACEMENT8 | DISUSE_DISPLACEMENT16 | DISUSE_DISPLACEMENT32))
+    {
+        *pcbSize  = 0;
+        *pu64Data = 0;
+        return false;
+    }
+
+    /* divide and conquer */
+    if (pParam->fUse & (DISUSE_REG_GEN64 | DISUSE_REG_GEN32 | DISUSE_REG_GEN16 | DISUSE_REG_GEN8))
+    {
+        if (pParam->fUse & DISUSE_REG_GEN32)
+        {
+            *pcbSize  = 4;
+            DISFetchReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t *)pu64Data);
+            return true;
+        }
+
+        if (pParam->fUse & DISUSE_REG_GEN16)
+        {
+            *pcbSize  = 2;
+            DISFetchReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t *)pu64Data);
+            return true;
+        }
+
+        if (pParam->fUse & DISUSE_REG_GEN8)
+        {
+            *pcbSize  = 1;
+            DISFetchReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t *)pu64Data);
+            return true;
+        }
+
+        Assert(pParam->fUse & DISUSE_REG_GEN64);
+        *pcbSize  = 8;
+        DISFetchReg64(pRegFrame, pParam->Base.idxGenReg, pu64Data);
+        return true;
+    }
+    else
+    {
+        if (pParam->fUse & (DISUSE_IMMEDIATE64 | DISUSE_IMMEDIATE64_SX8))
+        {
+            *pcbSize  = 8;
+            *pu64Data = pParam->uValue;
+            return true;
+        }
+
+        if (pParam->fUse & (DISUSE_IMMEDIATE32 | DISUSE_IMMEDIATE32_SX8))
+        {
+            *pcbSize  = 4;
+            *pu64Data = (uint32_t)pParam->uValue;
+            return true;
+        }
+
+        if (pParam->fUse & (DISUSE_IMMEDIATE16 | DISUSE_IMMEDIATE16_SX8))
+        {
+            *pcbSize  = 2;
+            *pu64Data = (uint16_t)pParam->uValue;
+            return true;
+        }
+
+        if (pParam->fUse & DISUSE_IMMEDIATE8)
+        {
+            *pcbSize  = 1;
+            *pu64Data = (uint8_t)pParam->uValue;
+            return true;
+        }
+
+        if (pParam->fUse & DISUSE_REG_SEG)
+        {
+            *pcbSize  = 2;
+            DISFetchRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL *)pu64Data);
+            return true;
+        } /* Else - error. */
+
+        AssertFailed();
+        *pcbSize  = 0;
+        *pu64Data = 0;
+        return false;
+    }
+}
+
+
+/**
+ * Saves data to 8/16/32 general purpose or segment register defined by
+ * instruction's parameter.
+ *
+ * @returns true on success.
+ * @param   pCpu                Pointer to current disassembler context.
+ * @param   pParam              Pointer to parameter of instruction to process.
+ * @param   pRegFrame           Pointer to CPUMCTXCORE guest structure.
+ * @param   u64Data             8/16/32/64 bit data to store.
+ */
+bool iomSaveDataToReg(PDISCPUSTATE pCpu, PCDISOPPARAM pParam, PCPUMCTXCORE pRegFrame, uint64_t u64Data)
+{
+    NOREF(pCpu);
+    if (pParam->fUse & (DISUSE_BASE | DISUSE_INDEX | DISUSE_SCALE | DISUSE_DISPLACEMENT8 | DISUSE_DISPLACEMENT16 | DISUSE_DISPLACEMENT32 | DISUSE_DISPLACEMENT64 | DISUSE_IMMEDIATE8 | DISUSE_IMMEDIATE16 | DISUSE_IMMEDIATE32 | DISUSE_IMMEDIATE32_SX8 | DISUSE_IMMEDIATE16_SX8))
+    {
+        return false;
+    }
+
+    if (pParam->fUse & DISUSE_REG_GEN32)
+    {
+        DISWriteReg32(pRegFrame, pParam->Base.idxGenReg, (uint32_t)u64Data);
+        return true;
+    }
+
+    if (pParam->fUse & DISUSE_REG_GEN64)
+    {
+        DISWriteReg64(pRegFrame, pParam->Base.idxGenReg, u64Data);
+        return true;
+    }
+
+    if (pParam->fUse & DISUSE_REG_GEN16)
+    {
+        DISWriteReg16(pRegFrame, pParam->Base.idxGenReg, (uint16_t)u64Data);
+        return true;
+    }
+
+    if (pParam->fUse & DISUSE_REG_GEN8)
+    {
+        DISWriteReg8(pRegFrame, pParam->Base.idxGenReg, (uint8_t)u64Data);
+        return true;
+    }
+
+    if (pParam->fUse & DISUSE_REG_SEG)
+    {
+        DISWriteRegSeg(pRegFrame, (DISSELREG)pParam->Base.idxSegReg, (RTSEL)u64Data);
+        return true;
+    }
+
+    /* Else - error. */
+    return false;
+}
+
+
+/**
  * Deals with complicated MMIO writes.
  *
  * Complicated means unaligned or non-dword/qword sized accesses depending on
@@ -275,7 +423,8 @@ static VBOXSTRICTRC iomMMIODoComplicatedWrite(PVM pVM, PIOMMMIORANGE pRange, RTG
  * Wrapper which does the write and updates range statistics when such are enabled.
  * @warning RT_SUCCESS(rc=VINF_IOM_R3_MMIO_WRITE) is TRUE!
  */
-static int iomMMIODoWrite(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCPHYS GCPhysFault, const void *pvData, unsigned cb)
+static VBOXSTRICTRC iomMMIODoWrite(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCPHYS GCPhysFault,
+                                   const void *pvData, unsigned cb)
 {
 #ifdef VBOX_WITH_STATISTICS
     int rcSem = IOM_LOCK_SHARED(pVM);
@@ -291,23 +440,23 @@ static int iomMMIODoWrite(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCPHYS
     STAM_PROFILE_START(&pStats->CTX_SUFF_Z(ProfWrite), a);
 #endif
 
-    VBOXSTRICTRC rc;
+    VBOXSTRICTRC rcStrict;
     if (RT_LIKELY(pRange->CTX_SUFF(pfnWriteCallback)))
     {
         if (   (cb == 4 && !(GCPhysFault & 3))
             || (pRange->fFlags & IOMMMIO_FLAGS_WRITE_MODE) == IOMMMIO_FLAGS_WRITE_PASSTHRU
             || (cb == 8 && !(GCPhysFault & 7) && IOMMMIO_DOES_WRITE_MODE_ALLOW_QWORD(pRange->fFlags)) )
-            rc = pRange->CTX_SUFF(pfnWriteCallback)(pRange->CTX_SUFF(pDevIns), pRange->CTX_SUFF(pvUser),
-                                                    GCPhysFault, (void *)pvData, cb); /** @todo fix const!! */
+            rcStrict = pRange->CTX_SUFF(pfnWriteCallback)(pRange->CTX_SUFF(pDevIns), pRange->CTX_SUFF(pvUser),
+                                                          GCPhysFault, (void *)pvData, cb); /** @todo fix const!! */
         else
-            rc = iomMMIODoComplicatedWrite(pVM, pRange, GCPhysFault, pvData, cb);
+            rcStrict = iomMMIODoComplicatedWrite(pVM, pRange, GCPhysFault, pvData, cb);
     }
     else
-        rc = VINF_SUCCESS;
+        rcStrict = VINF_SUCCESS;
 
     STAM_PROFILE_STOP(&pStats->CTX_SUFF_Z(ProfWrite), a);
     STAM_COUNTER_INC(&pStats->Accesses);
-    return VBOXSTRICTRC_TODO(rc);
+    return rcStrict;
 }
 
 
@@ -491,7 +640,8 @@ static int iomMMIODoRead00s(void *pvValue, size_t cbValue)
 /**
  * Wrapper which does the read and updates range statistics when such are enabled.
  */
-DECLINLINE(int) iomMMIODoRead(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCPHYS GCPhys, void *pvValue, unsigned cbValue)
+DECLINLINE(VBOXSTRICTRC) iomMMIODoRead(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCPHYS GCPhys,
+                                       void *pvValue, unsigned cbValue)
 {
 #ifdef VBOX_WITH_STATISTICS
     int rcSem = IOM_LOCK_SHARED(pVM);
@@ -507,7 +657,7 @@ DECLINLINE(int) iomMMIODoRead(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCP
     STAM_PROFILE_START(&pStats->CTX_SUFF_Z(ProfRead), a);
 #endif
 
-    VBOXSTRICTRC rc;
+    VBOXSTRICTRC rcStrict;
     if (RT_LIKELY(pRange->CTX_SUFF(pfnReadCallback)))
     {
         if (   (   cbValue == 4
@@ -516,24 +666,25 @@ DECLINLINE(int) iomMMIODoRead(PVM pVM, PVMCPU pVCpu, PIOMMMIORANGE pRange, RTGCP
             || (    cbValue == 8
                 && !(GCPhys & 7)
                 && (pRange->fFlags & IOMMMIO_FLAGS_READ_MODE) == IOMMMIO_FLAGS_READ_DWORD_QWORD ) )
-            rc = pRange->CTX_SUFF(pfnReadCallback)(pRange->CTX_SUFF(pDevIns), pRange->CTX_SUFF(pvUser), GCPhys, pvValue, cbValue);
+            rcStrict = pRange->CTX_SUFF(pfnReadCallback)(pRange->CTX_SUFF(pDevIns), pRange->CTX_SUFF(pvUser), GCPhys,
+                                                         pvValue, cbValue);
         else
-            rc = iomMMIODoComplicatedRead(pVM, pRange, GCPhys, pvValue, cbValue);
+            rcStrict = iomMMIODoComplicatedRead(pVM, pRange, GCPhys, pvValue, cbValue);
     }
     else
-        rc = VINF_IOM_MMIO_UNUSED_FF;
-    if (rc != VINF_SUCCESS)
+        rcStrict = VINF_IOM_MMIO_UNUSED_FF;
+    if (rcStrict != VINF_SUCCESS)
     {
-        switch (VBOXSTRICTRC_VAL(rc))
+        switch (VBOXSTRICTRC_VAL(rcStrict))
         {
-            case VINF_IOM_MMIO_UNUSED_FF: rc = iomMMIODoReadFFs(pvValue, cbValue); break;
-            case VINF_IOM_MMIO_UNUSED_00: rc = iomMMIODoRead00s(pvValue, cbValue); break;
+            case VINF_IOM_MMIO_UNUSED_FF: rcStrict = iomMMIODoReadFFs(pvValue, cbValue); break;
+            case VINF_IOM_MMIO_UNUSED_00: rcStrict = iomMMIODoRead00s(pvValue, cbValue); break;
         }
     }
 
     STAM_PROFILE_STOP(&pStats->CTX_SUFF_Z(ProfRead), a);
     STAM_COUNTER_INC(&pStats->Accesses);
-    return VBOXSTRICTRC_VAL(rc);
+    return rcStrict;
 }
 
 
@@ -568,6 +719,8 @@ DECLINLINE(void) iomMMIOStatLength(PVM pVM, unsigned cb)
 }
 
 
+#ifndef VBOX_WITH_2ND_IEM_STEP
+
 /**
  * MOV      reg, mem         (read)
  * MOVZX    reg, mem         (read)
@@ -595,7 +748,7 @@ static int iomInterpretMOVxXRead(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame,
     AssertMsg(cb > 0 && cb <= sizeof(uint64_t), ("cb=%d\n", cb));
 
     uint64_t u64Data = 0;
-    int rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &u64Data, cb);
+    int rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &u64Data, cb));
     if (rc == VINF_SUCCESS)
     {
         /*
@@ -657,7 +810,7 @@ static int iomInterpretMOVxXWrite(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame,
     bool fRc = iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &u64Data, &cb);
     AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
 
-    int rc = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &u64Data, cb);
+    int rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &u64Data, cb));
     if (rc == VINF_SUCCESS)
         iomMMIOStatLength(pVM, cb);
     return rc;
@@ -677,7 +830,7 @@ DECLINLINE(int) iomRamRead(PVMCPU pVCpu, void *pDest, RTGCPTR GCSrc, uint32_t cb
         rc = VINF_IOM_R3_IOPORT_WRITE;
     return rc;
 #else
-    return PGMPhysReadGCPtr(pVCpu, pDest, GCSrc, cb, PGMACCESSORIGIN_IOM);
+    return VBOXSTRICTRC_VAL(PGMPhysReadGCPtr(pVCpu, pDest, GCSrc, cb, PGMACCESSORIGIN_IOM));
 #endif
 }
 
@@ -695,7 +848,7 @@ DECLINLINE(int) iomRamWrite(PVMCPU pVCpu, PCPUMCTXCORE pCtxCore, RTGCPTR GCPtrDs
     return PGMPhysInterpretedWriteNoHandlers(pVCpu, pCtxCore, GCPtrDst, pvSrc, cb, false /*fRaiseTrap*/);
 #else
     NOREF(pCtxCore);
-    return PGMPhysWriteGCPtr(pVCpu, GCPtrDst, pvSrc, cb, PGMACCESSORIGIN_IOM);
+    return VBOXSTRICTRC_VAL(PGMPhysWriteGCPtr(pVCpu, GCPtrDst, pvSrc, cb, PGMACCESSORIGIN_IOM));
 #endif
 }
 
@@ -808,7 +961,7 @@ static int iomInterpretMOVS(PVM pVM, bool fWriteAccess, PCPUMCTXCORE pRegFrame,
                 rc = iomRamRead(pVCpu, &u32Data, (RTGCPTR)pu8Virt, cb);
                 if (rc != VINF_SUCCESS)
                     break;
-                rc = iomMMIODoWrite(pVM, pRange, Phys, &u32Data, cb);
+                rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pRange, Phys, &u32Data, cb));
                 if (rc != VINF_SUCCESS)
                     break;
 
@@ -873,10 +1026,10 @@ static int iomInterpretMOVS(PVM pVM, bool fWriteAccess, PCPUMCTXCORE pRegFrame,
             while (cTransfers)
             {
                 uint32_t u32Data;
-                rc = iomMMIODoRead(pVM, pRange, Phys, &u32Data, cb);
+                rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pRange, Phys, &u32Data, cb));
                 if (rc != VINF_SUCCESS)
                     break;
-                rc = iomMMIODoWrite(pVM, pMMIODst, PhysDst, &u32Data, cb);
+                rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pMMIODst, PhysDst, &u32Data, cb));
                 if (rc != VINF_SUCCESS)
                     break;
 
@@ -908,7 +1061,7 @@ static int iomInterpretMOVS(PVM pVM, bool fWriteAccess, PCPUMCTXCORE pRegFrame,
             while (cTransfers)
             {
                 uint32_t u32Data;
-                rc = iomMMIODoRead(pVM, pRange, Phys, &u32Data, cb);
+                rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pRange, Phys, &u32Data, cb));
                 if (rc != VINF_SUCCESS)
                     break;
                 rc = iomRamWrite(pVCpu, pRegFrame, (RTGCPTR)pu8Virt, &u32Data, cb);
@@ -1071,7 +1224,7 @@ static int iomInterpretSTOS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
         /* fill loop. */
         do
         {
-            rc = iomMMIODoWrite(pVM, pVCpu, pRange, Phys, &u64Data, cb);
+            rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pVCpu, pRange, Phys, &u64Data, cb));
             if (rc != VINF_SUCCESS)
                 break;
 
@@ -1134,7 +1287,7 @@ static int iomInterpretLODS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
     /*
      * Perform read.
      */
-    int rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &pRegFrame->rax, cb);
+    int rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &pRegFrame->rax, cb));
     if (rc == VINF_SUCCESS)
     {
         uint64_t const fAddrMask = iomDisModeToMask((DISCPUMODE)pCpu->uAddrMode);
@@ -1180,10 +1333,10 @@ static int iomInterpretCMP(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPH
     int rc;
     if (iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &uData1, &cb))
         /* cmp reg, [MMIO]. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb));
     else if (iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uData2, &cb))
         /* cmp [MMIO], reg|imm. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
     else
     {
         AssertMsgFailed(("Disassember CMP problem..\n"));
@@ -1259,7 +1412,7 @@ static int iomInterpretOrXorAnd(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, R
         /* and reg, [MMIO]. */
         Assert(pRange->CTX_SUFF(pfnReadCallback) || !pRange->pfnReadCallbackR3);
         fAndWrite = false;
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb));
     }
     else if (iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uData2, &cb))
     {
@@ -1272,7 +1425,7 @@ static int iomInterpretOrXorAnd(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, R
         fAndWrite = true;
         if (    (pRange->CTX_SUFF(pfnReadCallback) || !pRange->pfnReadCallbackR3)
             &&  (pRange->CTX_SUFF(pfnWriteCallback) || !pRange->pfnWriteCallbackR3))
-            rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+            rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
         else
             rc = VINF_IOM_R3_MMIO_READ_WRITE;
     }
@@ -1291,7 +1444,7 @@ static int iomInterpretOrXorAnd(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, R
 
         if (fAndWrite)
             /* Store result to MMIO. */
-            rc = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+            rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
         else
         {
             /* Store result to register. */
@@ -1340,12 +1493,12 @@ static int iomInterpretTEST(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
     if (iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &uData1, &cb))
     {
         /* and test, [MMIO]. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb));
     }
     else if (iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uData2, &cb))
     {
         /* test [MMIO], reg|imm. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
     }
     else
     {
@@ -1405,7 +1558,7 @@ static int iomInterpretBT(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCPHY
     unsigned cbData = DISGetParamSize(pCpu, &pCpu->Param1);
 
     /* bt [MMIO], reg|imm. */
-    int rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData, cbData);
+    int rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData, cbData));
     if (rc == VINF_SUCCESS)
     {
         /* Find the bit inside the faulting address */
@@ -1447,11 +1600,11 @@ static int iomInterpretXCHG(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
     if (iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &uData1, &cb))
     {
         /* xchg reg, [MMIO]. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb));
         if (rc == VINF_SUCCESS)
         {
             /* Store result to MMIO. */
-            rc = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+            rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
 
             if (rc == VINF_SUCCESS)
             {
@@ -1468,11 +1621,11 @@ static int iomInterpretXCHG(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
     else if (iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uData2, &cb))
     {
         /* xchg [MMIO], reg. */
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb);
+        rc = VBOXSTRICTRC_TODO(iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, &uData1, cb));
         if (rc == VINF_SUCCESS)
         {
             /* Store result to MMIO. */
-            rc = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb);
+            rc = VBOXSTRICTRC_TODO(iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, &uData2, cb));
             if (rc == VINF_SUCCESS)
             {
                 /* Store result to register. */
@@ -1493,6 +1646,7 @@ static int iomInterpretXCHG(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
     return rc;
 }
 
+#endif /* !VBOX_WITH_2ND_IEM_STEP */
 
 /**
  * \#PF Handler callback for MMIO ranges.
@@ -1506,7 +1660,7 @@ static int iomInterpretXCHG(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, RTGCP
  * @param   GCPhysFault The GC physical address corresponding to pvFault.
  * @param   pvUser      Pointer to the MMIO ring-3 range entry.
  */
-static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPHYS GCPhysFault, void *pvUser)
+static VBOXSTRICTRC iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPHYS GCPhysFault, void *pvUser)
 {
     int rc = IOM_LOCK_SHARED(pVM);
 #ifndef IN_RING3
@@ -1582,6 +1736,20 @@ static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCO
         return rc;
     }
 
+#ifdef VBOX_WITH_2ND_IEM_STEP
+
+    /*
+     * Let IEM call us back via iomMmioHandler.
+     */
+    VBOXSTRICTRC rcStrict = IEMExecOne(pVCpu);
+
+    STAM_PROFILE_STOP(&pVM->iom.s.StatRZMMIOHandler, a);
+    PDMCritSectLeave(pDevIns->CTX_SUFF(pCritSectRo));
+    iomMmioReleaseRange(pVM, pRange);
+    return rcStrict;
+
+#else
+
     /*
      * Disassemble the instruction and interpret it.
      */
@@ -1613,7 +1781,7 @@ static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCO
         }
 
 
-#ifdef IOM_WITH_MOVS_SUPPORT
+# ifdef IOM_WITH_MOVS_SUPPORT
         case OP_MOVSB:
         case OP_MOVSWD:
         {
@@ -1628,7 +1796,7 @@ static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCO
             }
             break;
         }
-#endif
+# endif
 
         case OP_STOSB:
         case OP_STOSWD:
@@ -1709,7 +1877,7 @@ static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCO
     else
     {
         STAM_COUNTER_INC(&pVM->iom.s.StatRZMMIOFailures);
-#if defined(VBOX_WITH_STATISTICS) && !defined(IN_RING3)
+# if defined(VBOX_WITH_STATISTICS) && !defined(IN_RING3)
         switch (rc)
         {
             case VINF_IOM_R3_MMIO_READ:
@@ -1720,37 +1888,32 @@ static int iomMMIOHandler(PVM pVM, PVMCPU pVCpu, uint32_t uErrorCode, PCPUMCTXCO
                 STAM_COUNTER_INC(&pStats->CTX_MID_Z(Write,ToR3));
                 break;
         }
-#endif
+# endif
     }
 
     STAM_PROFILE_STOP(&pVM->iom.s.StatRZMMIOHandler, a);
     PDMCritSectLeave(pDevIns->CTX_SUFF(pCritSectRo));
     iomMmioReleaseRange(pVM, pRange);
     return rc;
+#endif /* !VBOX_WITH_2ND_IEM_STEP */
 }
 
+
 /**
- * \#PF Handler callback for MMIO ranges.
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      \#PF access handler callback for MMIO pages.}
  *
- * @returns VBox status code (appropriate for GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pCtxCore    Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   GCPhysFault The GC physical address corresponding to pvFault.
- * @param   pvUser      Pointer to the MMIO ring-3 range entry.
+ * @remarks The @a pvUser argument points to the IOMMMIORANGE.
  */
-DECLEXPORT(int) iomMmioPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPTR pvFault,
-                                 RTGCPHYS GCPhysFault, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) iomMmioPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pCtxCore, RTGCPTR pvFault,
+                                          RTGCPHYS GCPhysFault, void *pvUser)
 {
     LogFlow(("iomMmioPfHandler: GCPhys=%RGp uErr=%#x pvFault=%RGv rip=%RGv\n",
              GCPhysFault, (uint32_t)uErrorCode, pvFault, (RTGCPTR)pCtxCore->rip));
-    VBOXSTRICTRC rcStrict = iomMMIOHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pvUser);
-    return VBOXSTRICTRC_VAL(rcStrict);
+    return iomMMIOHandler(pVM, pVCpu, (uint32_t)uErrorCode, pCtxCore, GCPhysFault, pvUser);
 }
 
+
 /**
  * Physical access handler for MMIO ranges.
  *
@@ -1788,22 +1951,12 @@ VMMDECL(VBOXSTRICTRC) IOMMMIOPhysHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorC
 
 
 /**
- * \#PF Handler callback for MMIO ranges.
+ * @callback_method_impl{FNPGMPHYSHANDLER, MMIO page accesses}
  *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   GCPhys          The physical address the guest is writing to.
- * @param   pvPhys          The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making the access.
- * @param   pvUser          Pointer to the MMIO range entry.
+ * @remarks The @a pvUser argument points to the MMIO range entry.
  */
-PGM_ALL_CB2_DECL(int) iomMmioHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhysFault, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                     PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+PGM_ALL_CB2_DECL(VBOXSTRICTRC) iomMmioHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhysFault, void *pvPhys, void *pvBuf,
+                                              size_t cbBuf, PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PIOMMMIORANGE pRange = (PIOMMMIORANGE)pvUser;
     STAM_COUNTER_INC(&pVM->iom.s.StatR3MMIOHandler);
@@ -1825,28 +1978,45 @@ PGM_ALL_CB2_DECL(int) iomMmioHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhysFault
     iomMmioRetainRange(pRange);
     PPDMDEVINS pDevIns = pRange->CTX_SUFF(pDevIns);
     IOM_UNLOCK_SHARED(pVM);
-    rc = PDMCritSectEnter(pDevIns->CTX_SUFF(pCritSectRo), VINF_IOM_R3_MMIO_READ_WRITE);
-    if (rc != VINF_SUCCESS)
+    VBOXSTRICTRC rcStrict = PDMCritSectEnter(pDevIns->CTX_SUFF(pCritSectRo), VINF_IOM_R3_MMIO_READ_WRITE);
+    if (rcStrict == VINF_SUCCESS)
     {
+        /*
+         * Perform the access.
+         */
+        if (enmAccessType == PGMACCESSTYPE_READ)
+            rcStrict = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, pvBuf, (unsigned)cbBuf);
+        else
+            rcStrict = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, pvBuf, (unsigned)cbBuf);
+
+        /* Check the return code. */
+#ifdef IN_RING3
+        AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc - %RGp - %s\n", VBOXSTRICTRC_VAL(rcStrict), GCPhysFault, pRange->pszDesc));
+#else
+        AssertMsg(   rcStrict == VINF_SUCCESS
+                  || rcStrict == (enmAccessType == PGMACCESSTYPE_READ ? VINF_IOM_R3_MMIO_READ :  VINF_IOM_R3_MMIO_WRITE)
+                  || rcStrict == VINF_IOM_R3_MMIO_READ_WRITE
+                  || rcStrict == VINF_EM_DBG_STOP
+                  || rcStrict == VINF_EM_DBG_BREAKPOINT
+                  || rcStrict == VINF_EM_OFF
+                  || rcStrict == VINF_EM_SUSPEND
+                  || rcStrict == VINF_EM_RESET
+                  //|| rcStrict == VINF_EM_HALT       /* ?? */
+                  //|| rcStrict == VINF_EM_NO_MEMORY  /* ?? */
+                  , ("%Rrc - %RGp - %p\n", VBOXSTRICTRC_VAL(rcStrict), GCPhysFault, pDevIns));
+#endif
+
         iomMmioReleaseRange(pVM, pRange);
-        return rc;
+        PDMCritSectLeave(pDevIns->CTX_SUFF(pCritSectRo));
     }
-
-    /*
-     * Perform the access.
-     */
-    if (enmAccessType == PGMACCESSTYPE_READ)
-        rc = iomMMIODoRead(pVM, pVCpu, pRange, GCPhysFault, pvBuf, (unsigned)cbBuf);
     else
-        rc = iomMMIODoWrite(pVM, pVCpu, pRange, GCPhysFault, pvBuf, (unsigned)cbBuf);
-
-    AssertRC(rc);
-    iomMmioReleaseRange(pVM, pRange);
-    PDMCritSectLeave(pDevIns->CTX_SUFF(pCritSectRo));
-    return rc;
+        iomMmioReleaseRange(pVM, pRange);
+    return rcStrict;
 }
 
 
+#ifdef IN_RING3 /* Only used by REM. */
+
 /**
  * Reads a MMIO register.
  *
@@ -2085,6 +2255,8 @@ VMMDECL(VBOXSTRICTRC) IOMMMIOWrite(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, uint3
     return VINF_SUCCESS;
 }
 
+#endif /* IN_RING3 - only used by REM. */
+#ifndef VBOX_WITH_2ND_IEM_STEP
 
 /**
  * [REP*] INSB/INSW/INSD
@@ -2205,52 +2377,6 @@ VMMDECL(VBOXSTRICTRC) IOMInterpretINSEx(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pReg
 }
 
 
-#if !defined(VBOX_WITH_FIRST_IEM_STEP) || defined(IN_RC) /* Latter for IOMRCIOPortHandler */
-/**
- * [REP*] INSB/INSW/INSD
- * ES:EDI,DX[,ECX]
- *
- * @returns Strict VBox status code. Informational status codes other than the one documented
- *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
- * @retval  VINF_SUCCESS                Success.
- * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
- *                                      status code must be passed on to EM.
- * @retval  VINF_IOM_R3_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
- * @retval  VINF_EM_RAW_EMULATE_INSTR   Defer the read to the REM.
- * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
- * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
- * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
- *
- * @param   pVM         The virtual machine.
- * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
- * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
- * @param   pCpu        Disassembler CPU state.
- */
-VMMDECL(VBOXSTRICTRC) IOMInterpretINS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
-{
-    /*
-     * Get port number directly from the register (no need to bother the
-     * disassembler). And get the I/O register size from the opcode / prefix.
-     */
-    RTIOPORT    Port = pRegFrame->edx & 0xffff;
-    unsigned    cb = 0;
-    if (pCpu->pCurInstr->uOpcode == OP_INSB)
-        cb = 1;
-    else
-        cb = (pCpu->uOpMode == DISCPUMODE_16BIT) ? 2 : 4;       /* dword in both 32 & 64 bits mode */
-
-    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, Port, cb);
-    if (RT_UNLIKELY(rcStrict != VINF_SUCCESS))
-    {
-        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-        return rcStrict;
-    }
-
-    return IOMInterpretINSEx(pVM, pVCpu, pRegFrame, Port, pCpu->fPrefix, (DISCPUMODE)pCpu->uAddrMode, cb);
-}
-#endif /* !IEM || RC */
-
-
 /**
  * [REP*] OUTSB/OUTSW/OUTSD
  * DS:ESI,DX[,ECX]
@@ -2373,53 +2499,8 @@ VMMDECL(VBOXSTRICTRC) IOMInterpretOUTSEx(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRe
     return rcStrict;
 }
 
+#endif /* !VBOX_WITH_2ND_IEM_STEP */
 
-#if !defined(VBOX_WITH_FIRST_IEM_STEP) || defined(IN_RC) /* Latter for IOMRCIOPortHandler */
-/**
- * [REP*] OUTSB/OUTSW/OUTSD
- * DS:ESI,DX[,ECX]
- *
- * @returns Strict VBox status code. Informational status codes other than the one documented
- *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
- * @retval  VINF_SUCCESS                Success.
- * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
- *                                      status code must be passed on to EM.
- * @retval  VINF_IOM_R3_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
- * @retval  VINF_EM_RAW_EMULATE_INSTR   Defer the write to the REM.
- * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
- * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
- * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
- *
- * @param   pVM         The virtual machine.
- * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
- * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
- * @param   pCpu        Disassembler CPU state.
- */
-VMMDECL(VBOXSTRICTRC) IOMInterpretOUTS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
-{
-    /*
-     * Get port number from the first parameter.
-     * And get the I/O register size from the opcode / prefix.
-     */
-    uint64_t    Port = 0;
-    unsigned    cb = 0;
-    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &Port, &cb);
-    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
-    if (pCpu->pCurInstr->uOpcode == OP_OUTSB)
-        cb = 1;
-    else
-        cb = (pCpu->uOpMode == DISCPUMODE_16BIT) ? 2 : 4;       /* dword in both 32 & 64 bits mode */
-
-    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, Port, cb);
-    if (RT_UNLIKELY(rcStrict != VINF_SUCCESS))
-    {
-        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-        return rcStrict;
-    }
-
-    return IOMInterpretOUTSEx(pVM, pVCpu, pRegFrame, Port, pCpu->fPrefix, (DISCPUMODE)pCpu->uAddrMode, cb);
-}
-#endif /* !IEM || RC */
 
 #ifndef IN_RC
 
@@ -2523,14 +2604,14 @@ VMMDECL(int) IOMMMIOMapMMIOHCPage(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, RTHCPH
     /*
      * Lookup the context range node the page belongs to.
      */
-#ifdef VBOX_STRICT
+#  ifdef VBOX_STRICT
     /* Can't lock IOM here due to potential deadlocks in the VGA device; not safe to access. */
     PIOMMMIORANGE pRange = iomMMIOGetRangeUnsafe(pVM, pVCpu, GCPhys);
     AssertMsgReturn(pRange,
             ("Handlers and page tables are out of sync or something! GCPhys=%RGp\n", GCPhys), VERR_IOM_MMIO_RANGE_NOT_FOUND);
     Assert((pRange->GCPhys       & PAGE_OFFSET_MASK) == 0);
     Assert((pRange->Core.KeyLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK);
-#endif
+#  endif
 
     /*
      * Do the aliasing; page align the addresses since PGM is picky.
@@ -2551,7 +2632,7 @@ VMMDECL(int) IOMMMIOMapMMIOHCPage(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, RTHCPH
     Assert(rc == VINF_SUCCESS || rc == VERR_PAGE_NOT_PRESENT || rc == VERR_PAGE_TABLE_NOT_PRESENT);
     return VINF_SUCCESS;
 }
-#endif /* !IEM_VERIFICATION_MODE_FULL */
+# endif /* !IEM_VERIFICATION_MODE_FULL */
 
 
 /**
@@ -2577,14 +2658,14 @@ VMMDECL(int) IOMMMIOResetRegion(PVM pVM, RTGCPHYS GCPhys)
     /*
      * Lookup the context range node the page belongs to.
      */
-#ifdef VBOX_STRICT
+# ifdef VBOX_STRICT
     /* Can't lock IOM here due to potential deadlocks in the VGA device; not safe to access. */
     PIOMMMIORANGE pRange = iomMMIOGetRangeUnsafe(pVM, pVCpu, GCPhys);
     AssertMsgReturn(pRange,
             ("Handlers and page tables are out of sync or something! GCPhys=%RGp\n", GCPhys), VERR_IOM_MMIO_RANGE_NOT_FOUND);
     Assert((pRange->GCPhys       & PAGE_OFFSET_MASK) == 0);
     Assert((pRange->Core.KeyLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK);
-#endif
+# endif
 
     /*
      * Call PGM to do the job work.
@@ -2595,7 +2676,7 @@ VMMDECL(int) IOMMMIOResetRegion(PVM pVM, RTGCPHYS GCPhys)
     int rc = PGMHandlerPhysicalReset(pVM, GCPhys);
     AssertRC(rc);
 
-#ifdef VBOX_STRICT
+# ifdef VBOX_STRICT
     if (!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_PGM_SYNC_CR3))
     {
         uint32_t cb = pRange->cb;
@@ -2610,7 +2691,7 @@ VMMDECL(int) IOMMMIOResetRegion(PVM pVM, RTGCPHYS GCPhys)
             GCPhys += PAGE_SIZE;
         }
     }
-#endif
+# endif
     return rc;
 }
 
diff --git a/src/VBox/VMM/VMMAll/PATMAll.cpp b/src/VBox/VMM/VMMAll/PATMAll.cpp
index 942e4e5..4a935f0 100644
--- a/src/VBox/VMM/VMMAll/PATMAll.cpp
+++ b/src/VBox/VMM/VMMAll/PATMAll.cpp
@@ -4,7 +4,7 @@
  */
 
 /*
- * Copyright (C) 2006-2013 Oracle Corporation
+ * Copyright (C) 2006-2015 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
  * available from http://www.virtualbox.org. This file is free software;
@@ -39,6 +39,30 @@
 
 
 /**
+ * @callback_method_impl{FNPGMPHYSHANDLER, PATM all access handler callback.}
+ *
+ * @remarks The @a pvUser argument is the base address of the page being
+ *          monitored.
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC) patmVirtPageHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                                                   PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    NOREF(pvPtr); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmOrigin); NOREF(pvUser);
+    Assert(pvUser); Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
+
+    pVM->patm.s.pvFaultMonitor = (RTRCPTR)((uintptr_t)pvUser + (GCPtr & PAGE_OFFSET_MASK));
+#ifdef IN_RING3
+    PATMR3HandleMonitoredPage(pVM);
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+#else
+    /* RC: Go handle this in ring-3. */
+    return VINF_PATM_CHECK_PATCH_PAGE;
+#endif
+}
+
+
+/**
  * Load virtualized flags.
  *
  * This function is called from CPUMRawEnter(). It doesn't have to update the
diff --git a/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp b/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp
index 0223820..984e806 100644
--- a/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp
+++ b/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp
@@ -614,7 +614,7 @@ VMMDECL(int) PDMCritSectLeave(PPDMCRITSECT pCritSect)
         /* Signal exit event. */
         if (hEventToSignal != NIL_RTSEMEVENT)
         {
-            LogBird(("Signalling %#x\n", hEventToSignal));
+            Log8(("Signalling %#x\n", hEventToSignal));
             int rc = RTSemEventSignal(hEventToSignal);
             AssertRC(rc);
         }
diff --git a/src/VBox/VMM/VMMAll/PGMAllBth.h b/src/VBox/VMM/VMMAll/PGMAllBth.h
index 1fa23c7..285a4d2 100644
--- a/src/VBox/VMM/VMMAll/PGMAllBth.h
+++ b/src/VBox/VMM/VMMAll/PGMAllBth.h
@@ -163,7 +163,7 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
     GSTPDE const    PdeSrcDummy = { X86_PDE_P | X86_PDE_US | X86_PDE_RW | X86_PDE_A };
 #endif
     PVM             pVM         = pVCpu->CTX_SUFF(pVM);
-    int             rc;
+    VBOXSTRICTRC    rcStrict;
 
     if (PGM_PAGE_HAS_ANY_PHYSICAL_HANDLERS(pPage))
     {
@@ -192,18 +192,18 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                 &&  pCurType->enmKind == PGMPHYSHANDLERKIND_WRITE)
             {
 #   if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE)
-                rc = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
+                rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #   else
-                rc = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
+                rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #   endif
-                if (    RT_FAILURE(rc)
+                if (    RT_FAILURE(rcStrict)
                     || !(uErr & X86_TRAP_PF_RW)
-                    || rc == VINF_PGM_SYNCPAGE_MODIFIED_PDE)
+                    || rcStrict == VINF_PGM_SYNCPAGE_MODIFIED_PDE)
                 {
-                    AssertRC(rc);
+                    AssertMsgRC(rcStrict, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
                     STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersOutOfSync);
                     STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2OutOfSyncHndPhys; });
-                    return rc;
+                    return rcStrict;
                 }
             }
 #  endif
@@ -220,17 +220,17 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                )
             {
 #   if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE)
-                rc = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
+                rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #   else
-                rc = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
+                rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #   endif
-                if (    RT_FAILURE(rc)
-                    || rc == VINF_PGM_SYNCPAGE_MODIFIED_PDE)
+                if (    RT_FAILURE(rcStrict)
+                    || rcStrict == VINF_PGM_SYNCPAGE_MODIFIED_PDE)
                 {
-                    AssertRC(rc);
+                    AssertMsgRC(rcStrict, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
                     STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersOutOfSync);
                     STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2OutOfSyncHndPhys; });
-                    return rc;
+                    return rcStrict;
                 }
             }
 #  endif
@@ -259,7 +259,7 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                     *pfLockTaken = false;
                 }
 
-                rc = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPhysFault, pvUser);
+                rcStrict = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPhysFault, pvUser);
 
 #  ifdef VBOX_WITH_STATISTICS
                 pgmLock(pVM);
@@ -270,10 +270,10 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
 #  endif
             }
             else
-                rc = VINF_EM_RAW_EMULATE_INSTR;
+                rcStrict = VINF_EM_RAW_EMULATE_INSTR;
 
             STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2HndPhys; });
-            return rc;
+            return rcStrict;
         }
     }
 # if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE) && !defined(IN_RING0)
@@ -288,15 +288,15 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
         if (    PGM_PAGE_GET_HNDL_VIRT_STATE(pPage) < PGM_PAGE_HNDL_PHYS_STATE_ALL
             && !(uErr & X86_TRAP_PF_P))
         {
-            rc = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
-            if (    RT_FAILURE(rc)
-                ||  rc == VINF_PGM_SYNCPAGE_MODIFIED_PDE
+            rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
+            if (    RT_FAILURE(rcStrict)
+                ||  rcStrict == VINF_PGM_SYNCPAGE_MODIFIED_PDE
                 ||  !(uErr & X86_TRAP_PF_RW))
             {
-                AssertRC(rc);
+                AssertRC(rcStrict);
                 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersOutOfSync);
                 STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2OutOfSyncHndVirt; });
-                return rc;
+                return rcStrict;
             }
         }
 #  endif
@@ -333,8 +333,8 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                 pgmUnlock(pVM);
                 *pfLockTaken = false;
 
-                rc = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPtrStart,
-                                                      pvFault - GCPtrStart, pvUser);
+                rcStrict = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPtrStart,
+                                                            pvFault - GCPtrStart, pvUser);
 
 #    ifdef VBOX_WITH_STATISTICS
                 pgmLock(pVM);
@@ -344,11 +344,11 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                 pgmUnlock(pVM);
 #    endif
 #   else
-                rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
+                rcStrict = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
 #   endif
                 STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersVirtual);
                 STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2HndVirt; });
-                return rc;
+                return rcStrict;
             }
             /* Unhandled part of a monitored page */
             Log(("Unhandled part of monitored page %RGv\n", pvFault));
@@ -357,8 +357,7 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
         {
            /* Check by physical address. */
             unsigned iPage;
-            rc = pgmHandlerVirtualFindByPhysAddr(pVM, pGstWalk->Core.GCPhys, &pCur, &iPage);
-            Assert(RT_SUCCESS(rc) || !pCur);
+            pCur = pgmHandlerVirtualFindByPhysAddr(pVM, pGstWalk->Core.GCPhys, &iPage);
             if (pCur)
             {
                 PPGMVIRTHANDLERTYPEINT pCurType = PGMVIRTANDLER_GET_TYPE(pVM, pCur);
@@ -378,7 +377,7 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                                 + (pvFault    & PAGE_OFFSET_MASK)
                                 - (GCPtrStart & PAGE_OFFSET_MASK);
                     Assert(off < pCur->cb);
-                    rc = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPtrStart, off, pvUser);
+                    rcStrict = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, GCPtrStart, off, pvUser);
 
 #    ifdef VBOX_WITH_STATISTICS
                     pgmLock(pVM);
@@ -388,11 +387,11 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
                     pgmUnlock(pVM);
 #    endif
 #   else
-                    rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
+                    rcStrict = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
 #   endif
                     STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersVirtualByPhys);
                     STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2HndVirt; });
-                    return rc;
+                    return rcStrict;
                 }
             }
         }
@@ -413,28 +412,28 @@ static VBOXSTRICTRC PGM_BTH_NAME(Trap0eHandlerDoAccessHandlers)(PVMCPU pVCpu, RT
         &&  !(uErr & X86_TRAP_PF_P))
     {
 #  if PGM_WITH_PAGING(PGM_GST_TYPE, PGM_SHW_TYPE)
-        rc = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
+        rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, pGstWalk->Pde, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #  else
-        rc = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
+        rcStrict = PGM_BTH_NAME(SyncPage)(pVCpu, PdeSrcDummy, pvFault, PGM_SYNC_NR_PAGES, uErr);
 #  endif
-        if (    RT_FAILURE(rc)
-            ||  rc == VINF_PGM_SYNCPAGE_MODIFIED_PDE
+        if (    RT_FAILURE(rcStrict)
+            ||  rcStrict == VINF_PGM_SYNCPAGE_MODIFIED_PDE
             ||  !(uErr & X86_TRAP_PF_RW))
         {
-            AssertRC(rc);
+            AssertMsgRC(rcStrict, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
             STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersOutOfSync);
             STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2OutOfSyncHndPhys; });
-            return rc;
+            return rcStrict;
         }
     }
 
     /** @todo This particular case can cause quite a lot of overhead. E.g. early stage of kernel booting in Ubuntu 6.06
      *        It's writing to an unhandled part of the LDT page several million times.
      */
-    rc = VBOXSTRICTRC_TODO(PGMInterpretInstruction(pVM, pVCpu, pRegFrame, pvFault));
-    LogFlow(("PGM: PGMInterpretInstruction -> rc=%d pPage=%R[pgmpage]\n", rc, pPage));
+    rcStrict = PGMInterpretInstruction(pVM, pVCpu, pRegFrame, pvFault);
+    LogFlow(("PGM: PGMInterpretInstruction -> rcStrict=%d pPage=%R[pgmpage]\n", VBOXSTRICTRC_VAL(rcStrict), pPage));
     STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2HndUnhandled; });
-    return rc;
+    return rcStrict;
 } /* if any kind of handler */
 
 
@@ -631,7 +630,7 @@ PGM_BTH_DECL(int, Trap0eHandler)(PVMCPU pVCpu, RTGCUINT uErr, PCPUMCTXCORE pRegF
                         = rc == VINF_PGM_HANDLED_DIRTY_BIT_FAULT
                           ? &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2DirtyAndAccessed
                           : &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2GuestTrap; });
-            LogBird(("Trap0eHandler: returns VINF_SUCCESS\n"));
+            Log8(("Trap0eHandler: returns VINF_SUCCESS\n"));
             return VINF_SUCCESS;
         }
         //AssertMsg(GstWalk.Pde.u == GstWalk.pPde->u || GstWalk.pPte->u == GstWalk.pPde->u, ("%RX64 %RX64\n", (uint64_t)GstWalk.Pde.u, (uint64_t)GstWalk.pPde->u)); - triggers with smp w7 guests.
@@ -719,22 +718,23 @@ PGM_BTH_DECL(int, Trap0eHandler)(PVMCPU pVCpu, RTGCUINT uErr, PCPUMCTXCORE pRegF
                     &&  pvFault - pCur->Core.Key < pCur->cb
                     &&  uErr & X86_TRAP_PF_RW)
                 {
+                    VBOXSTRICTRC rcStrict;
 #   ifdef IN_RC
                     STAM_PROFILE_START(&pCur->Stat, h);
                     PPGMVIRTHANDLERTYPEINT pCurType = PGMVIRTANDLER_GET_TYPE(pVM, pCur);
                     void *pvUser = pCur->CTX_SUFF(pvUser);
                     pgmUnlock(pVM);
-                    rc = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, pCur->Core.Key,
-                                                          pvFault - pCur->Core.Key, pvUser);
+                    rcStrict = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, pCur->Core.Key,
+                                                                pvFault - pCur->Core.Key, pvUser);
                     pgmLock(pVM);
                     STAM_PROFILE_STOP(&pCur->Stat, h);
 #   else
                     AssertFailed();
-                    rc = VINF_EM_RAW_EMULATE_INSTR; /* can't happen with VMX */
+                    rcStrict = VINF_EM_RAW_EMULATE_INSTR; /* can't happen with VMX */
 #   endif
                     STAM_COUNTER_INC(&pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eHandlersMapping);
                     STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2Mapping; });
-                    return rc;
+                    return VBOXSTRICTRC_TODO(rcStrict);
                 }
 
                 /*
@@ -816,19 +816,20 @@ PGM_BTH_DECL(int, Trap0eHandler)(PVMCPU pVCpu, RTGCUINT uErr, PCPUMCTXCORE pRegF
                 &&  (    uErr & X86_TRAP_PF_RW
                      ||  pCurType->enmKind != PGMVIRTHANDLERKIND_WRITE ) )
             {
+                VBOXSTRICTRC rcStrict;
 #   ifdef IN_RC
                 STAM_PROFILE_START(&pCur->Stat, h);
                 void *pvUser = pCur->CTX_SUFF(pvUser);
                 pgmUnlock(pVM);
-                rc = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, pCur->Core.Key,
-                                                      pvFault - pCur->Core.Key, pvUser);
+                rcStrict = pCurType->CTX_SUFF(pfnPfHandler)(pVM, pVCpu, uErr, pRegFrame, pvFault, pCur->Core.Key,
+                                                            pvFault - pCur->Core.Key, pvUser);
                 pgmLock(pVM);
                 STAM_PROFILE_STOP(&pCur->Stat, h);
 #   else
-                rc = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
+                rcStrict = VINF_EM_RAW_EMULATE_INSTR; /** @todo for VMX */
 #   endif
                 STAM_STATS({ pVCpu->pgm.s.CTX_SUFF(pStatTrap0eAttribution) = &pVCpu->pgm.s.CTX_SUFF(pStats)->StatRZTrap0eTime2HndVirt; });
-                return rc;
+                return VBOXSTRICTRC_TODO(rcStrict);
             }
         }
     }
diff --git a/src/VBox/VMM/VMMAll/PGMAllHandler.cpp b/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
index 8b82158..dcfa230 100644
--- a/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
+++ b/src/VBox/VMM/VMMAll/PGMAllHandler.cpp
@@ -163,7 +163,7 @@ VMMDECL(int) PGMHandlerPhysicalRegister(PVM pVM, RTGCPHYS GCPhys, RTGCPHYS GCPhy
             break;
         case PGMPHYSHANDLERKIND_MMIO:
         case PGMPHYSHANDLERKIND_ALL:
-            /* Simplification for PGMPhysRead, PGMR0Trap0eHandlerNPMisconfig and others. */
+            /* Simplification for PGMPhysRead, PGMR0Trap0eHandlerNPMisconfig and others: Full pages. */
             AssertMsgReturn(!(GCPhys & PAGE_OFFSET_MASK), ("%RGp\n", GCPhys), VERR_INVALID_PARAMETER);
             AssertMsgReturn((GCPhysLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK, ("%RGp\n", GCPhysLast), VERR_INVALID_PARAMETER);
             break;
@@ -1454,16 +1454,14 @@ VMM_INT_DECL(bool) PGMHandlerVirtualIsRegistered(PVM pVM, RTGCPTR GCPtr)
 /**
  * Search for virtual handler with matching physical address
  *
- * @returns VBox status code
+ * @returns Pointer to the virtual handler structure if found, otherwise NULL.
  * @param   pVM         Pointer to the VM.
  * @param   GCPhys      GC physical address to search for.
- * @param   ppVirt      Where to store the pointer to the virtual handler structure.
  * @param   piPage      Where to store the pointer to the index of the cached physical page.
  */
-int pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, PPGMVIRTHANDLER *ppVirt, unsigned *piPage)
+PPGMVIRTHANDLER pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, unsigned *piPage)
 {
     STAM_PROFILE_START(&pVM->pgm.s.CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
-    Assert(ppVirt);
 
     pgmLock(pVM);
     PPGMPHYS2VIRTHANDLER pCur;
@@ -1471,22 +1469,21 @@ int pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, PPGMVIRTHANDLER *p
     if (pCur)
     {
         /* found a match! */
-        *ppVirt = (PPGMVIRTHANDLER)((uintptr_t)pCur + pCur->offVirtHandler);
-        *piPage = pCur - &(*ppVirt)->aPhysToVirt[0];
+        PPGMVIRTHANDLER pVirt = (PPGMVIRTHANDLER)((uintptr_t)pCur + pCur->offVirtHandler);
+        *piPage = pCur - &pVirt->aPhysToVirt[0];
         pgmUnlock(pVM);
 
 #ifdef VBOX_STRICT_PGM_HANDLER_VIRTUAL
         AssertRelease(pCur->offNextAlias & PGMPHYS2VIRTHANDLER_IS_HEAD);
 #endif
-        LogFlow(("PHYS2VIRT: found match for %RGp -> %RGv *piPage=%#x\n", GCPhys, (*ppVirt)->Core.Key, *piPage));
+        LogFlow(("PHYS2VIRT: found match for %RGp -> %RGv *piPage=%#x\n", GCPhys, pVirt->Core.Key, *piPage));
         STAM_PROFILE_STOP(&pVM->pgm.s.CTX_SUFF(pStats)->CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
-        return VINF_SUCCESS;
+        return pVirt;
     }
 
     pgmUnlock(pVM);
-    *ppVirt = NULL;
     STAM_PROFILE_STOP(&pVM->pgm.s.CTX_SUFF(pStats)->CTX_MID_Z(Stat,VirtHandlerSearchByPhys), a);
-    return VERR_PGM_HANDLER_NOT_FOUND;
+    return NULL;
 }
 
 
diff --git a/src/VBox/VMM/VMMAll/PGMAllPhys.cpp b/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
index cb816f6..f25fb6b 100644
--- a/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
+++ b/src/VBox/VMM/VMMAll/PGMAllPhys.cpp
@@ -47,48 +47,123 @@
 /** Enable the physical TLB. */
 #define PGM_WITH_PHYS_TLB
 
+/** @def PGM_HANDLER_PHYS_IS_VALID_STATUS
+ * Checks if valid physical access handler return code (normal handler, not PF).
+ *
+ * Checks if the given strict status code is one of the expected ones for a
+ * physical access handler in the current context.
+ *
+ * @returns true or false.
+ * @param   a_rcStrict      The status code.
+ * @param   a_fWrite        Whether it is a write or read being serviced.
+ *
+ * @remarks We wish to keep the list of statuses here as short as possible.
+ *          When changing, please make sure to update the PGMPhysRead,
+ *          PGMPhysWrite, PGMPhysReadGCPtr and PGMPhysWriteGCPtr docs too.
+ */
+#ifdef IN_RING3
+# define PGM_HANDLER_PHYS_IS_VALID_STATUS(a_rcStrict, a_fWrite) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_PGM_HANDLER_DO_DEFAULT)
+#elif defined(IN_RING0) || defined(IN_RC)
+# define PGM_HANDLER_PHYS_IS_VALID_STATUS(a_rcStrict, a_fWrite) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_PGM_HANDLER_DO_DEFAULT \
+     \
+     || (a_rcStrict) == ((a_fWrite) ? VINF_IOM_R3_MMIO_WRITE : VINF_IOM_R3_MMIO_READ) \
+     || (a_rcStrict) == VINF_IOM_R3_MMIO_READ_WRITE \
+     \
+     || (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR  \
+     || (a_rcStrict) == VINF_EM_DBG_STOP \
+     || (a_rcStrict) == VINF_EM_DBG_BREAKPOINT \
+     || (a_rcStrict) == VINF_EM_OFF \
+     || (a_rcStrict) == VINF_EM_SUSPEND \
+     || (a_rcStrict) == VINF_EM_RESET \
+    )
+#else
+# error "Context?"
+#endif
+
+/** @def PGM_HANDLER_VIRT_IS_VALID_STATUS
+ * Checks if valid virtual access handler return code (normal handler, not PF).
+ *
+ * Checks if the given strict status code is one of the expected ones for a
+ * virtual access handler in the current context.
+ *
+ * @returns true or false.
+ * @param   a_rcStrict      The status code.
+ * @param   a_fWrite        Whether it is a write or read being serviced.
+ *
+ * @remarks We wish to keep the list of statuses here as short as possible.
+ *          When changing, please make sure to update the PGMPhysRead,
+ *          PGMPhysWrite, PGMPhysReadGCPtr and PGMPhysWriteGCPtr docs too.
+ */
+#ifdef IN_RING3
+# define PGM_HANDLER_VIRT_IS_VALID_STATUS(a_rcStrict, a_fWrite) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_PGM_HANDLER_DO_DEFAULT)
+#elif defined(IN_RING0)
+# define PGM_HANDLER_VIRT_IS_VALID_STATUS(a_rcStrict, a_fWrite) \
+    (false /* no virtual handlers in ring-0! */ )
+#elif defined(IN_RC)
+# define PGM_HANDLER_VIRT_IS_VALID_STATUS(a_rcStrict, a_fWrite) \
+    (   (a_rcStrict) == VINF_SUCCESS \
+     || (a_rcStrict) == VINF_PGM_HANDLER_DO_DEFAULT \
+     \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT : 0) \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT : 0) \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT : 0) \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT : 0) \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_SELM_SYNC_GDT                  : 0) \
+     || ((a_fWrite) ? (a_rcStrict) == VINF_CSAM_PENDING_ACTION            : 0) \
+     || (a_rcStrict) == VINF_PATM_CHECK_PATCH_PAGE \
+     \
+     || (a_rcStrict) == VINF_EM_RAW_EMULATE_INSTR \
+     || (a_rcStrict) == VINF_EM_DBG_STOP \
+     || (a_rcStrict) == VINF_EM_DBG_BREAKPOINT \
+    )
+#else
+# error "Context?"
+#endif
+
 
 
 #ifndef IN_RING3
 
 /**
- * \#PF Handler callback for physical memory accesses without a RC/R0 handler.
- * This simply pushes everything to the HC handler.
- *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   GCPhysFault The GC physical address corresponding to pvFault.
- * @param   pvUser      User argument.
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      Dummy for forcing ring-3 handling of the access.}
  */
-VMMDECL(int) pgmPhysPfHandlerRedirectToHC(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                          RTGCPHYS GCPhysFault, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC)
+pgmPhysHandlerRedirectToHC(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                           PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    NOREF(pVM); NOREF(pVCpu); NOREF(GCPhys); NOREF(pvPhys); NOREF(pvBuf); NOREF(cbBuf);
+    NOREF(enmAccessType); NOREF(enmOrigin); NOREF(pvUser);
+    return VINF_EM_RAW_EMULATE_INSTR;
+}
+
+
+/**
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      Dummy for forcing ring-3 handling of the access.}
+ */
+VMMDECL(VBOXSTRICTRC) pgmPhysPfHandlerRedirectToHC(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                   RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
 {
     NOREF(pVM); NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(GCPhysFault); NOREF(pvUser);
-    return (uErrorCode & X86_TRAP_PF_RW) ? VINF_IOM_R3_MMIO_WRITE : VINF_IOM_R3_MMIO_READ;
+    return VINF_EM_RAW_EMULATE_INSTR;
 }
 
 
 /**
- * \#PF Handler callback for Guest ROM range write access.
- * We simply ignore the writes or fall back to the recompiler if we don't support the instruction.
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      \#PF access handler callback for guest ROM range write access.}
  *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   GCPhysFault The GC physical address corresponding to pvFault.
- * @param   pvUser      User argument. Pointer to the ROM range structure.
+ * @remarks The @a pvUser argument points to the PGMROMRANGE.
  */
-DECLEXPORT(int) pgmPhysRomWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                         RTGCPHYS GCPhysFault, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) pgmPhysRomWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                  RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
 {
     int             rc;
     PPGMROMRANGE    pRom = (PPGMROMRANGE)pvUser;
@@ -152,22 +227,14 @@ DECLEXPORT(int) pgmPhysRomWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorC
 
 
 /**
- * Access handler callback for ROM write accesses.
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      Access handler callback for ROM write accesses.}
  *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   GCPhys          The physical address the guest is writing to.
- * @param   pvPhys          The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making the access.
- * @param   pvUser          User argument.
+ * @remarks The @a pvUser argument points to the PGMROMRANGE.
  */
-PGM_ALL_CB2_DECL(int) pgmPhysRomWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                             PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+pgmPhysRomWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                       PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PPGMROMRANGE    pRom     = (PPGMROMRANGE)pvUser;
     const uint32_t  iPage    = (GCPhys - pRom->GCPhys) >> PAGE_SHIFT;
@@ -239,6 +306,12 @@ PGM_ALL_CB2_DECL(int) pgmPhysRomWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCP
                 {
                     memcpy((uint8_t *)pvDstPage + (GCPhys & PAGE_OFFSET_MASK), pvBuf, cbBuf);
                     pRomPage->LiveSave.fWrittenTo = true;
+
+                    AssertMsg(    rc == VINF_SUCCESS
+                              || (  rc == VINF_PGM_SYNC_CR3
+                                  && VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL))
+                              , ("%Rrc\n", rc));
+                    rc = VINF_SUCCESS;
                 }
 
                 pgmUnlock(pVM);
@@ -2179,18 +2252,19 @@ static void pgmPhysCacheAdd(PVM pVM, PGMPHYSCACHE *pCache, RTGCPHYS GCPhys, uint
 /**
  * Deals with reading from a page with one or more ALL access handlers.
  *
- * @returns VBox status code. Can be ignored in ring-3.
- * @retval  VINF_SUCCESS.
- * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in R0 and GC, NEVER in R3.
+ * @returns Strict VBox status code in ring-0 and raw-mode, ignorable in ring-3.
+ *          See PGM_HANDLER_PHYS_IS_VALID_STATUS and
+ *          PGM_HANDLER_VIRT_IS_VALID_STATUS for details.
  *
  * @param   pVM         Pointer to the VM.
  * @param   pPage       The page descriptor.
  * @param   GCPhys      The physical address to start reading at.
  * @param   pvBuf       Where to put the bits we read.
  * @param   cb          How much to read - less or equal to a page.
- * @param   enmOrigin       The origin of this call.
+ * @param   enmOrigin   The origin of this call.
  */
-static int pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pvBuf, size_t cb, PGMACCESSORIGIN enmOrigin)
+static VBOXSTRICTRC pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pvBuf, size_t cb,
+                                       PGMACCESSORIGIN enmOrigin)
 {
     /*
      * The most frequent access here is MMIO and shadowed ROM.
@@ -2203,6 +2277,7 @@ static int pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pv
     PGMPAGEMAPLOCK PgMpLck;
     const void    *pvSrc = NULL;
     int rc = pgmPhysGCPhys2CCPtrInternalReadOnly(pVM, pPage, GCPhys, &pvSrc, &PgMpLck);
+/** @todo Check how this can work for MMIO pages? */
     if (RT_FAILURE(rc))
     {
         AssertLogRelMsgFailed(("pgmPhysGCPhys2CCPtrInternalReadOnly failed on %RGp / %R[pgmpage] -> %Rrc\n",
@@ -2210,102 +2285,128 @@ static int pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pv
         memset(pvBuf, 0xff, cb);
         return VINF_SUCCESS;
     }
-    rc = VINF_PGM_HANDLER_DO_DEFAULT;
+
+    VBOXSTRICTRC rcStrict = VINF_PGM_HANDLER_DO_DEFAULT;
 
     /*
      * Deal with any physical handlers.
      */
     PVMCPU pVCpu = VMMGetCpu(pVM);
-#ifdef IN_RING3
     PPGMPHYSHANDLER pPhys = NULL;
-#endif
     if (   PGM_PAGE_GET_HNDL_PHYS_STATE(pPage) == PGM_PAGE_HNDL_PHYS_STATE_ALL
         || PGM_PAGE_IS_MMIO_OR_SPECIAL_ALIAS(pPage))
     {
-#ifdef IN_RING3
         pPhys = pgmHandlerPhysicalLookup(pVM, GCPhys);
         AssertReleaseMsg(pPhys, ("GCPhys=%RGp cb=%#x\n", GCPhys, cb));
         Assert(GCPhys >= pPhys->Core.Key && GCPhys <= pPhys->Core.KeyLast);
         Assert((pPhys->Core.Key     & PAGE_OFFSET_MASK) == 0);
         Assert((pPhys->Core.KeyLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK);
-
+#ifndef IN_RING3
+        if (enmOrigin != PGMACCESSORIGIN_IEM)
+        {
+            /* Cannot reliably handle informational status codes in this context */
+            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
+            return VERR_PGM_PHYS_WR_HIT_HANDLER;
+        }
+#endif
         PFNPGMPHYSHANDLER pfnHandler = PGMPHYSHANDLER_GET_TYPE(pVM, pPhys)->CTX_SUFF(pfnHandler); Assert(pfnHandler);
         void *pvUser = pPhys->CTX_SUFF(pvUser);
 
         Log5(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] phys %s\n", GCPhys, cb, pPage, R3STRING(pPhys->pszDesc) ));
         STAM_PROFILE_START(&pPhys->Stat, h);
         PGM_LOCK_ASSERT_OWNER(pVM);
+
         /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
         pgmUnlock(pVM);
-        rc = pfnHandler(pVM, pVCpu, GCPhys, (void *)pvSrc, pvBuf, cb, PGMACCESSTYPE_READ, enmOrigin, pvUser);
+        rcStrict = pfnHandler(pVM, pVCpu, GCPhys, (void *)pvSrc, pvBuf, cb, PGMACCESSTYPE_READ, enmOrigin, pvUser);
         pgmLock(pVM);
-# ifdef VBOX_WITH_STATISTICS
+
+#ifdef VBOX_WITH_STATISTICS
         pPhys = pgmHandlerPhysicalLookup(pVM, GCPhys);
         if (pPhys)
             STAM_PROFILE_STOP(&pPhys->Stat, h);
-# else
-        pPhys = NULL; /* might not be valid anymore. */
-# endif
-        AssertLogRelMsg(rc == VINF_SUCCESS || rc == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp\n", rc, GCPhys));
 #else
-        /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-        //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cb=%#x\n", GCPhys, cb));
-        pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-        return VERR_PGM_PHYS_WR_HIT_HANDLER;
+        pPhys = NULL; /* might not be valid anymore. */
 #endif
+        AssertLogRelMsg(PGM_HANDLER_PHYS_IS_VALID_STATUS(rcStrict, false),
+                        ("rcStrict=%Rrc GCPhys=%RGp\n", VBOXSTRICTRC_VAL(rcStrict), GCPhys));
+        if (   rcStrict != VINF_PGM_HANDLER_DO_DEFAULT
+            && !PGM_PHYS_RW_IS_SUCCESS(rcStrict))
+        {
+            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
+            return rcStrict;
+        }
     }
 
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
     /*
      * Deal with any virtual handlers.
      */
     if (PGM_PAGE_GET_HNDL_VIRT_STATE(pPage) == PGM_PAGE_HNDL_VIRT_STATE_ALL)
     {
         unsigned        iPage;
-        PPGMVIRTHANDLER pVirt;
-
-        int rc2 = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &pVirt, &iPage);
-        AssertReleaseMsg(RT_SUCCESS(rc2), ("GCPhys=%RGp cb=%#x rc2=%Rrc\n", GCPhys, cb, rc2));
+        PPGMVIRTHANDLER pVirt = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &iPage);
+        AssertReleaseMsg(pVirt, ("GCPhys=%RGp cb=%#x\n", GCPhys, cb));
         Assert((pVirt->Core.Key     & PAGE_OFFSET_MASK) == 0);
         Assert((pVirt->Core.KeyLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK);
         Assert(GCPhys >= pVirt->aPhysToVirt[iPage].Core.Key && GCPhys <= pVirt->aPhysToVirt[iPage].Core.KeyLast);
 
-        PPGMVIRTHANDLERTYPEINT pVirtType = PGMVIRTANDLER_GET_TYPE(pVM, pVirt);
-#ifdef IN_RING3
-        if (pVirtType->pfnHandlerR3)
+# ifndef IN_RING3
+        if (enmOrigin != PGMACCESSORIGIN_IEM)
         {
-            if (!pPhys)
-                Log5(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] virt %s\n", GCPhys, cb, pPage, R3STRING(pVirt->pszDesc) ));
-            else
-                Log(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] phys/virt %s/%s\n", GCPhys, cb, pPage, R3STRING(pVirt->pszDesc), R3STRING(pPhys->pszDesc) ));
-            RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
-                              + (iPage << PAGE_SHIFT)
-                              + (GCPhys & PAGE_OFFSET_MASK);
-
-            STAM_PROFILE_START(&pVirt->Stat, h);
-            rc2 = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, (void *)pvSrc, pvBuf, cb, PGMACCESSTYPE_READ, enmOrigin,
-                                                  pVirt->CTX_SUFF(pvUser));
-            STAM_PROFILE_STOP(&pVirt->Stat, h);
-            if (rc2 == VINF_SUCCESS)
-                rc = VINF_SUCCESS;
-            AssertLogRelMsg(rc2 == VINF_SUCCESS || rc2 == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc2, GCPhys, pPage, pVirt->pszDesc));
+            /* Cannot reliably handle informational status codes in this context */
+            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
+            return VERR_PGM_PHYS_WR_HIT_HANDLER;
         }
+# endif
+        PPGMVIRTHANDLERTYPEINT pVirtType = PGMVIRTANDLER_GET_TYPE(pVM, pVirt);
+        if (!pPhys)
+            Log5(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] virt %s\n", GCPhys, cb, pPage, R3STRING(pVirt->pszDesc) ));
         else
-            Log5(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] virt %s [no handler]\n", GCPhys, cb, pPage, R3STRING(pVirt->pszDesc) ));
-#else
-        /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-        //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cb=%#x\n", GCPhys, cb));
-        pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-        return VERR_PGM_PHYS_WR_HIT_HANDLER;
-#endif
+            Log(("pgmPhysReadHandler: GCPhys=%RGp cb=%#x pPage=%R[pgmpage] phys/virt %s/%s\n", GCPhys, cb, pPage, R3STRING(pVirt->pszDesc), R3STRING(pPhys->pszDesc) ));
+        RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
+                          + (iPage << PAGE_SHIFT)
+                          + (GCPhys & PAGE_OFFSET_MASK);
+
+        STAM_PROFILE_START(&pVirt->Stat, h);
+        VBOXSTRICTRC rcStrict2 = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, (void *)pvSrc, pvBuf, cb,
+                                                                 PGMACCESSTYPE_READ, enmOrigin, pVirt->CTX_SUFF(pvUser));
+        STAM_PROFILE_STOP(&pVirt->Stat, h);
+
+        /* Merge status codes. */
+        if (rcStrict2 == VINF_SUCCESS)
+        {
+            if (rcStrict == VINF_PGM_HANDLER_DO_DEFAULT)
+                rcStrict = VINF_SUCCESS;
+        }
+        else if (rcStrict2 != VINF_PGM_HANDLER_DO_DEFAULT)
+        {
+            AssertLogRelMsg(PGM_HANDLER_VIRT_IS_VALID_STATUS(rcStrict2, false),
+                            ("rcStrict2=%Rrc (rcStrict=%Rrc) GCPhys=%RGp pPage=%R[pgmpage] %s\n",
+                             VBOXSTRICTRC_VAL(rcStrict2), VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage, pVirt->pszDesc));
+             if (!PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+             {
+                 pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
+                 return rcStrict2;
+             }
+             if (rcStrict == VINF_PGM_HANDLER_DO_DEFAULT)
+                 rcStrict = rcStrict2;
+             else
+                 PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
+        }
     }
+#endif /* !IN_RING0 && VBOX_WITH_RAW_MODE */
 
     /*
      * Take the default action.
      */
-    if (rc == VINF_PGM_HANDLER_DO_DEFAULT)
+    if (rcStrict == VINF_PGM_HANDLER_DO_DEFAULT)
+    {
         memcpy(pvBuf, pvSrc, cb);
+        rcStrict = VINF_SUCCESS;
+    }
     pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-    return rc;
+    return rcStrict;
 }
 
 
@@ -2315,9 +2416,27 @@ static int pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pv
  * This API respects access handlers and MMIO. Use PGMPhysSimpleReadGCPhys() if you
  * want to ignore those.
  *
- * @returns VBox status code. Can be ignored in ring-3.
- * @retval  VINF_SUCCESS.
- * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in R0 and GC, NEVER in R3.
+ * @returns Strict VBox status code in raw-mode and ring-0, normal VBox status
+ *          code in ring-3.  Use PGM_PHYS_RW_IS_SUCCESS to check.
+ * @retval  VINF_SUCCESS in all context - read completed.
+ *
+ * @retval  VINF_EM_OFF in RC and R0 - read completed.
+ * @retval  VINF_EM_SUSPEND in RC and R0 - read completed.
+ * @retval  VINF_EM_RESET in RC and R0 - read completed.
+ * @retval  VINF_EM_HALT in RC and R0 - read completed.
+ * @retval  VINF_SELM_SYNC_GDT in RC only - read completed.
+ *
+ * @retval  VINF_EM_DBG_STOP in RC and R0.
+ * @retval  VINF_EM_DBG_BREAKPOINT in RC and R0.
+ * @retval  VINF_EM_RAW_EMULATE_INSTR in RC and R0 only.
+ *
+ * @retval  VINF_IOM_R3_MMIO_READ in RC and R0.
+ * @retval  VINF_IOM_R3_MMIO_READ_WRITE in RC and R0.
+ *
+ * @retval  VINF_PATM_CHECK_PATCH_PAGE in RC only.
+ *
+ * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in RC and R0 for access origins that
+ *          haven't been cleared for strict status codes yet.
  *
  * @param   pVM             Pointer to the VM.
  * @param   GCPhys          Physical address start reading from.
@@ -2325,7 +2444,7 @@ static int pgmPhysReadHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void *pv
  * @param   cbRead          How many bytes to read.
  * @param   enmOrigin       The origin of this call.
  */
-VMMDECL(int) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, PGMACCESSORIGIN enmOrigin)
+VMMDECL(VBOXSTRICTRC) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, PGMACCESSORIGIN enmOrigin)
 {
     AssertMsgReturn(cbRead > 0, ("don't even think about reading zero bytes!\n"), VINF_SUCCESS);
     LogFlow(("PGMPhysRead: %RGp %d\n", GCPhys, cbRead));
@@ -2338,6 +2457,7 @@ VMMDECL(int) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, P
     /*
      * Copy loop on ram ranges.
      */
+    VBOXSTRICTRC rcStrict = VINF_SUCCESS;
     PPGMRAMRANGE pRam = pgmPhysGetRangeAtOrAbove(pVM, GCPhys);
     for (;;)
     {
@@ -2357,19 +2477,10 @@ VMMDECL(int) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, P
                     cb = cbRead;
 
                 /*
-                 * Any ALL access handlers?
+                 * Normal page? Get the pointer to it.
                  */
-                if (RT_UNLIKELY(   PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)
-                                || PGM_PAGE_IS_SPECIAL_ALIAS_MMIO(pPage)))
-                {
-                    int rc = pgmPhysReadHandler(pVM, pPage, pRam->GCPhys + off, pvBuf, cb, enmOrigin);
-                    if (RT_FAILURE(rc))
-                    {
-                        pgmUnlock(pVM);
-                        return rc;
-                    }
-                }
-                else
+                if (   !PGM_PAGE_HAS_ACTIVE_ALL_HANDLERS(pPage)
+                    && !PGM_PAGE_IS_SPECIAL_ALIAS_MMIO(pPage))
                 {
                     /*
                      * Get the pointer to the page.
@@ -2389,12 +2500,26 @@ VMMDECL(int) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, P
                         memset(pvBuf, 0xff, cb);
                     }
                 }
+                /*
+                 * Have ALL/MMIO access handlers.
+                 */
+                else
+                {
+                    VBOXSTRICTRC rcStrict2 = pgmPhysReadHandler(pVM, pPage, pRam->GCPhys + off, pvBuf, cb, enmOrigin);
+                    if (PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+                        PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
+                    else
+                    {
+                        pgmUnlock(pVM);
+                        return rcStrict2;
+                    }
+                }
 
                 /* next page */
                 if (cb >= cbRead)
                 {
                     pgmUnlock(pVM);
-                    return VINF_SUCCESS;
+                    return rcStrict;
                 }
                 cbRead -= cb;
                 off    += cb;
@@ -2429,30 +2554,30 @@ VMMDECL(int) PGMPhysRead(PVM pVM, RTGCPHYS GCPhys, void *pvBuf, size_t cbRead, P
     } /* Ram range walk */
 
     pgmUnlock(pVM);
-    return VINF_SUCCESS;
+    return rcStrict;
 }
 
 
 /**
  * Deals with writing to a page with one or more WRITE or ALL access handlers.
  *
- * @returns VBox status code. Can be ignored in ring-3.
- * @retval  VINF_SUCCESS.
- * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in R0 and GC, NEVER in R3.
+ * @returns Strict VBox status code in ring-0 and raw-mode, ignorable in ring-3.
+ *          See PGM_HANDLER_PHYS_IS_VALID_STATUS and
+ *          PGM_HANDLER_VIRT_IS_VALID_STATUS for details.
  *
  * @param   pVM         Pointer to the VM.
  * @param   pPage       The page descriptor.
  * @param   GCPhys      The physical address to start writing at.
  * @param   pvBuf       What to write.
  * @param   cbWrite     How much to write - less or equal to a page.
- * @param   enmOrigin       The origin of this call.
+ * @param   enmOrigin   The origin of this call.
  */
-static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void const *pvBuf, size_t cbWrite,
-                               PGMACCESSORIGIN enmOrigin)
+static VBOXSTRICTRC pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void const *pvBuf, size_t cbWrite,
+                                        PGMACCESSORIGIN enmOrigin)
 {
     PGMPAGEMAPLOCK  PgMpLck;
     void           *pvDst = NULL;
-    int             rc;
+    VBOXSTRICTRC    rcStrict;
 
     /*
      * Give priority to physical handlers (like #PF does).
@@ -2469,60 +2594,60 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
         if (pCur)
         {
             Assert(GCPhys >= pCur->Core.Key && GCPhys <= pCur->Core.KeyLast);
-
+#ifndef IN_RING3
+            if (enmOrigin != PGMACCESSORIGIN_IEM)
+                /* Cannot reliably handle informational status codes in this context */
+                return VERR_PGM_PHYS_WR_HIT_HANDLER;
+#endif
             size_t cbRange = pCur->Core.KeyLast - GCPhys + 1;
             if (cbRange > cbWrite)
                 cbRange = cbWrite;
 
-#ifndef IN_RING3
-            /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-            NOREF(cbRange);
-            //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cbRange=%#x\n", GCPhys, cbRange));
-            return VERR_PGM_PHYS_WR_HIT_HANDLER;
-
-#else  /* IN_RING3 */
             Assert(PGMPHYSHANDLER_GET_TYPE(pVM, pCur)->CTX_SUFF(pfnHandler));
             Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys %s\n",
                   GCPhys, cbRange, pPage, R3STRING(pCur->pszDesc) ));
             if (!PGM_PAGE_IS_MMIO_OR_SPECIAL_ALIAS(pPage))
-                rc = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
+                rcStrict = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
             else
-                rc = VINF_SUCCESS;
-            if (RT_SUCCESS(rc))
+                rcStrict = VINF_SUCCESS;
+            if (RT_SUCCESS(rcStrict))
             {
                 PFNPGMPHYSHANDLER pfnHandler = PGMPHYSHANDLER_GET_TYPE(pVM, pCur)->CTX_SUFF(pfnHandler);
                 void *pvUser = pCur->CTX_SUFF(pvUser);
-
                 STAM_PROFILE_START(&pCur->Stat, h);
-                PGM_LOCK_ASSERT_OWNER(pVM);
+
                 /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
+                PGM_LOCK_ASSERT_OWNER(pVM);
                 pgmUnlock(pVM);
-                rc = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
+                rcStrict = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
                 pgmLock(pVM);
-# ifdef VBOX_WITH_STATISTICS
+
+#ifdef VBOX_WITH_STATISTICS
                 pCur = pgmHandlerPhysicalLookup(pVM, GCPhys);
                 if (pCur)
                     STAM_PROFILE_STOP(&pCur->Stat, h);
-# else
+#else
                 pCur = NULL; /* might not be valid anymore. */
-# endif
-                if (rc == VINF_PGM_HANDLER_DO_DEFAULT && pvDst)
+#endif
+                if (rcStrict == VINF_PGM_HANDLER_DO_DEFAULT)
                 {
                     if (pvDst)
                         memcpy(pvDst, pvBuf, cbRange);
+                    rcStrict = VINF_SUCCESS;
                 }
                 else
-                    AssertLogRelMsg(rc == VINF_SUCCESS || rc == VINF_PGM_HANDLER_DO_DEFAULT,
-                                    ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, pCur ? pCur->pszDesc : ""));
+                    AssertLogRelMsg(PGM_HANDLER_PHYS_IS_VALID_STATUS(rcStrict, true),
+                                    ("rcStrict=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n",
+                                     VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage, pCur ? R3STRING(pCur->pszDesc) : ""));
             }
             else
                 AssertLogRelMsgFailedReturn(("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n",
-                                             GCPhys, pPage, rc), rc);
-            if (RT_LIKELY(cbRange == cbWrite))
+                                             GCPhys, pPage, VBOXSTRICTRC_VAL(rcStrict)), rcStrict);
+            if (RT_LIKELY(cbRange == cbWrite) || !PGM_PHYS_RW_IS_SUCCESS(rcStrict))
             {
                 if (pvDst)
                     pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-                return VINF_SUCCESS;
+                return rcStrict;
             }
 
             /* more fun to be had below */
@@ -2530,11 +2655,12 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
             GCPhys  += cbRange;
             pvBuf    = (uint8_t *)pvBuf + cbRange;
             pvDst    = (uint8_t *)pvDst + cbRange;
-#endif /* IN_RING3 */
         }
-        /* else: the handler is somewhere else in the page, deal with it below. */
+        else /* The handler is somewhere else in the page, deal with it below. */
+            rcStrict = VINF_SUCCESS;
         Assert(!PGM_PAGE_IS_MMIO_OR_ALIAS(pPage)); /* MMIO handlers are all PAGE_SIZEed! */
     }
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
     /*
      * A virtual handler without any interfering physical handlers.
      * Hopefully it'll cover the whole write.
@@ -2542,52 +2668,50 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
     else if (!PGM_PAGE_HAS_ACTIVE_PHYSICAL_HANDLERS(pPage))
     {
         unsigned        iPage;
-        PPGMVIRTHANDLER pCur;
-        rc = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &pCur, &iPage);
-        if (RT_SUCCESS(rc))
+        PPGMVIRTHANDLER pVirt = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &iPage);
+        if (pVirt)
         {
-            PPGMVIRTHANDLERTYPEINT pCurType = PGMVIRTANDLER_GET_TYPE(pVM, pCur);
-
-            size_t cbRange = (PAGE_OFFSET_MASK & pCur->Core.KeyLast) - (PAGE_OFFSET_MASK & GCPhys) + 1;
+# ifndef IN_RING3
+            if (enmOrigin != PGMACCESSORIGIN_IEM)
+                /* Cannot reliably handle informational status codes in this context */
+                return VERR_PGM_PHYS_WR_HIT_HANDLER;
+# endif
+            PPGMVIRTHANDLERTYPEINT pVirtType = PGMVIRTANDLER_GET_TYPE(pVM, pVirt);
+            size_t cbRange = (PAGE_OFFSET_MASK & pVirt->Core.KeyLast) - (PAGE_OFFSET_MASK & GCPhys) + 1;
             if (cbRange > cbWrite)
                 cbRange = cbWrite;
 
-#ifndef IN_RING3
-            /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-            NOREF(cbRange);
-            //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cbRange=%#x\n", GCPhys, cbRange));
-            return VERR_PGM_PHYS_WR_HIT_HANDLER;
-
-#else  /* IN_RING3 */
-
-            Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] virt %s\n", GCPhys, cbRange, pPage, R3STRING(pCur->pszDesc) ));
-            rc = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
-            if (RT_SUCCESS(rc))
+            Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] virt %s\n",
+                  GCPhys, cbRange, pPage, R3STRING(pVirt->pszDesc) ));
+            rcStrict = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
+            if (RT_SUCCESS(rcStrict))
             {
-                rc = VINF_PGM_HANDLER_DO_DEFAULT;
-                if (pCurType->pfnHandlerR3)
-                {
-                    RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pCur->Core.Key & PAGE_BASE_GC_MASK)
-                                      + (iPage << PAGE_SHIFT)
-                                      + (GCPhys & PAGE_OFFSET_MASK);
+                Assert(pVirtType->CTX_SUFF(pfnHandler));
+                RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
+                                  + (iPage << PAGE_SHIFT)
+                                  + (GCPhys & PAGE_OFFSET_MASK);
 
-                    STAM_PROFILE_START(&pCur->Stat, h);
-                    rc = pCurType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE,
-                                                        enmOrigin, pCur->CTX_SUFF(pvUser));
-                    STAM_PROFILE_STOP(&pCur->Stat, h);
-                }
-                if (rc == VINF_PGM_HANDLER_DO_DEFAULT)
+                STAM_PROFILE_START(&pVirt->Stat, h);
+                rcStrict = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange,
+                                                           PGMACCESSTYPE_WRITE, enmOrigin, pVirt->CTX_SUFF(pvUser));
+                STAM_PROFILE_STOP(&pVirt->Stat, h);
+                if (rcStrict == VINF_PGM_HANDLER_DO_DEFAULT)
+                {
                     memcpy(pvDst, pvBuf, cbRange);
+                    rcStrict = VINF_SUCCESS;
+                }
                 else
-                    AssertLogRelMsg(rc == VINF_SUCCESS, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, pCur->pszDesc));
+                    AssertLogRelMsg(PGM_HANDLER_VIRT_IS_VALID_STATUS(rcStrict, true),
+                                    ("rcStrict=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n",
+                                     VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage, R3STRING(pVirt->pszDesc)));
             }
             else
                 AssertLogRelMsgFailedReturn(("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n",
-                                             GCPhys, pPage, rc), rc);
-            if (RT_LIKELY(cbRange == cbWrite))
+                                             GCPhys, pPage, VBOXSTRICTRC_VAL(rcStrict)), rcStrict);
+            if (RT_LIKELY(cbRange == cbWrite) || !PGM_PHYS_RW_IS_SUCCESS(rcStrict))
             {
                 pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-                return VINF_SUCCESS;
+                return rcStrict;
             }
 
             /* more fun to be had below */
@@ -2595,30 +2719,39 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
             GCPhys  += cbRange;
             pvBuf    = (uint8_t *)pvBuf + cbRange;
             pvDst    = (uint8_t *)pvDst + cbRange;
-#endif
         }
-        /* else: the handler is somewhere else in the page, deal with it below. */
+        else /* The handler is somewhere else in the page, deal with it below. */
+            rcStrict = VINF_SUCCESS;
     }
+#endif /* !IN_RING0 && VBOX_WITH_RAW_MODE */
+    else
+        rcStrict = VINF_SUCCESS;
+
 
     /*
      * Deal with all the odd ends.
      */
+    Assert(rcStrict != VINF_PGM_HANDLER_DO_DEFAULT);
 
     /* We need a writable destination page. */
     if (!pvDst)
     {
-        rc = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
-        AssertLogRelMsgReturn(RT_SUCCESS(rc),
-                              ("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n",
-                               GCPhys, pPage, rc), rc);
+        int rc2 = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, GCPhys, &pvDst, &PgMpLck);
+        AssertLogRelMsgReturn(RT_SUCCESS(rc2),
+                              ("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n", GCPhys, pPage, rc2),
+                              rc2);
     }
 
     /* The loop state (big + ugly). */
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
     unsigned        iVirtPage   = 0;
     PPGMVIRTHANDLER pVirt       = NULL;
     uint32_t        offVirt     = PAGE_SIZE;
     uint32_t        offVirtLast = PAGE_SIZE;
     bool            fMoreVirt   = PGM_PAGE_HAS_ACTIVE_VIRTUAL_HANDLERS(pPage);
+#else
+    uint32_t const  offVirt     = UINT32_MAX;
+#endif
 
     PPGMPHYSHANDLER pPhys       = NULL;
     uint32_t        offPhys     = PAGE_SIZE;
@@ -2628,13 +2761,14 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
     /* The loop. */
     for (;;)
     {
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
         /*
          * Find the closest handler at or above GCPhys.
          */
         if (fMoreVirt && !pVirt)
         {
-            rc = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &pVirt, &iVirtPage);
-            if (RT_SUCCESS(rc))
+            pVirt = pgmHandlerVirtualFindByPhysAddr(pVM, GCPhys, &iVirtPage);
+            if (pVirt)
             {
                 offVirt = 0;
                 offVirtLast = (pVirt->aPhysToVirt[iVirtPage].Core.KeyLast & PAGE_OFFSET_MASK) - (GCPhys & PAGE_OFFSET_MASK);
@@ -2664,6 +2798,7 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
                 }
             }
         }
+#endif
 
         if (fMorePhys && !pPhys)
         {
@@ -2695,7 +2830,7 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
         /*
          * Handle access to space without handlers (that's easy).
          */
-        rc = VINF_PGM_HANDLER_DO_DEFAULT;
+        VBOXSTRICTRC rcStrict2 = VINF_PGM_HANDLER_DO_DEFAULT;
         uint32_t cbRange = (uint32_t)cbWrite;
         if (offPhys && offVirt)
         {
@@ -2710,75 +2845,80 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
          */
         else if (!offPhys && offVirt)
         {
+#ifndef IN_RING3
+            if (enmOrigin != PGMACCESSORIGIN_IEM)
+                /* Cannot reliably handle informational status codes in this context */
+                return VERR_PGM_PHYS_WR_HIT_HANDLER;
+#endif
             if (cbRange > offPhysLast + 1)
                 cbRange = offPhysLast + 1;
             if (cbRange > offVirt)
                 cbRange = offVirt;
-#ifdef IN_RING3
+
             PFNPGMPHYSHANDLER pfnHandler = PGMPHYSHANDLER_GET_TYPE(pVM, pPhys)->CTX_SUFF(pfnHandler);
             void *pvUser = pPhys->CTX_SUFF(pvUser);
 
             Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys %s\n", GCPhys, cbRange, pPage, R3STRING(pPhys->pszDesc) ));
             STAM_PROFILE_START(&pPhys->Stat, h);
-            PGM_LOCK_ASSERT_OWNER(pVM);
+
             /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
+            PGM_LOCK_ASSERT_OWNER(pVM);
             pgmUnlock(pVM);
-            rc = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
+            rcStrict2 = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
             pgmLock(pVM);
-# ifdef VBOX_WITH_STATISTICS
+
+#ifdef VBOX_WITH_STATISTICS
             pPhys = pgmHandlerPhysicalLookup(pVM, GCPhys);
             if (pPhys)
                 STAM_PROFILE_STOP(&pPhys->Stat, h);
-# else
-            pPhys = NULL; /* might not be valid anymore. */
-# endif
-            AssertLogRelMsg(rc == VINF_SUCCESS || rc == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, (pPhys) ? pPhys->pszDesc : ""));
 #else
-            /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-            NOREF(cbRange);
-            //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cbRange=%#x\n", GCPhys, cbRange));
-            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-            return VERR_PGM_PHYS_WR_HIT_HANDLER;
+            pPhys = NULL; /* might not be valid anymore. */
 #endif
+            AssertLogRelMsg(PGM_HANDLER_PHYS_IS_VALID_STATUS(rcStrict2, true),
+                            ("rcStrict2=%Rrc (rcStrict=%Rrc) GCPhys=%RGp pPage=%R[pgmpage] %s\n", VBOXSTRICTRC_VAL(rcStrict2),
+                             VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage,  pPhys ? R3STRING(pPhys->pszDesc) : ""));
         }
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
         /*
          * Virtual handler.
          */
         else if (offPhys && !offVirt)
         {
+# ifndef IN_RING3
+            if (enmOrigin != PGMACCESSORIGIN_IEM)
+                /* Cannot reliably handle informational status codes in this context */
+                return VERR_PGM_PHYS_WR_HIT_HANDLER;
+# endif
             if (cbRange > offVirtLast + 1)
                 cbRange = offVirtLast + 1;
             if (cbRange > offPhys)
                 cbRange = offPhys;
 
             PPGMVIRTHANDLERTYPEINT pVirtType = PGMVIRTANDLER_GET_TYPE(pVM, pVirt);
-#ifdef IN_RING3
             Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys %s\n", GCPhys, cbRange, pPage, R3STRING(pVirt->pszDesc) ));
-            if (pVirtType->pfnHandlerR3)
-            {
-                RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
-                                  + (iVirtPage << PAGE_SHIFT)
-                                  + (GCPhys & PAGE_OFFSET_MASK);
-                STAM_PROFILE_START(&pVirt->Stat, h);
-                rc = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE,
-                                                     enmOrigin, pVirt->CTX_SUFF(pvUser));
-                STAM_PROFILE_STOP(&pVirt->Stat, h);
-                AssertLogRelMsg(rc == VINF_SUCCESS || rc == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, pVirt->pszDesc));
-            }
+            Assert(pVirtType->CTX_SUFF(pfnHandler));
+            RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
+                              + (iVirtPage << PAGE_SHIFT)
+                              + (GCPhys & PAGE_OFFSET_MASK);
+            STAM_PROFILE_START(&pVirt->Stat, h);
+            rcStrict2 = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE,
+                                                        enmOrigin, pVirt->CTX_SUFF(pvUser));
+            STAM_PROFILE_STOP(&pVirt->Stat, h);
+            AssertLogRelMsg(PGM_HANDLER_VIRT_IS_VALID_STATUS(rcStrict2, true),
+                            ("rcStrict2=%Rrc (rcStrict=%Rrc) GCPhys=%RGp pPage=%R[pgmpage] %s\n", VBOXSTRICTRC_VAL(rcStrict2),
+                             VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage,  pPhys ? R3STRING(pPhys->pszDesc) : ""));
             pVirt = NULL;
-#else
-            /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-            NOREF(cbRange);
-            //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cbRange=%#x\n", GCPhys, cbRange));
-            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-            return VERR_PGM_PHYS_WR_HIT_HANDLER;
-#endif
         }
         /*
          * Both... give the physical one priority.
          */
         else
         {
+# ifndef IN_RING3
+            if (enmOrigin != PGMACCESSORIGIN_IEM)
+                /* Cannot reliably handle informational status codes in this context */
+                return VERR_PGM_PHYS_WR_HIT_HANDLER;
+# endif
             Assert(!offPhys && !offVirt);
             if (cbRange > offVirtLast + 1)
                 cbRange = offVirtLast + 1;
@@ -2786,20 +2926,20 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
                 cbRange = offPhysLast + 1;
 
             PPGMVIRTHANDLERTYPEINT pVirtType = PGMVIRTANDLER_GET_TYPE(pVM, pVirt);
-#ifdef IN_RING3
             if (pVirtType->pfnHandlerR3)
                 Log(("pgmPhysWriteHandler: overlapping phys and virt handlers at %RGp %R[pgmpage]; cbRange=%#x\n", GCPhys, pPage, cbRange));
             Log5(("pgmPhysWriteHandler: GCPhys=%RGp cbRange=%#x pPage=%R[pgmpage] phys/virt %s/%s\n", GCPhys, cbRange, pPage, R3STRING(pPhys->pszDesc), R3STRING(pVirt->pszDesc) ));
 
             PFNPGMPHYSHANDLER pfnHandler = PGMPHYSHANDLER_GET_TYPE(pVM, pPhys)->CTX_SUFF(pfnHandler);
             void *pvUser = pPhys->CTX_SUFF(pvUser);
-
             STAM_PROFILE_START(&pPhys->Stat, h);
-            PGM_LOCK_ASSERT_OWNER(pVM);
+
             /* Release the PGM lock as MMIO handlers take the IOM lock. (deadlock prevention) */
+            PGM_LOCK_ASSERT_OWNER(pVM);
             pgmUnlock(pVM);
-            rc = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
+            rcStrict2 = pfnHandler(pVM, pVCpu, GCPhys, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
             pgmLock(pVM);
+
 # ifdef VBOX_WITH_STATISTICS
             pPhys = pgmHandlerPhysicalLookup(pVM, GCPhys);
             if (pPhys)
@@ -2807,34 +2947,63 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
 # else
             pPhys = NULL; /* might not be valid anymore. */
 # endif
-            AssertLogRelMsg(rc == VINF_SUCCESS || rc == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, (pPhys) ? pPhys->pszDesc : ""));
-            if (pVirtType->pfnHandlerR3)
+            AssertLogRelMsg(PGM_HANDLER_PHYS_IS_VALID_STATUS(rcStrict2, true),
+                            ("rcStrict2=%Rrc (rcStrict=%Rrc) GCPhys=%RGp pPage=%R[pgmpage] %s\n", VBOXSTRICTRC_VAL(rcStrict2),
+                             VBOXSTRICTRC_VAL(rcStrict), GCPhys, pPage,  pPhys ? R3STRING(pPhys->pszDesc) : ""));
+            if (rcStrict2 == VINF_PGM_HANDLER_DO_DEFAULT || PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
             {
-
+                Assert(pVirtType->CTX_SUFF(pfnHandler));
                 RTGCUINTPTR GCPtr = ((RTGCUINTPTR)pVirt->Core.Key & PAGE_BASE_GC_MASK)
                                   + (iVirtPage << PAGE_SHIFT)
                                   + (GCPhys & PAGE_OFFSET_MASK);
+                pvUser = pVirt->CTX_SUFF(pvUser);
+
                 STAM_PROFILE_START(&pVirt->Stat, h2);
-                int rc2 = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange, PGMACCESSTYPE_WRITE,
-                                                          enmOrigin, pVirt->CTX_SUFF(pvUser));
+                VBOXSTRICTRC rcStrict3 = pVirtType->CTX_SUFF(pfnHandler)(pVM, pVCpu, GCPtr, pvDst, (void *)pvBuf, cbRange,
+                                                                         PGMACCESSTYPE_WRITE, enmOrigin, pvUser);
                 STAM_PROFILE_STOP(&pVirt->Stat, h2);
-                if (rc2 == VINF_SUCCESS && rc == VINF_PGM_HANDLER_DO_DEFAULT)
-                    rc = VINF_SUCCESS;
-                else
-                    AssertLogRelMsg(rc2 == VINF_SUCCESS || rc2 == VINF_PGM_HANDLER_DO_DEFAULT, ("rc=%Rrc GCPhys=%RGp pPage=%R[pgmpage] %s\n", rc, GCPhys, pPage, pVirt->pszDesc));
+
+                /* Merge the 3rd status into the 2nd. */
+                if (rcStrict3 == VINF_SUCCESS)
+                {
+                    if (rcStrict2 == VINF_PGM_HANDLER_DO_DEFAULT)
+                        rcStrict2 = VINF_SUCCESS;
+                }
+                else if (rcStrict3 != VINF_PGM_HANDLER_DO_DEFAULT)
+                {
+                    AssertLogRelMsg(PGM_HANDLER_VIRT_IS_VALID_STATUS(rcStrict3, true),
+                                    ("rcStrict3=%Rrc (rcStrict2=%Rrc) (rcStrict=%Rrc) GCPhys=%RGp pPage=%R[pgmpage] %s\n",
+                                     VBOXSTRICTRC_VAL(rcStrict3), VBOXSTRICTRC_VAL(rcStrict2), VBOXSTRICTRC_VAL(rcStrict),
+                                     GCPhys, pPage, R3STRING(pVirt->pszDesc) ));
+                    if (rcStrict2 == VINF_PGM_HANDLER_DO_DEFAULT)
+                        rcStrict2 = rcStrict3;
+                    else if (!PGM_PHYS_RW_IS_SUCCESS(rcStrict3))
+                        rcStrict2 = rcStrict3;
+                    else
+                        PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict2, rcStrict3);
+                }
             }
             pPhys = NULL;
             pVirt = NULL;
-#else
-            /* In R0 and RC the callbacks cannot handle this context, so we'll fail. */
-            NOREF(cbRange);
-            //AssertReleaseMsgFailed(("Wrong API! GCPhys=%RGp cbRange=%#x\n", GCPhys, cbRange));
-            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-            return VERR_PGM_PHYS_WR_HIT_HANDLER;
-#endif
         }
-        if (rc == VINF_PGM_HANDLER_DO_DEFAULT)
+#endif /* !IN_RING0 && VBOX_WITH_RAW_MODE */
+
+
+        /*
+         * Execute the default action and merge the status codes.
+         */
+        if (rcStrict2 == VINF_PGM_HANDLER_DO_DEFAULT)
+        {
             memcpy(pvDst, pvBuf, cbRange);
+            rcStrict2 = VINF_SUCCESS;
+        }
+        else if (!PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+        {
+            pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
+            return rcStrict2;
+        }
+        else
+            PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
 
         /*
          * Advance if we've got more stuff to do.
@@ -2842,9 +3011,10 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
         if (cbRange >= cbWrite)
         {
             pgmPhysReleaseInternalPageMappingLock(pVM, &PgMpLck);
-            return VINF_SUCCESS;
+            return rcStrict;
         }
 
+
         cbWrite         -= cbRange;
         GCPhys          += cbRange;
         pvBuf            = (uint8_t *)pvBuf + cbRange;
@@ -2852,8 +3022,10 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
 
         offPhys         -= cbRange;
         offPhysLast     -= cbRange;
+#if !defined(IN_RING0) && defined(VBOX_WITH_RAW_MODE)
         offVirt         -= cbRange;
         offVirtLast     -= cbRange;
+#endif
     }
 }
 
@@ -2864,9 +3036,33 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
  * This API respects access handlers and MMIO. Use PGMPhysSimpleWriteGCPhys() if you
  * want to ignore those.
  *
- * @returns VBox status code. Can be ignored in ring-3.
- * @retval  VINF_SUCCESS.
- * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in R0 and GC, NEVER in R3.
+ * @returns Strict VBox status code in raw-mode and ring-0, normal VBox status
+ *          code in ring-3.  Use PGM_PHYS_RW_IS_SUCCESS to check.
+ * @retval  VINF_SUCCESS in all context - write completed.
+ *
+ * @retval  VINF_EM_OFF in RC and R0 - write completed.
+ * @retval  VINF_EM_SUSPEND in RC and R0 - write completed.
+ * @retval  VINF_EM_RESET in RC and R0 - write completed.
+ * @retval  VINF_EM_HALT in RC and R0 - write completed.
+ * @retval  VINF_SELM_SYNC_GDT in RC only - write completed.
+ *
+ * @retval  VINF_EM_DBG_STOP in RC and R0.
+ * @retval  VINF_EM_DBG_BREAKPOINT in RC and R0.
+ * @retval  VINF_EM_RAW_EMULATE_INSTR in RC and R0 only.
+ *
+ * @retval  VINF_IOM_R3_MMIO_WRITE in RC and R0.
+ * @retval  VINF_IOM_R3_MMIO_READ_WRITE in RC and R0.
+ *
+ * @retval  VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT in RC only - write completed.
+ * @retval  VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT in RC only.
+ * @retval  VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT in RC only.
+ * @retval  VINF_EM_RAW_EMULATE_INSTR_IDT_FAULT in RC only.
+ * @retval  VINF_CSAM_PENDING_ACTION in RC only.
+ * @retval  VINF_PATM_CHECK_PATCH_PAGE in RC only.
+ *
+ * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in RC and R0 for access origins that
+ *          haven't been cleared for strict status codes yet.
+ *
  *
  * @param   pVM             Pointer to the VM.
  * @param   GCPhys          Physical address to write to.
@@ -2874,7 +3070,7 @@ static int pgmPhysWriteHandler(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void co
  * @param   cbWrite         How many bytes to write.
  * @param   enmOrigin       Who is calling.
  */
-VMMDECL(int) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, PGMACCESSORIGIN enmOrigin)
+VMMDECL(VBOXSTRICTRC) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cbWrite, PGMACCESSORIGIN enmOrigin)
 {
     AssertMsg(!pVM->pgm.s.fNoMorePhysWrites, ("Calling PGMPhysWrite after pgmR3Save()! enmOrigin=%d\n", enmOrigin));
     AssertMsgReturn(cbWrite > 0, ("don't even think about writing zero bytes!\n"), VINF_SUCCESS);
@@ -2888,6 +3084,7 @@ VMMDECL(int) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cb
     /*
      * Copy loop on ram ranges.
      */
+    VBOXSTRICTRC rcStrict = VINF_SUCCESS;
     PPGMRAMRANGE pRam = pgmPhysGetRangeAtOrAbove(pVM, GCPhys);
     for (;;)
     {
@@ -2907,23 +3104,11 @@ VMMDECL(int) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cb
                     cb = cbWrite;
 
                 /*
-                 * Any active WRITE or ALL access handlers?
+                 * Normal page? Get the pointer to it.
                  */
-                if (   PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)
-                    || PGM_PAGE_IS_SPECIAL_ALIAS_MMIO(pPage))
-                {
-                    int rc = pgmPhysWriteHandler(pVM, pPage, pRam->GCPhys + off, pvBuf, cb, enmOrigin);
-                    if (RT_FAILURE(rc))
-                    {
-                        pgmUnlock(pVM);
-                        return rc;
-                    }
-                }
-                else
+                if (   !PGM_PAGE_HAS_ACTIVE_HANDLERS(pPage)
+                    && !PGM_PAGE_IS_SPECIAL_ALIAS_MMIO(pPage))
                 {
-                    /*
-                     * Get the pointer to the page.
-                     */
                     PGMPAGEMAPLOCK PgMpLck;
                     void          *pvDst;
                     int rc = pgmPhysGCPhys2CCPtrInternal(pVM, pPage, pRam->GCPhys + off, &pvDst, &PgMpLck);
@@ -2938,12 +3123,26 @@ VMMDECL(int) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cb
                         AssertLogRelMsgFailed(("pgmPhysGCPhys2CCPtrInternal failed on %RGp / %R[pgmpage] -> %Rrc\n",
                                                 pRam->GCPhys + off, pPage, rc));
                 }
+                /*
+                 * Active WRITE or ALL access handlers.
+                 */
+                else
+                {
+                    VBOXSTRICTRC rcStrict2 = pgmPhysWriteHandler(pVM, pPage, pRam->GCPhys + off, pvBuf, cb, enmOrigin);
+                    if (PGM_PHYS_RW_IS_SUCCESS(rcStrict2))
+                        PGM_PHYS_RW_DO_UPDATE_STRICT_RC(rcStrict, rcStrict2);
+                    else
+                    {
+                        pgmUnlock(pVM);
+                        return rcStrict2;
+                    }
+                }
 
                 /* next page */
                 if (cb >= cbWrite)
                 {
                     pgmUnlock(pVM);
-                    return VINF_SUCCESS;
+                    return rcStrict;
                 }
 
                 cbWrite -= cb;
@@ -2974,7 +3173,7 @@ VMMDECL(int) PGMPhysWrite(PVM pVM, RTGCPHYS GCPhys, const void *pvBuf, size_t cb
     } /* Ram range walk */
 
     pgmUnlock(pVM);
-    return VINF_SUCCESS;
+    return rcStrict;
 }
 
 
@@ -3379,7 +3578,10 @@ VMMDECL(int) PGMPhysSimpleDirtyWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const
  * This function uses the current CR3/CR0/CR4 of the guest and will
  * respect access handlers and set accessed bits.
  *
- * @returns VBox status.
+ * @returns Strict VBox status, see PGMPhysRead for details.
+ * @retval  VERR_PAGE_TABLE_NOT_PRESENT if there is no page mapped at the
+ *          specified virtual address.
+ *
  * @param   pVCpu       Handle to the current virtual CPU.
  * @param   pvDst       The destination address.
  * @param   GCPtrSrc    The source address (GC pointer).
@@ -3387,7 +3589,7 @@ VMMDECL(int) PGMPhysSimpleDirtyWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const
  * @param   enmOrigin   Who is calling.
  * @thread  EMT(pVCpu)
  */
-VMMDECL(int) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, PGMACCESSORIGIN enmOrigin)
+VMMDECL(VBOXSTRICTRC) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_t cb, PGMACCESSORIGIN enmOrigin)
 {
     RTGCPHYS    GCPhys;
     uint64_t    fFlags;
@@ -3444,9 +3646,11 @@ VMMDECL(int) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_
         size_t cbRead = PAGE_SIZE - ((RTGCUINTPTR)GCPtrSrc & PAGE_OFFSET_MASK);
         if (cbRead < cb)
         {
-            rc = PGMPhysRead(pVM, GCPhys, pvDst, cbRead, enmOrigin);
-            if (RT_FAILURE(rc))
-                return rc;
+            VBOXSTRICTRC rcStrict = PGMPhysRead(pVM, GCPhys, pvDst, cbRead, enmOrigin);
+            if (RT_LIKELY(rcStrict == VINF_SUCCESS))
+            { /* likely */ }
+            else
+                return rcStrict;
         }
         else    /* Last page (cbRead is PAGE_SIZE, we only need cb!) */
             return PGMPhysRead(pVM, GCPhys, pvDst, cb, enmOrigin);
@@ -3466,9 +3670,9 @@ VMMDECL(int) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_
  * This function uses the current CR3/CR0/CR4 of the guest and will
  * respect access handlers and set dirty and accessed bits.
  *
- * @returns VBox status.
- * @retval  VINF_SUCCESS.
- * @retval  VERR_PGM_PHYS_WR_HIT_HANDLER in R0 and GC, NEVER in R3.
+ * @returns Strict VBox status, see PGMPhysWrite for details.
+ * @retval  VERR_PAGE_TABLE_NOT_PRESENT if there is no page mapped at the
+ *          specified virtual address.
  *
  * @param   pVCpu       Handle to the current virtual CPU.
  * @param   GCPtrDst    The destination address (GC pointer).
@@ -3476,7 +3680,7 @@ VMMDECL(int) PGMPhysReadGCPtr(PVMCPU pVCpu, void *pvDst, RTGCPTR GCPtrSrc, size_
  * @param   cb          The number of bytes to write.
  * @param   enmOrigin       Who is calling.
  */
-VMMDECL(int) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc, size_t cb, PGMACCESSORIGIN enmOrigin)
+VMMDECL(VBOXSTRICTRC) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc, size_t cb, PGMACCESSORIGIN enmOrigin)
 {
     RTGCPHYS    GCPhys;
     uint64_t    fFlags;
@@ -3504,7 +3708,7 @@ VMMDECL(int) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc
 
         /* Mention when we ignore X86_PTE_RW... */
         if (!(fFlags & X86_PTE_RW))
-            Log(("PGMPhysGCPtr2GCPhys: Writing to RO page %RGv %#x\n", GCPtrDst, cb));
+            Log(("PGMPhysWriteGCPtr: Writing to RO page %RGv %#x\n", GCPtrDst, cb));
 
         /* Mark the guest page as accessed and dirty if necessary. */
         if ((fFlags & (X86_PTE_A | X86_PTE_D)) != (X86_PTE_A | X86_PTE_D))
@@ -3528,7 +3732,7 @@ VMMDECL(int) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc
 
         /* Mention when we ignore X86_PTE_RW... */
         if (!(fFlags & X86_PTE_RW))
-            Log(("PGMPhysGCPtr2GCPhys: Writing to RO page %RGv %#x\n", GCPtrDst, cb));
+            Log(("PGMPhysWriteGCPtr: Writing to RO page %RGv %#x\n", GCPtrDst, cb));
 
         /* Mark the guest page as accessed and dirty if necessary. */
         if ((fFlags & (X86_PTE_A | X86_PTE_D)) != (X86_PTE_A | X86_PTE_D))
@@ -3541,12 +3745,14 @@ VMMDECL(int) PGMPhysWriteGCPtr(PVMCPU pVCpu, RTGCPTR GCPtrDst, const void *pvSrc
         size_t cbWrite = PAGE_SIZE - ((RTGCUINTPTR)GCPtrDst & PAGE_OFFSET_MASK);
         if (cbWrite < cb)
         {
-            rc = PGMPhysWrite(pVM, GCPhys, pvSrc, cbWrite, enmOrigin);
-            if (RT_FAILURE(rc))
-                return rc;
+            VBOXSTRICTRC rcStrict = PGMPhysWrite(pVM, GCPhys, pvSrc, cbWrite, enmOrigin);
+            if (RT_LIKELY(rcStrict == VINF_SUCCESS))
+            { /* likely */ }
+            else
+                return rcStrict;
         }
         else    /* Last page (cbWrite is PAGE_SIZE, we only need cb!) */
-            rc = PGMPhysWrite(pVM, GCPhys, pvSrc, cb, enmOrigin);
+            return PGMPhysWrite(pVM, GCPhys, pvSrc, cb, enmOrigin);
 
         /* next */
         Assert(cb > cbWrite);
diff --git a/src/VBox/VMM/VMMAll/PGMAllPool.cpp b/src/VBox/VMM/VMMAll/PGMAllPool.cpp
index c50259d..039a848 100644
--- a/src/VBox/VMM/VMMAll/PGMAllPool.cpp
+++ b/src/VBox/VMM/VMMAll/PGMAllPool.cpp
@@ -1041,21 +1041,13 @@ DECLINLINE(int) pgmPoolAccessPfHandlerSimple(PVM pVM, PVMCPU pVCpu, PPGMPOOL pPo
 
 
 /**
- * \#PF Handler callback for PT write accesses.
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      \#PF access handler callback for page table pages.}
  *
- * @returns VBox status code (appropriate for GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- *                      NULL on DMA and other non CPU access.
- * @param   pvFault     The fault address (cr2).
- * @param   GCPhysFault The GC physical address corresponding to pvFault.
- * @param   pvUser      User argument.
+ * @remarks The @a pvUser argument points to the PGMPOOLPAGE.
  */
-DECLEXPORT(int) pgmPoolAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                       RTGCPHYS GCPhysFault, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) pgmPoolAccessPfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                RTGCPTR pvFault, RTGCPHYS GCPhysFault, void *pvUser)
 {
     STAM_PROFILE_START(&pVM->pgm.s.CTX_SUFF(pPool)->CTX_SUFF_Z(StatMonitor), a);
     PPGMPOOL        pPool = pVM->pgm.s.CTX_SUFF(pPool);
@@ -1352,25 +1344,14 @@ flushPage:
 # endif /* !IN_RING3 */
 
 /**
- * Access handler callback for PT write accesses.
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      Access handler for shadowed page table pages.}
  *
- * The handler can not raise any faults, it's mainly for monitoring write access
- * to certain pages.
- *
- * @returns VINF_SUCCESS if the handler has carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   GCPhys          The physical address the guest is writing to.
- * @param   pvPhys          The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making the access.
- * @param   pvUser          User argument.
+ * @remarks Only uses the VINF_PGM_HANDLER_DO_DEFAULT status.
  */
-PGM_ALL_CB2_DECL(int) pgmPoolAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                           PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+pgmPoolAccessHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                     PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     PPGMPOOL        pPool = pVM->pgm.s.CTX_SUFF(pPool);
     STAM_PROFILE_START(&pPool->StatMonitorR3, a);
diff --git a/src/VBox/VMM/VMMAll/SELMAll.cpp b/src/VBox/VMM/VMMAll/SELMAll.cpp
index f75af7a..86b3f73 100644
--- a/src/VBox/VMM/VMMAll/SELMAll.cpp
+++ b/src/VBox/VMM/VMMAll/SELMAll.cpp
@@ -34,6 +34,7 @@
 #include <iprt/assert.h>
 #include <VBox/vmm/vmm.h>
 #include <iprt/x86.h>
+#include <iprt/string.h>
 
 #include "SELMInline.h"
 
@@ -47,6 +48,100 @@ static char const g_aszSRegNms[X86_SREG_COUNT][4] = { "ES", "CS", "SS", "DS", "F
 #endif
 
 
+#ifndef IN_RING0
+
+# ifdef SELM_TRACK_GUEST_GDT_CHANGES
+/**
+ * @callback_method_impl{FNPGMVIRTHANDLER}
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+selmGuestGDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    Log(("selmGuestGDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
+    NOREF(pvPtr); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
+
+#  ifdef IN_RING3
+    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+
+#  else  /* IN_RC: */
+    /*
+     * Execute the write, doing necessary pre and post shadow GDT checks.
+     */
+    PCPUMCTX pCtx        = CPUMQueryGuestCtxPtr(pVCpu);
+    uint32_t offGuestGdt = pCtx->gdtr.pGdt - GCPtr;
+    selmRCGuestGdtPreWriteCheck(pVM, pVCpu, offGuestGdt, cbBuf, pCtx);
+    memcpy(pvBuf, pvPtr, cbBuf);
+    VBOXSTRICTRC rcStrict = selmRCGuestGdtPostWriteCheck(pVM, pVCpu, offGuestGdt, cbBuf, pCtx);
+    if (!VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_SELM_SYNC_GDT))
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTHandled);
+    else
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTUnhandled);
+    return rcStrict;
+#  endif
+}
+# endif
+
+
+# ifdef SELM_TRACK_GUEST_LDT_CHANGES
+/**
+ * @callback_method_impl{FNPGMVIRTHANDLER}
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+selmGuestLDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    Log(("selmGuestLDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
+    NOREF(pvPtr); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
+
+    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_LDT);
+#  ifdef IN_RING3
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+#  else
+    STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestLDT);
+    return VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT;
+#  endif
+}
+# endif
+
+
+# ifdef SELM_TRACK_GUEST_TSS_CHANGES
+/**
+ * @callback_method_impl{FNPGMVIRTHANDLER}
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+selmGuestTSSWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    Log(("selmGuestTSSWriteHandler: write %.*Rhxs to %RGv size %d\n", RT_MIN(8, cbBuf), pvBuf, GCPtr, cbBuf));
+    NOREF(pvBuf); NOREF(GCPtr); NOREF(cbBuf); NOREF(enmOrigin); NOREF(pvUser); NOREF(pvPtr);
+
+#  ifdef IN_RING3
+    /** @todo This can be optimized by checking for the ESP0 offset and tracking TR
+     *        reloads in REM (setting VM_FF_SELM_SYNC_TSS if TR is reloaded). We
+     *        should probably also deregister the virtual handler if TR.base/size
+     *        changes while we're in REM.  May also share
+     *        selmRCGuestTssPostWriteCheck code. */
+    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+
+#  else  /* IN_RC */
+    /*
+     * Do the write and check if anything relevant changed.
+     */
+    Assert(pVM->selm.s.GCPtrGuestTss != (uintptr_t)RTRCPTR_MAX);
+    memcpy(pvPtr, pvBuf, cbBuf);
+    return selmRCGuestTssPostWriteCheck(pVM, pVCpu, GCPtr - pVM->selm.s.GCPtrGuestTss, cbBuf);
+#  endif
+}
+# endif
+
+#endif /* IN_RING0 */
+
 
 #ifdef VBOX_WITH_RAW_MODE_NOT_R0
 /**
@@ -495,28 +590,32 @@ static void selLoadHiddenSelectorRegFromGuestTable(PVMCPU pVCpu, PCCPUMCTX pCtx,
      * Try read the entry.
      */
     X86DESC GstDesc;
-    int rc = PGMPhysReadGCPtr(pVCpu, &GstDesc, GCPtrDesc, sizeof(GstDesc), PGMACCESSORIGIN_IOM);
-    if (RT_FAILURE(rc))
+    VBOXSTRICTRC rcStrict = PGMPhysReadGCPtr(pVCpu, &GstDesc, GCPtrDesc, sizeof(GstDesc), PGMACCESSORIGIN_SELM);
+    if (rcStrict == VINF_SUCCESS)
     {
-        Log(("SELMLoadHiddenSelectorReg: Error reading descriptor %s=%#x: %Rrc\n", g_aszSRegNms[iSReg], Sel, rc));
-        STAM_REL_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelReadErrors);
-        return;
+        /*
+         * Validate it and load it.
+         */
+        if (selmIsGstDescGoodForSReg(pVCpu, pSReg, &GstDesc, iSReg, CPUMGetGuestCPL(pVCpu)))
+        {
+            selmLoadHiddenSRegFromGuestDesc(pVCpu, pSReg, &GstDesc);
+            Log(("SELMLoadHiddenSelectorReg: loaded %s=%#x:{b=%llx, l=%x, a=%x, vs=%x} (gst)\n",
+                 g_aszSRegNms[iSReg], Sel, pSReg->u64Base, pSReg->u32Limit, pSReg->Attr.u, pSReg->ValidSel));
+            STAM_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelGst);
+        }
+        else
+        {
+            Log(("SELMLoadHiddenSelectorReg: Guest table entry is no good (%s=%#x): %.8Rhxs\n", g_aszSRegNms[iSReg], Sel, &GstDesc));
+            STAM_REL_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelGstNoGood);
+        }
     }
-
-    /*
-     * Validate it and load it.
-     */
-    if (!selmIsGstDescGoodForSReg(pVCpu, pSReg, &GstDesc, iSReg, CPUMGetGuestCPL(pVCpu)))
+    else
     {
-        Log(("SELMLoadHiddenSelectorReg: Guest table entry is no good (%s=%#x): %.8Rhxs\n", g_aszSRegNms[iSReg], Sel, &GstDesc));
-        STAM_REL_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelGstNoGood);
-        return;
+        AssertMsg(RT_FAILURE_NP(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+        Log(("SELMLoadHiddenSelectorReg: Error reading descriptor %s=%#x: %Rrc\n",
+             g_aszSRegNms[iSReg], Sel, VBOXSTRICTRC_VAL(rcStrict) ));
+        STAM_REL_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelReadErrors);
     }
-
-    selmLoadHiddenSRegFromGuestDesc(pVCpu, pSReg, &GstDesc);
-    Log(("SELMLoadHiddenSelectorReg: loaded %s=%#x:{b=%llx, l=%x, a=%x, vs=%x} (gst)\n",
-         g_aszSRegNms[iSReg], Sel, pSReg->u64Base, pSReg->u32Limit, pSReg->Attr.u, pSReg->ValidSel));
-    STAM_COUNTER_INC(&pVCpu->CTX_SUFF(pVM)->selm.s.StatLoadHidSelGst);
 }
 
 
diff --git a/src/VBox/VMM/VMMAll/TRPMAll.cpp b/src/VBox/VMM/VMMAll/TRPMAll.cpp
index ee5dbe9..53255b4 100644
--- a/src/VBox/VMM/VMMAll/TRPMAll.cpp
+++ b/src/VBox/VMM/VMMAll/TRPMAll.cpp
@@ -42,6 +42,45 @@
 
 
 
+#if defined(TRPM_TRACK_GUEST_IDT_CHANGES) && !defined(IN_RING0)
+/**
+ * \#PF Handler callback for virtual access handler ranges.
+ *
+ * Important to realize that a physical page in a range can have aliases, and
+ * for ALL and WRITE handlers these will also trigger.
+ *
+ * @returns VINF_SUCCESS if the handler have carried out the operation.
+ * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
+ * @param   pVM             Pointer to the VM.
+ * @param   pVCpu           Pointer to the cross context CPU context for the
+ *                          calling EMT.
+ * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
+ * @param   pvPtr           The HC mapping of that address.
+ * @param   pvBuf           What the guest is reading/writing.
+ * @param   cbBuf           How much it's reading/writing.
+ * @param   enmAccessType   The access type.
+ * @param   enmOrigin       The origin of this call.
+ * @param   pvUser          User argument.
+ */
+PGM_ALL_CB2_DECL(VBOXSTRICTRC)
+trpmGuestIDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
+                         PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+{
+    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
+    Log(("trpmGuestIDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
+    NOREF(pvPtr); NOREF(pvUser); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
+    Assert(!HMIsEnabled(pVM));
+
+    /** @todo Check which IDT entry and keep the update cost low in TRPMR3SyncIDT() and CSAMCheckGates(). */
+    VMCPU_FF_SET(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
+# ifdef IN_RC
+    STAM_COUNTER_INC(&pVM->trpm.s.StatRCWriteGuestIDTFault);
+# endif
+    return VINF_PGM_HANDLER_DO_DEFAULT;
+}
+#endif /* TRPM_TRACK_GUEST_IDT_CHANGES && !IN_RING0 */
+
+
 /**
  * Query info about the current active trap/interrupt.
  * If no trap is active active an error code is returned.
diff --git a/src/VBox/VMM/VMMR0/HMR0.cpp b/src/VBox/VMM/VMMR0/HMR0.cpp
index fb670f7..4aaf50e 100644
--- a/src/VBox/VMM/VMMR0/HMR0.cpp
+++ b/src/VBox/VMM/VMMR0/HMR0.cpp
@@ -1650,7 +1650,7 @@ VMMR0_INT_DECL(int) HMR0EnterSwitcher(PVM pVM, VMMSWITCHER enmSwitcher, bool *pf
     if (!g_HvmR0.vmx.fSupported)
         return VINF_SUCCESS;
 
-    /* Check if the swithcing we're up to is safe. */
+    /* Check if the switching we're up to is safe. */
     switch (enmSwitcher)
     {
         case VMMSWITCHER_32_TO_32:
@@ -1675,7 +1675,7 @@ VMMR0_INT_DECL(int) HMR0EnterSwitcher(PVM pVM, VMMSWITCHER enmSwitcher, bool *pf
         return VINF_SUCCESS;
     }
 
-    /** @todo Check if this code is presumtive wrt other VT-x users on the
+    /** @todo Check if this code is presumptive wrt other VT-x users on the
     *        system... */
 
     /* Nothing to do if we haven't enabled VT-x. */
diff --git a/src/VBox/VMM/VMMR0/HMSVMR0.cpp b/src/VBox/VMM/VMMR0/HMSVMR0.cpp
index 8b65f69..dc0356d 100644
--- a/src/VBox/VMM/VMMR0/HMSVMR0.cpp
+++ b/src/VBox/VMM/VMMR0/HMSVMR0.cpp
@@ -1764,7 +1764,7 @@ VMMR0DECL(void) SVMR0ThreadCtxCallback(RTTHREADCTXEVENT enmEvent, PVMCPU pVCpu,
 
             /* Restore longjmp state. */
             VMMRZCallRing3Enable(pVCpu);
-            STAM_COUNTER_INC(&pVCpu->hm.s.StatPreemptPreempting);
+            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchPreempt);
             break;
         }
 
@@ -4776,8 +4776,56 @@ HMSVM_EXIT_DECL hmR0SvmExitIOInstr(PVMCPU pVCpu, PCPUMCTX pCtx, PSVMTRANSIENT pS
     }
 
     VBOXSTRICTRC rcStrict;
+    bool fUpdateRipAlready = false;
     if (IoExitInfo.n.u1STR)
     {
+#ifdef VBOX_WITH_2ND_IEM_STEP
+        /* INS/OUTS - I/O String instruction. */
+        /** @todo Huh? why can't we use the segment prefix information given by AMD-V
+         *        in EXITINFO1? Investigate once this thing is up and running. */
+        Log4(("CS:RIP=%04x:%08RX64 %#06x/%u %c str\n", pCtx->cs.Sel, pCtx->rip, IoExitInfo.n.u16Port, cbValue,
+              IoExitInfo.n.u1Type == SVM_IOIO_WRITE ? 'w' : 'r'));
+        AssertReturn(pCtx->dx == IoExitInfo.n.u16Port, VERR_SVM_IPE_2);
+        static IEMMODE const s_aenmAddrMode[8] =
+        {
+            (IEMMODE)-1, IEMMODE_16BIT, IEMMODE_32BIT, (IEMMODE)-1, IEMMODE_64BIT, (IEMMODE)-1, (IEMMODE)-1, (IEMMODE)-1
+        };
+        IEMMODE enmAddrMode = s_aenmAddrMode[(IoExitInfo.u >> 7) & 0x7];
+        if (enmAddrMode != (IEMMODE)-1)
+        {
+            uint64_t cbInstr = pVmcb->ctrl.u64ExitInfo2 - pCtx->rip;
+            if (cbInstr <= 15 && cbInstr >= 2)
+            {
+                if (IoExitInfo.n.u1Type == SVM_IOIO_WRITE)
+                {
+                    if (pVM->hm.s.svm.u32Features & AMD_CPUID_SVM_FEATURE_EDX_NRIP_SAVE)
+                        rcStrict = IEMExecStringIoWrite(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1REP, (uint8_t)cbInstr,
+                                                        IoExitInfo.n.u3SEG);
+                    else
+                        rcStrict = IEMExecOne(pVCpu);
+                    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitIOStringWrite);
+                }
+                else
+                {
+                    AssertMsg(IoExitInfo.n.u3SEG == X86_SREG_ES /*=0*/, ("%#x\n", IoExitInfo.n.u3SEG));
+                    rcStrict = IEMExecStringIoRead(pVCpu, cbValue, enmAddrMode, IoExitInfo.n.u1REP, (uint8_t)cbInstr);
+                    STAM_COUNTER_INC(&pVCpu->hm.s.StatExitIOStringRead);
+                }
+            }
+            else
+            {
+                AssertMsgFailed(("rip=%RX64 nrip=%#RX64 cbInstr=%#RX64\n", pCtx->rip, pVmcb->ctrl.u64ExitInfo2, cbInstr));
+                rcStrict = IEMExecOne(pVCpu);
+            }
+        }
+        else
+        {
+            AssertMsgFailed(("IoExitInfo=%RX64\n", IoExitInfo.u));
+            rcStrict = IEMExecOne(pVCpu);
+        }
+        fUpdateRipAlready = true;
+
+#else
         /* INS/OUTS - I/O String instruction. */
         PDISCPUSTATE pDis = &pVCpu->hm.s.DisState;
 
@@ -4802,6 +4850,7 @@ HMSVM_EXIT_DECL hmR0SvmExitIOInstr(PVMCPU pVCpu, PCPUMCTX pCtx, PSVMTRANSIENT pS
         }
         else
             rcStrict = VINF_EM_RAW_EMULATE_INSTR;
+#endif
     }
     else
     {
@@ -4819,11 +4868,11 @@ HMSVM_EXIT_DECL hmR0SvmExitIOInstr(PVMCPU pVCpu, PCPUMCTX pCtx, PSVMTRANSIENT pS
         else
         {
             uint32_t u32Val = 0;
-
             rcStrict = IOMIOPortRead(pVM, pVCpu, IoExitInfo.n.u16Port, &u32Val, cbValue);
             if (IOM_SUCCESS(rcStrict))
             {
                 /* Save result of I/O IN instr. in AL/AX/EAX. */
+                /** @todo r=bird: 32-bit op size should clear high bits of rax! */
                 pCtx->eax = (pCtx->eax & ~uAndVal) | (u32Val & uAndVal);
             }
             else if (rcStrict == VINF_IOM_R3_IOPORT_READ)
@@ -4836,7 +4885,8 @@ HMSVM_EXIT_DECL hmR0SvmExitIOInstr(PVMCPU pVCpu, PCPUMCTX pCtx, PSVMTRANSIENT pS
     if (IOM_SUCCESS(rcStrict))
     {
         /* AMD-V saves the RIP of the instruction following the IO instruction in EXITINFO2. */
-        pCtx->rip = pVmcb->ctrl.u64ExitInfo2;
+        if (!fUpdateRipAlready)
+            pCtx->rip = pVmcb->ctrl.u64ExitInfo2;
 
         /*
          * If any I/O breakpoints are armed, we need to check if one triggered
diff --git a/src/VBox/VMM/VMMR0/HMVMXR0.cpp b/src/VBox/VMM/VMMR0/HMVMXR0.cpp
index 80a2bd3..8b04cc9 100644
--- a/src/VBox/VMM/VMMR0/HMVMXR0.cpp
+++ b/src/VBox/VMM/VMMR0/HMVMXR0.cpp
@@ -8253,7 +8253,7 @@ VMMR0DECL(void) VMXR0ThreadCtxCallback(RTTHREADCTXEVENT enmEvent, PVMCPU pVCpu,
 
             /* Restore longjmp state. */
             VMMRZCallRing3Enable(pVCpu);
-            STAM_COUNTER_INC(&pVCpu->hm.s.StatPreemptPreempting);
+            STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchPreempt);
             break;
         }
 
@@ -8739,7 +8739,7 @@ static void hmR0VmxPreRunGuestCommitted(PVM pVM, PVMCPU pVCpu, PCPUMCTX pMixedCt
         /* This ASSUMES that pfnStartVM has been set up already. */
         int rc = hmR0VmxSaveHostState(pVM, pVCpu);
         AssertRC(rc);
-        STAM_COUNTER_INC(&pVCpu->hm.s.StatPreemptSaveHostState);
+        STAM_COUNTER_INC(&pVCpu->hm.s.StatSwitchPreemptSaveHostState);
     }
     Assert(!HMCPU_CF_IS_PENDING(pVCpu, HM_CHANGED_HOST_CONTEXT));
 
@@ -11185,7 +11185,7 @@ HMVMX_EXIT_DECL hmR0VmxExitIoInstr(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIE
     PVM pVM                 = pVCpu->CTX_SUFF(pVM);
     if (fIOString)
     {
-#if 0       /* Not yet ready. IEM gurus with debian 32-bit guest without NP (on ATA reads). See @bugref{5752#c158} */
+#ifdef VBOX_WITH_2ND_IEM_STEP /* This used to gurus with debian 32-bit guest without NP (on ATA reads). See @bugref{5752#c158}. Should work now. */
         /*
          * INS/OUTS - I/O String instruction.
          *
@@ -12063,7 +12063,8 @@ static int hmR0VmxExitXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIENT pVm
                 {
                     Assert(sizeof(Eflags.u32) >= cbParm);
                     Eflags.u32 = 0;
-                    rc = PGMPhysRead(pVM, (RTGCPHYS)GCPtrStack, &Eflags.u32, cbParm, PGMACCESSORIGIN_HM);
+                    rc = VBOXSTRICTRC_TODO(PGMPhysRead(pVM, (RTGCPHYS)GCPtrStack, &Eflags.u32, cbParm, PGMACCESSORIGIN_HM));
+                    AssertMsg(rc == VINF_SUCCESS, ("%Rrc\n", rc)); /** @todo allow strict return codes here */
                 }
                 if (RT_FAILURE(rc))
                 {
@@ -12116,9 +12117,10 @@ static int hmR0VmxExitXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIENT pVm
                 Eflags.Bits.u1RF = 0;
                 Eflags.Bits.u1VM = 0;
 
-                rc = PGMPhysWrite(pVM, (RTGCPHYS)GCPtrStack, &Eflags.u, cbParm, PGMACCESSORIGIN_HM);
-                if (RT_FAILURE(rc))
+                rc = VBOXSTRICTRC_TODO(PGMPhysWrite(pVM, (RTGCPHYS)GCPtrStack, &Eflags.u, cbParm, PGMACCESSORIGIN_HM));
+                if (RT_UNLIKELY(rc != VINF_SUCCESS))
                 {
+                    AssertMsgFailed(("%Rrc\n", rc)); /** @todo allow strict return codes here */
                     rc = VERR_EM_INTERPRETER;
                     break;
                 }
@@ -12151,7 +12153,11 @@ static int hmR0VmxExitXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIENT pVm
                 rc = SELMToFlatEx(pVCpu, DISSELREG_SS, CPUMCTX2CORE(pMixedCtx), pMixedCtx->esp & uMask, SELMTOFLAT_FLAGS_CPL0,
                                   &GCPtrStack);
                 if (RT_SUCCESS(rc))
-                    rc = PGMPhysRead(pVM, (RTGCPHYS)GCPtrStack, &aIretFrame[0], sizeof(aIretFrame), PGMACCESSORIGIN_HM);
+                {
+                    rc = VBOXSTRICTRC_TODO(PGMPhysRead(pVM, (RTGCPHYS)GCPtrStack, &aIretFrame[0], sizeof(aIretFrame),
+                                                       PGMACCESSORIGIN_HM));
+                    AssertMsg(rc == VINF_SUCCESS, ("%Rrc\n", rc)); /** @todo allow strict return codes here */
+                }
                 if (RT_FAILURE(rc))
                 {
                     rc = VERR_EM_INTERPRETER;
diff --git a/src/VBox/VMM/VMMR0/PDMR0Device.cpp b/src/VBox/VMM/VMMR0/PDMR0Device.cpp
index 1e8669a..e3886db 100644
--- a/src/VBox/VMM/VMMR0/PDMR0Device.cpp
+++ b/src/VBox/VMM/VMMR0/PDMR0Device.cpp
@@ -204,11 +204,11 @@ static DECLCALLBACK(int) pdmR0DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhy
     LogFlow(("pdmR0DevHlp_PhysRead: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbRead=%#x\n",
              pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbRead));
 
-    int rc = PGMPhysRead(pDevIns->Internal.s.pVMR0, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
-    AssertRC(rc); /** @todo track down the users for this bugger. */
+    VBOXSTRICTRC rcStrict = PGMPhysRead(pDevIns->Internal.s.pVMR0, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmR0DevHlp_PhysRead: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmR0DevHlp_PhysRead: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
@@ -219,11 +219,11 @@ static DECLCALLBACK(int) pdmR0DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPh
     LogFlow(("pdmR0DevHlp_PhysWrite: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbWrite=%#x\n",
              pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbWrite));
 
-    int rc = PGMPhysWrite(pDevIns->Internal.s.pVMR0, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
-    AssertRC(rc); /** @todo track down the users for this bugger. */
+    VBOXSTRICTRC rcStrict = PGMPhysWrite(pDevIns->Internal.s.pVMR0, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmR0DevHlp_PhysWrite: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmR0DevHlp_PhysWrite: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
diff --git a/src/VBox/VMM/VMMR0/VMMR0.cpp b/src/VBox/VMM/VMMR0/VMMR0.cpp
index 380b231..57d325f 100644
--- a/src/VBox/VMM/VMMR0/VMMR0.cpp
+++ b/src/VBox/VMM/VMMR0/VMMR0.cpp
@@ -710,9 +710,6 @@ static void vmmR0RecordRC(PVM pVM, PVMCPU pVCpu, int rc)
         case VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT:
             STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetTSSFault);
             break;
-        case VINF_EM_RAW_EMULATE_INSTR_PD_FAULT:
-            STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetPDFault);
-            break;
         case VINF_CSAM_PENDING_ACTION:
             STAM_COUNTER_INC(&pVM->vmm.s.StatRZRetCSAMTask);
             break;
@@ -2075,7 +2072,7 @@ DECLEXPORT(void) RTCALL RTAssertMsg2WeakV(const char *pszFormat, va_list va)
         RTLogFormatV(rtLogOutput, pLog, pszFormat, vaCopy);
         va_end(vaCopy);
     }
-    pLog = RTLogRelDefaultInstance();
+    pLog = RTLogRelGetDefaultInstance();
     if (pLog)
     {
         va_copy(vaCopy, va);
diff --git a/src/VBox/VMM/VMMR0/VMMR0.def b/src/VBox/VMM/VMMR0/VMMR0.def
index 7aa267b..9b2326b 100644
--- a/src/VBox/VMM/VMMR0/VMMR0.def
+++ b/src/VBox/VMM/VMMR0/VMMR0.def
@@ -38,7 +38,9 @@ EXPORTS
     IOMMMIOResetRegion
     IOMMMIOMapMMIO2Page
     RTLogDefaultInstance
-    RTLogRelDefaultInstance
+    RTLogDefaultInstanceEx
+    RTLogRelGetDefaultInstance
+    RTLogRelGetDefaultInstanceEx
     RTLogLogger
     RTLogLoggerEx
     RTLogLoggerExV
diff --git a/src/VBox/VMM/VMMR3/CPUM.cpp b/src/VBox/VMM/VMMR3/CPUM.cpp
index 60e4b43..f4359d2 100644
--- a/src/VBox/VMM/VMMR3/CPUM.cpp
+++ b/src/VBox/VMM/VMMR3/CPUM.cpp
@@ -2454,12 +2454,12 @@ VMMR3DECL(void) CPUMR3LogCpuIds(PVM pVM)
      */
     bool fOldBuffered = RTLogRelSetBuffering(true /*fBuffered*/);
     RTCPUSET OnlineSet;
-    LogRel(("Logical host processors: %u present, %u max, %u online, online mask: %016RX64\n",
+    LogRel(("CPUM: Logical host processors: %u present, %u max, %u online, online mask: %016RX64\n",
                 (unsigned)RTMpGetPresentCount(), (unsigned)RTMpGetCount(), (unsigned)RTMpGetOnlineCount(),
                 RTCpuSetToU64(RTMpGetOnlineSet(&OnlineSet)) ));
     RTCPUID cCores = RTMpGetCoreCount();
     if (cCores)
-        LogRel(("Physical host cores: %u\n", (unsigned)cCores));
+        LogRel(("CPUM: Physical host cores: %u\n", (unsigned)cCores));
     LogRel(("************************* CPUID dump ************************\n"));
     DBGFR3Info(pVM->pUVM, "cpuid", "verbose", DBGFR3InfoLogRelHlp());
     LogRel(("\n"));
diff --git a/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp b/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
index 240ff41..cf30b7c 100644
--- a/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
+++ b/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp
@@ -3031,7 +3031,6 @@ static int cpumR3CpuIdSanitize(PVM pVM, PCPUM pCpum, PCPUMCPUIDCONFIG pConfig)
         }
         else
         {
-            Assert(pCpum->GuestFeatures.enmCpuVendor != CPUMCPUVENDOR_INTEL);
             pCurLeaf->uEax = 0;
             pCurLeaf->uEbx = 0;
             pCurLeaf->uEcx = 0;
@@ -4906,12 +4905,20 @@ int cpumR3LoadCpuIdInner(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, PCPUMCPUID
     /* Clear leaf 0xd just in case we're loading an old state... */
     else if (pCurLeaf)
     {
-        AssertLogRel(uVersion <= CPUM_SAVED_STATE_VERSION_PUT_STRUCT);
         for (uint32_t uSubLeaf = 0; uSubLeaf < 64; uSubLeaf++)
         {
             pCurLeaf = cpumR3CpuIdGetLeaf(paLeaves, cLeaves, UINT32_C(0x0000000d), uSubLeaf);
             if (pCurLeaf)
+            {
+                AssertLogRelMsg(   uVersion <= CPUM_SAVED_STATE_VERSION_PUT_STRUCT
+                                || (   pCurLeaf->uEax == 0
+                                    && pCurLeaf->uEbx == 0
+                                    && pCurLeaf->uEcx == 0
+                                    && pCurLeaf->uEdx == 0),
+                                ("uVersion=%#x; %#x %#x %#x %#x\n",
+                                 uVersion, pCurLeaf->uEax, pCurLeaf->uEbx, pCurLeaf->uEcx, pCurLeaf->uEdx));
                 pCurLeaf->uEax = pCurLeaf->uEbx = pCurLeaf->uEcx = pCurLeaf->uEdx = 0;
+            }
         }
     }
 
diff --git a/src/VBox/VMM/VMMR3/CSAM.cpp b/src/VBox/VMM/VMMR3/CSAM.cpp
index bdf3a98..7702e81 100644
--- a/src/VBox/VMM/VMMR3/CSAM.cpp
+++ b/src/VBox/VMM/VMMR3/CSAM.cpp
@@ -71,7 +71,6 @@
 *******************************************************************************/
 static DECLCALLBACK(int) csamR3Save(PVM pVM, PSSMHANDLE pSSM);
 static DECLCALLBACK(int) csamR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass);
-static FNPGMR3VIRTHANDLER    csamR3CodePageWriteHandler;
 static FNPGMR3VIRTINVALIDATE csamR3CodePageInvalidate;
 
 bool                csamIsCodeScanned(PVM pVM, RTRCPTR pInstr, PCSAMPAGE *pPage);
@@ -254,15 +253,15 @@ VMMR3_INT_DECL(int) CSAMR3Init(PVM pVM)
      */
     rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
                                          NULL /*pfnInvalidateR3 */,
-                                         csamR3CodePageWriteHandler,
-                                         "csamRCCodePageWritePfHandler",
+                                         csamCodePageWriteHandler,
+                                         "csamCodePageWriteHandler", "csamRCCodePageWritePfHandler",
                                          "CSAM code page write handler",
                                          &pVM->csam.s.hCodePageWriteType);
     AssertLogRelRCReturn(rc, rc);
     rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
                                          csamR3CodePageInvalidate,
-                                         csamR3CodePageWriteHandler,
-                                         "csamRCCodePageWritePfHandler",
+                                         csamCodePageWriteHandler,
+                                         "csamCodePageWriteHandler", "csamRCCodePageWritePfHandler",
                                          "CSAM code page write and invlpg handler",
                                          &pVM->csam.s.hCodePageWriteAndInvPgType);
     AssertLogRelRCReturn(rc, rc);
@@ -2163,65 +2162,15 @@ static DECLCALLBACK(void) CSAMDelayedWriteHandler(PVM pVM, RTRCPTR GCPtr, size_t
 }
 
 /**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making this write.
- * @param   pvUser          User argument.
- */
-static DECLCALLBACK(int) csamR3CodePageWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    int rc;
-
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    Log(("csamR3CodePageWriteHandler: write to %RGv size=%zu\n", GCPtr, cbBuf));
-    NOREF(pvUser);
-
-    if (    PAGE_ADDRESS(pvPtr) == PAGE_ADDRESS((uintptr_t)pvPtr + cbBuf - 1)
-         && !memcmp(pvPtr, pvBuf, cbBuf))
-    {
-        Log(("csamR3CodePageWriteHandler: dummy write -> ignore\n"));
-        return VINF_PGM_HANDLER_DO_DEFAULT;
-    }
-
-    if (VM_IS_EMT(pVM))
-        rc = PATMR3PatchWrite(pVM, GCPtr, (uint32_t)cbBuf);
-    else
-    {
-        AssertFailed(); /* PGM should make sure this does not happen anymore! */
-        /* Queue the write instead otherwise we'll get concurrency issues. */
-        /** @note in theory not correct to let it write the data first before disabling a patch!
-         *        (if it writes the same data as the patch jump and we replace it with obsolete opcodes)
-         */
-        Log(("csamR3CodePageWriteHandler: delayed write!\n"));
-        AssertCompileSize(RTRCPTR, 4);
-        rc = VMR3ReqCallVoidNoWait(pVM, VMCPUID_ANY, (PFNRT)CSAMDelayedWriteHandler, 3, pVM, (RTRCPTR)GCPtr, cbBuf);
-    }
-    AssertRC(rc);
-
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-
-/**
  * \#PF Handler callback for invalidation of virtual access handler ranges.
  *
  * @param   pVM             Pointer to the VM.
  * @param   pVCpu           Pointer to the cross context CPU context for the
  *                          calling EMT.
  * @param   GCPtr           The virtual address the guest has changed.
+ *
+ * @remarks Not currently called by PGM. It was actually only called for a month
+ *          back in 2006...
  */
 static DECLCALLBACK(int) csamR3CodePageInvalidate(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvUser)
 {
@@ -2434,17 +2383,17 @@ static int csamR3FlushDirtyPages(PVM pVM)
 
     STAM_PROFILE_START(&pVM->csam.s.StatFlushDirtyPages, a);
 
-    for (uint32_t i=0;i<pVM->csam.s.cDirtyPages;i++)
+    for (uint32_t i = 0; i < pVM->csam.s.cDirtyPages; i++)
     {
         int          rc;
         PCSAMPAGEREC pPageRec;
-        RTRCPTR      GCPtr = pVM->csam.s.pvDirtyBasePage[i];
-
-        GCPtr = GCPtr & PAGE_BASE_GC_MASK;
+        RTRCPTR      GCPtr = pVM->csam.s.pvDirtyBasePage[i] & PAGE_BASE_GC_MASK;
 
 #ifdef VBOX_WITH_REM
          /* Notify the recompiler that this page has been changed. */
         REMR3NotifyCodePageChanged(pVM, pVCpu, GCPtr);
+        if (pVM->csam.s.pvDirtyFaultPage[i] != pVM->csam.s.pvDirtyBasePage[i])
+            REMR3NotifyCodePageChanged(pVM, pVCpu, pVM->csam.s.pvDirtyFaultPage[i] & PAGE_BASE_GC_MASK);
 #endif
 
         /* Enable write protection again. (use the fault address as it might be an alias) */
diff --git a/src/VBox/VMM/VMMR3/DBGFLog.cpp b/src/VBox/VMM/VMMR3/DBGFLog.cpp
index e55cd54..099b983 100644
--- a/src/VBox/VMM/VMMR3/DBGFLog.cpp
+++ b/src/VBox/VMM/VMMR3/DBGFLog.cpp
@@ -44,7 +44,7 @@ static PRTLOGGER dbgfR3LogResolvedLogger(const char **ppsz)
     if (!strncmp(psz, RT_STR_TUPLE("release:")))
     {
         *ppsz += sizeof("release:") - 1;
-        pLogger = RTLogRelDefaultInstance();
+        pLogger = RTLogRelGetDefaultInstance();
     }
     else
     {
diff --git a/src/VBox/VMM/VMMR3/EM.cpp b/src/VBox/VMM/VMMR3/EM.cpp
index 678de20..12a7acc 100644
--- a/src/VBox/VMM/VMMR3/EM.cpp
+++ b/src/VBox/VMM/VMMR3/EM.cpp
@@ -386,12 +386,7 @@ VMMR3_INT_DECL(int) EMR3Init(PVM pVM)
         EM_REG_COUNTER_USED(&pStats->StatR3FailedPrefix,         "/EM/CPU%d/R3/Interpret/Failed/Prefix",     "The number of rejections because of prefix .");
 
         EM_REG_COUNTER_USED(&pStats->StatIoRestarted,            "/EM/CPU%d/R3/PrivInst/IoRestarted",        "I/O instructions restarted in ring-3.");
-# ifdef VBOX_WITH_FIRST_IEM_STEP
         EM_REG_COUNTER_USED(&pStats->StatIoIem,                  "/EM/CPU%d/R3/PrivInst/IoIem",              "I/O instructions end to IEM in ring-3.");
-# else
-        EM_REG_COUNTER_USED(&pStats->StatIn,                     "/EM/CPU%d/R3/PrivInst/In",                 "Number of in instructions.");
-        EM_REG_COUNTER_USED(&pStats->StatOut,                    "/EM/CPU%d/R3/PrivInst/Out",                "Number of out instructions.");
-# endif
         EM_REG_COUNTER_USED(&pStats->StatCli,                    "/EM/CPU%d/R3/PrivInst/Cli",                "Number of cli instructions.");
         EM_REG_COUNTER_USED(&pStats->StatSti,                    "/EM/CPU%d/R3/PrivInst/Sti",                "Number of sli instructions.");
         EM_REG_COUNTER_USED(&pStats->StatHlt,                    "/EM/CPU%d/R3/PrivInst/Hlt",                "Number of hlt instructions not handled in GC because of PATM.");
@@ -1365,11 +1360,7 @@ EMSTATE emR3Reschedule(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx)
          * Note! Raw mode and hw accelerated mode are incompatible. The latter
          *       turns off monitoring features essential for raw mode!
          */
-#ifdef VBOX_WITH_FIRST_IEM_STEP
         return EMSTATE_IEM_THEN_REM;
-#else
-        return EMSTATE_REM;
-#endif
     }
 
     /*
@@ -2214,7 +2205,6 @@ VMMR3_INT_DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu)
                  * Reschedule - to recompiled execution.
                  */
                 case VINF_EM_RESCHEDULE_REM:
-#ifdef VBOX_WITH_FIRST_IEM_STEP
                     Assert(!pVM->em.s.fIemExecutesAll || pVCpu->em.s.enmState != EMSTATE_IEM);
                     if (HMIsEnabled(pVM))
                     {
@@ -2231,11 +2221,6 @@ VMMR3_INT_DECL(int) EMR3ExecuteVM(PVM pVM, PVMCPU pVCpu)
                         Log2(("EMR3ExecuteVM: VINF_EM_RESCHEDULE_REM: %d -> %d (EMSTATE_REM)\n", enmOldState, EMSTATE_REM));
                         pVCpu->em.s.enmState = EMSTATE_REM;
                     }
-#else
-                    Log2(("EMR3ExecuteVM: VINF_EM_RESCHEDULE_REM: %d -> %d (EMSTATE_REM)\n", enmOldState, EMSTATE_REM));
-                    Assert(!pVM->em.s.fIemExecutesAll || pVCpu->em.s.enmState != EMSTATE_IEM);
-                    pVCpu->em.s.enmState = EMSTATE_REM;
-#endif
                     break;
 
                 /*
diff --git a/src/VBox/VMM/VMMR3/EMHM.cpp b/src/VBox/VMM/VMMR3/EMHM.cpp
index 39dd8df..17d0bc1 100644
--- a/src/VBox/VMM/VMMR3/EMHM.cpp
+++ b/src/VBox/VMM/VMMR3/EMHM.cpp
@@ -192,22 +192,15 @@ static int emR3HmExecuteInstructionWorker(PVM pVM, PVMCPU pVCpu, int rcRC)
      * Use IEM and fallback on REM if the functionality is missing.
      * Once IEM gets mature enough, nothing should ever fall back.
      */
-#if defined(VBOX_WITH_FIRST_IEM_STEP) || !defined(VBOX_WITH_REM)
     STAM_PROFILE_START(&pVCpu->em.s.StatIEMEmu, a);
     rc = VBOXSTRICTRC_TODO(IEMExecOne(pVCpu));
     STAM_PROFILE_STOP(&pVCpu->em.s.StatIEMEmu, a);
 
     if (   rc == VERR_IEM_ASPECT_NOT_IMPLEMENTED
         || rc == VERR_IEM_INSTR_NOT_IMPLEMENTED)
-#endif
     {
 #ifdef VBOX_WITH_REM
         STAM_PROFILE_START(&pVCpu->em.s.StatREMEmu, b);
-# ifndef VBOX_WITH_FIRST_IEM_STEP
-        Log(("EMINS[rem]: %04x:%RGv RSP=%RGv\n", pCtx->cs.Sel, (RTGCPTR)pCtx->rip, (RTGCPTR)pCtx->rsp));
-//# elif defined(DEBUG_bird)
-//        AssertFailed();
-# endif
         EMRemLock(pVM);
         /* Flush the recompiler TLB if the VCPU has changed. */
         if (pVM->em.s.idLastRemCpu != pVCpu->idCpu)
@@ -276,7 +269,6 @@ static int emR3HmExecuteIOInstruction(PVM pVM, PVMCPU pVCpu)
     AssertMsgReturn(rcStrict == VERR_NOT_FOUND, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)),
                     RT_SUCCESS_NP(rcStrict) ? VERR_IPE_UNEXPECTED_INFO_STATUS : VBOXSTRICTRC_TODO(rcStrict));
 
-#ifdef VBOX_WITH_FIRST_IEM_STEP
     /*
      * Hand it over to the interpreter.
      */
@@ -285,94 +277,6 @@ static int emR3HmExecuteIOInstruction(PVM pVM, PVMCPU pVCpu)
     STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIoIem);
     STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
     return VBOXSTRICTRC_TODO(rcStrict);
-
-#else
-    /** @todo probably we should fall back to the recompiler; otherwise we'll go back and forth between HC & GC
-     *   as io instructions tend to come in packages of more than one
-     */
-    DISCPUSTATE Cpu;
-    int rc2 = CPUMR3DisasmInstrCPU(pVM, pVCpu, pCtx, pCtx->rip, &Cpu, "IO EMU");
-    if (RT_SUCCESS(rc2))
-    {
-        rcStrict = VINF_EM_RAW_EMULATE_INSTR;
-
-        if (!(Cpu.fPrefix & (DISPREFIX_REP | DISPREFIX_REPNE)))
-        {
-            switch (Cpu.pCurInstr->uOpcode)
-            {
-                case OP_IN:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIn);
-                    rcStrict = IOMInterpretIN(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-
-                case OP_OUT:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatOut);
-                    rcStrict = IOMInterpretOUT(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-            }
-        }
-        else if (Cpu.fPrefix & DISPREFIX_REP)
-        {
-            switch (Cpu.pCurInstr->uOpcode)
-            {
-                case OP_INSB:
-                case OP_INSWD:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIn);
-                    rcStrict = IOMInterpretINS(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-
-                case OP_OUTSB:
-                case OP_OUTSWD:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatOut);
-                    rcStrict = IOMInterpretOUTS(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-            }
-        }
-
-        /*
-         * Handled the I/O return codes.
-         * (The unhandled cases end up with rcStrict == VINF_EM_RAW_EMULATE_INSTR.)
-         */
-        if (IOM_SUCCESS(rcStrict))
-        {
-            pCtx->rip += Cpu.cbInstr;
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            LogFlow(("emR3HmExecuteIOInstruction: %Rrc 1\n", VBOXSTRICTRC_VAL(rcStrict)));
-            return VBOXSTRICTRC_TODO(rcStrict);
-        }
-
-        if (rcStrict == VINF_EM_RAW_GUEST_TRAP)
-        {
-            /* The active trap will be dispatched. */
-            Assert(TRPMHasTrap(pVCpu));
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            LogFlow(("emR3HmExecuteIOInstruction: VINF_SUCCESS 2\n"));
-            return VINF_SUCCESS;
-        }
-        AssertMsg(rcStrict != VINF_TRPM_XCPT_DISPATCHED, ("Handle VINF_TRPM_XCPT_DISPATCHED\n"));
-
-        if (RT_FAILURE(rcStrict))
-        {
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            LogFlow(("emR3HmExecuteIOInstruction: %Rrc 3\n", VBOXSTRICTRC_VAL(rcStrict)));
-            return VBOXSTRICTRC_TODO(rcStrict);
-        }
-        AssertMsg(rcStrict == VINF_EM_RAW_EMULATE_INSTR || rcStrict == VINF_EM_RESCHEDULE_REM, ("rcStrict=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-    }
-
-    STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-    int rc3 = emR3HmExecuteInstruction(pVM, pVCpu, "IO: ");
-    LogFlow(("emR3HmExecuteIOInstruction: %Rrc 4 (rc2=%Rrc, rc3=%Rrc)\n", VBOXSTRICTRC_VAL(rcStrict), rc2, rc3));
-    return rc3;
-#endif
 }
 
 
diff --git a/src/VBox/VMM/VMMR3/EMRaw.cpp b/src/VBox/VMM/VMMR3/EMRaw.cpp
index bc65430..c76ea61 100644
--- a/src/VBox/VMM/VMMR3/EMRaw.cpp
+++ b/src/VBox/VMM/VMMR3/EMRaw.cpp
@@ -364,9 +364,7 @@ static int emR3RawExecuteInstructionWorker(PVM pVM, PVMCPU pVCpu, int rcGC)
      * Use IEM and fallback on REM if the functionality is missing.
      * Once IEM gets mature enough, nothing should ever fall back.
      */
-#ifdef VBOX_WITH_FIRST_IEM_STEP
-//# define VBOX_WITH_FIRST_IEM_STEP_B
-#endif
+//#define VBOX_WITH_FIRST_IEM_STEP_B
 #if defined(VBOX_WITH_FIRST_IEM_STEP_B) || !defined(VBOX_WITH_REM)
     Log(("EMINS: %04x:%RGv RSP=%RGv\n", pCtx->cs.Sel, (RTGCPTR)pCtx->rip, (RTGCPTR)pCtx->rsp));
     STAM_PROFILE_START(&pVCpu->em.s.StatIEMEmu, a);
@@ -438,7 +436,6 @@ DECLINLINE(int) emR3RawExecuteInstruction(PVM pVM, PVMCPU pVCpu, const char *psz
  */
 static int emR3RawExecuteIOInstruction(PVM pVM, PVMCPU pVCpu)
 {
-#ifdef VBOX_WITH_FIRST_IEM_STEP
     STAM_PROFILE_START(&pVCpu->em.s.StatIOEmu, a);
 
     /* Hand it over to the interpreter. */
@@ -447,91 +444,6 @@ static int emR3RawExecuteIOInstruction(PVM pVM, PVMCPU pVCpu)
     STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIoIem);
     STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
     return VBOXSTRICTRC_TODO(rcStrict);
-
-#else
-    PCPUMCTX pCtx = pVCpu->em.s.pCtx;
-
-    STAM_PROFILE_START(&pVCpu->em.s.StatIOEmu, a);
-
-    /** @todo probably we should fall back to the recompiler; otherwise we'll go back and forth between HC & GC
-     *   as io instructions tend to come in packages of more than one
-     */
-    DISCPUSTATE Cpu;
-    int rc = CPUMR3DisasmInstrCPU(pVM, pVCpu, pCtx, pCtx->rip, &Cpu, "IO EMU");
-    if (RT_SUCCESS(rc))
-    {
-        VBOXSTRICTRC rcStrict = VINF_EM_RAW_EMULATE_INSTR;
-
-        if (!(Cpu.fPrefix & (DISPREFIX_REP | DISPREFIX_REPNE)))
-        {
-            switch (Cpu.pCurInstr->uOpcode)
-            {
-                case OP_IN:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIn);
-                    rcStrict = IOMInterpretIN(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-
-                case OP_OUT:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatOut);
-                    rcStrict = IOMInterpretOUT(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-            }
-        }
-        else if (Cpu.fPrefix & DISPREFIX_REP)
-        {
-            switch (Cpu.pCurInstr->uOpcode)
-            {
-                case OP_INSB:
-                case OP_INSWD:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatIn);
-                    rcStrict = IOMInterpretINS(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-
-                case OP_OUTSB:
-                case OP_OUTSWD:
-                {
-                    STAM_COUNTER_INC(&pVCpu->em.s.CTX_SUFF(pStats)->StatOut);
-                    rcStrict = IOMInterpretOUTS(pVM, pVCpu, CPUMCTX2CORE(pCtx), &Cpu);
-                    break;
-                }
-            }
-        }
-
-        /*
-         * Handled the I/O return codes.
-         * (The unhandled cases end up with rcStrict == VINF_EM_RAW_EMULATE_INSTR.)
-         */
-        if (IOM_SUCCESS(rcStrict))
-        {
-            pCtx->rip += Cpu.cbInstr;
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            return VBOXSTRICTRC_TODO(rcStrict);
-        }
-
-        if (rcStrict == VINF_EM_RAW_GUEST_TRAP)
-        {
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            rcStrict = emR3RawGuestTrap(pVM, pVCpu);
-            return VBOXSTRICTRC_TODO(rcStrict);
-        }
-        AssertMsg(rcStrict != VINF_TRPM_XCPT_DISPATCHED, ("Handle VINF_TRPM_XCPT_DISPATCHED\n"));
-
-        if (RT_FAILURE(rcStrict))
-        {
-            STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-            return VBOXSTRICTRC_TODO(rcStrict);
-        }
-        AssertMsg(rcStrict == VINF_EM_RAW_EMULATE_INSTR || rcStrict == VINF_EM_RESCHEDULE_REM, ("rcStrict=%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
-    }
-    STAM_PROFILE_STOP(&pVCpu->em.s.StatIOEmu, a);
-    return emR3RawExecuteInstruction(pVM, pVCpu, "IO: ");
-#endif
 }
 
 
@@ -1540,7 +1452,7 @@ int emR3RawExecute(PVM pVM, PVMCPU pVCpu, bool *pfFFDone)
 
             default:
                 if (PATMIsPatchGCAddr(pVM, pCtx->eip) && !(pCtx->eflags.u32 & X86_EFL_TF))
-                    LogIt(NULL, 0, LOG_GROUP_PATM, ("Patch code interrupted at %RRv for reason %Rrc\n", (RTRCPTR)CPUMGetGuestEIP(pVCpu), rc));
+                    LogIt(0, LOG_GROUP_PATM, ("Patch code interrupted at %RRv for reason %Rrc\n", (RTRCPTR)CPUMGetGuestEIP(pVCpu), rc));
                 break;
         }
         /*
diff --git a/src/VBox/VMM/VMMR3/GIM.cpp b/src/VBox/VMM/VMMR3/GIM.cpp
index d25dbf4..066a7a5 100644
--- a/src/VBox/VMM/VMMR3/GIM.cpp
+++ b/src/VBox/VMM/VMMR3/GIM.cpp
@@ -479,25 +479,15 @@ VMMR3_INT_DECL(int) GIMR3Mmio2Unmap(PVM pVM, PGIMMMIO2REGION pRegion)
 
 
 /**
- * Write access handler for a mapped MMIO2 region. At present, this handler
- * simply ignores writes.
+ * @callback_method_impl{FNPGMPHYSHANDLER,
+ *      Write access handler for mapped MMIO2 pages.  Currently ignores writes.}
  *
- * In the future we might want to let the GIM provider decide what the handler
- * should do (like throwing #GP faults).
- *
- * @returns VBox status code.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           The cross context CPU structure for the calling EMT.
- * @param   GCPhys          The guest-physical address of the region.
- * @param   pvPhys          Pointer to the region in the guest address space.
- * @param   pvBuf           Pointer to the data being read/written.
- * @param   cbBuf           The size of the buffer in @a pvBuf.
- * @param   enmAccessType   The type of access.
- * @param   enmOrigin       Who is making the access.
- * @param   pvUser          User argument (NULL, not used).
+ * @todo In the future we might want to let the GIM provider decide what the
+ *       handler should do (like throwing #GP faults).
  */
-static DECLCALLBACK(int) gimR3Mmio2WriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
-                                                PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
+static DECLCALLBACK(VBOXSTRICTRC)
+gimR3Mmio2WriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, void *pvPhys, void *pvBuf, size_t cbBuf,
+                       PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
 {
     /*
      * Ignore writes to the mapped MMIO2 page.
@@ -556,8 +546,8 @@ VMMR3_INT_DECL(int) GIMR3Mmio2Map(PVM pVM, PGIMMMIO2REGION pRegion, RTGCPHYS GCP
         if (pVM->gim.s.hSemiReadOnlyMmio2Handler == NIL_PGMPHYSHANDLERTYPE)
             rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_WRITE,
                                                   gimR3Mmio2WriteHandler,
-                                                  NULL /* pszModR0 */, NULL /* pszHandlerR0 */,
-                                                  NULL /* pszModRC */, NULL /* pszHandlerRC */,
+                                                  NULL /* pszModR0 */, NULL /* pszHandlerR0 */, NULL /* pszPfHandlerR0 */,
+                                                  NULL /* pszModRC */, NULL /* pszHandlerRC */, NULL /* pszPfHandlerRC */,
                                                   "GIM read-only MMIO2 handler",
                                                   &pVM->gim.s.hSemiReadOnlyMmio2Handler);
         if (RT_SUCCESS(rc))
diff --git a/src/VBox/VMM/VMMR3/HM.cpp b/src/VBox/VMM/VMMR3/HM.cpp
index 462ec8c..dbef427 100644
--- a/src/VBox/VMM/VMMR3/HM.cpp
+++ b/src/VBox/VMM/VMMR3/HM.cpp
@@ -467,9 +467,10 @@ VMMR3_INT_DECL(int) HMR3Init(PVM pVM)
                 rc = SUPR3QueryVTxSupported();
                 if (RT_SUCCESS(rc))
                 {
-                    LogRel(("HM: HMR3Init: VT-x%s%s\n",
+                    LogRel(("HM: HMR3Init: VT-x%s%s%s\n",
                             fCaps & SUPVTCAPS_NESTED_PAGING ? " w/ nested paging" : "",
-                            fCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST ? " and unrestricted guest execution" : ""));
+                            fCaps & SUPVTCAPS_VTX_UNRESTRICTED_GUEST ? " and unrestricted guest execution" : "",
+                            (fCaps & (SUPVTCAPS_NESTED_PAGING | SUPVTCAPS_VTX_UNRESTRICTED_GUEST)) ? " hw support" : ""));
                     pVM->hm.s.vmx.fSupported = true;
                 }
                 else
@@ -744,14 +745,13 @@ static int hmR3InitCPU(PVM pVM)
         HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchMaxResumeLoops,   "/HM/CPU%d/Switch/MaxResumeToR3", "Maximum VMRESUME inner-loop counter reached.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchHltToR3,          "/HM/CPU%d/Switch/HltToR3", "HLT causing us to go to ring-3.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchApicAccessToR3,   "/HM/CPU%d/Switch/ApicAccessToR3", "APIC access causing us to go to ring-3.");
+        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchPreempt,          "/HM/CPU%d/Switch/Preempting", "EMT has been preempted while in HM context.");
+        HM_REG_COUNTER(&pVCpu->hm.s.StatSwitchPreemptSaveHostState, "/HM/CPU%d/Switch/SaveHostState", "Preemption caused us to resave host state.");
 
         HM_REG_COUNTER(&pVCpu->hm.s.StatInjectInterrupt,        "/HM/CPU%d/EventInject/Interrupt", "Injected an external interrupt into the guest.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatInjectXcpt,             "/HM/CPU%d/EventInject/Trap", "Injected an exception into the guest.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatInjectPendingReflect,   "/HM/CPU%d/EventInject/PendingReflect", "Reflecting an exception back to the guest.");
 
-        HM_REG_COUNTER(&pVCpu->hm.s.StatPreemptPreempting,      "/HM/CPU%d/Preempt/Preempting", "EMT has been preempted while in HM context.");
-        HM_REG_COUNTER(&pVCpu->hm.s.StatPreemptSaveHostState,   "/HM/CPU%d/Preempt/SaveHostState", "Preemption caused us to resave host state.");
-
         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushPage,              "/HM/CPU%d/Flush/Page", "Invalidating a guest page on all guest CPUs.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushPageManual,        "/HM/CPU%d/Flush/Page/Virt", "Invalidating a guest page using guest-virtual address.");
         HM_REG_COUNTER(&pVCpu->hm.s.StatFlushPhysPageManual,    "/HM/CPU%d/Flush/Page/Phys", "Invalidating a guest page using guest-physical address.");
diff --git a/src/VBox/VMM/VMMR3/IOM.cpp b/src/VBox/VMM/VMMR3/IOM.cpp
index 53aeee8..301e240 100644
--- a/src/VBox/VMM/VMMR3/IOM.cpp
+++ b/src/VBox/VMM/VMMR3/IOM.cpp
@@ -187,10 +187,9 @@ VMMR3_INT_DECL(int) IOMR3Init(PVM pVM)
          */
         rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_MMIO,
                                               iomMmioHandler,
-                                              NULL, "iomMmioPfHandler",
-                                              NULL, "iomMmioPfHandler",
-                                              "MMIO",
-                                              &pVM->iom.s.hMmioHandlerType);
+                                              NULL, NULL, "iomMmioPfHandler",
+                                              NULL, NULL, "iomMmioPfHandler",
+                                              "MMIO", &pVM->iom.s.hMmioHandlerType);
         AssertRC(rc);
         if (RT_SUCCESS(rc))
         {
diff --git a/src/VBox/VMM/VMMR3/PATM.cpp b/src/VBox/VMM/VMMR3/PATM.cpp
index 26b5481..90b8dab 100644
--- a/src/VBox/VMM/VMMR3/PATM.cpp
+++ b/src/VBox/VMM/VMMR3/PATM.cpp
@@ -91,8 +91,6 @@ typedef struct
 /*******************************************************************************
 *   Internal Functions                                                         *
 *******************************************************************************/
-static FNPGMR3VIRTHANDLER patmR3VirtPageHandler;
-
 static int          patmDisableUnusablePatch(PVM pVM, RTRCPTR pInstrGC, RTRCPTR pConflictAddr, PPATCHINFO pPatch);
 static int          patmActivateInt3Patch(PVM pVM, PPATCHINFO pPatch);
 static int          patmDeactivateInt3Patch(PVM pVM, PPATCHINFO pPatch);
@@ -223,8 +221,8 @@ VMMR3_INT_DECL(int) PATMR3Init(PVM pVM)
      */
     rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_ALL, false /*fRelocUserRC*/,
                                          NULL /*pfnInvalidateR3*/,
-                                         patmR3VirtPageHandler,
-                                         "patmRCVirtPagePfHandler",
+                                         patmVirtPageHandler,
+                                         "patmVirtPageHandler", "patmRCVirtPagePfHandler",
                                          "PATMMonitorPatchJump", &pVM->patm.s.hMonitorPageType);
     AssertRCReturn(rc, rc);
 
@@ -974,37 +972,6 @@ static DECLCALLBACK(int) patmR3RelocatePatches(PAVLOU32NODECORE pNode, void *pPa
     return 0;
 }
 
-/**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           Pointer to the cross context CPU context for the
- *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making this write.
- * @param   pvUser          The address of the guest page we're monitoring.
- */
-static DECLCALLBACK(int) patmR3VirtPageHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                               PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    NOREF(pVCpu); NOREF(pvPtr); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmOrigin); NOREF(pvUser);
-
-    /** @todo could be the wrong virtual address (alias) */
-    pVM->patm.s.pvFaultMonitor = GCPtr;
-    PATMR3HandleMonitoredPage(pVM);
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-
 #ifdef VBOX_WITH_DEBUGGER
 
 /**
diff --git a/src/VBox/VMM/VMMR3/PDM.cpp b/src/VBox/VMM/VMMR3/PDM.cpp
index d858fda..63c6e3f 100644
--- a/src/VBox/VMM/VMMR3/PDM.cpp
+++ b/src/VBox/VMM/VMMR3/PDM.cpp
@@ -1036,12 +1036,11 @@ static DECLCALLBACK(int) pdmR3LoadExec(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersi
         {
             bool fSkip = false;
 
-#ifdef VBOX_WITH_PDM_AUDIO_DRIVER
-            /* Skip the non-existing "AudioSniffer" device stored in the saved state. */
+            /* Skip the non-existing (deprecated) "AudioSniffer" device stored in the saved state. */
             if (   uVersion <= PDM_SAVED_STATE_VERSION_PRE_PDM_AUDIO
                 && !RTStrCmp(szName, "AudioSniffer"))
                 fSkip = true;
-#endif
+
             if (!fSkip)
             {
                 LogRel(("Device '%s'/%d not found in current config\n", szName, iInstance));
@@ -2102,6 +2101,31 @@ VMMR3DECL(void) PDMR3PowerOff(PVM pVM)
     uint64_t cNsElapsed = RTTimeNanoTS();
 
     /*
+     * Clear the suspended flags on all devices and drivers first because they
+     * might have been set during a suspend but the power off callbacks should
+     * be called in any case.
+     */
+    for (PPDMDEVINS pDevIns = pVM->pdm.s.pDevInstances; pDevIns; pDevIns = pDevIns->Internal.s.pNextR3)
+    {
+        pDevIns->Internal.s.fIntFlags &= ~PDMDEVINSINT_FLAGS_SUSPENDED;
+
+        for (PPDMLUN pLun = pDevIns->Internal.s.pLunsR3; pLun; pLun = pLun->pNext)
+            for (PPDMDRVINS pDrvIns = pLun->pTop; pDrvIns; pDrvIns = pDrvIns->Internal.s.pDown)
+                pDrvIns->Internal.s.fVMSuspended = false;
+    }
+
+#ifdef VBOX_WITH_USB
+    for (PPDMUSBINS pUsbIns = pVM->pdm.s.pUsbInstances; pUsbIns; pUsbIns = pUsbIns->Internal.s.pNext)
+    {
+        pUsbIns->Internal.s.fVMSuspended = false;
+
+        for (PPDMLUN pLun = pUsbIns->Internal.s.pLuns; pLun; pLun = pLun->pNext)
+            for (PPDMDRVINS pDrvIns = pLun->pTop; pDrvIns; pDrvIns = pDrvIns->Internal.s.pDown)
+                pDrvIns->Internal.s.fVMSuspended = false;
+    }
+#endif
+
+    /*
      * The outer loop repeats until there are no more async requests.
      */
     PDMNOTIFYASYNCSTATS Async;
diff --git a/src/VBox/VMM/VMMR3/PDMDevHlp.cpp b/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
index 5df8148..20ba2bf 100644
--- a/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
+++ b/src/VBox/VMM/VMMR3/PDMDevHlp.cpp
@@ -714,14 +714,15 @@ static DECLCALLBACK(int) pdmR3DevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhy
     }
 #endif
 
-    int rc;
+    VBOXSTRICTRC rcStrict;
     if (VM_IS_EMT(pVM))
-        rc = PGMPhysRead(pVM, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
+        rcStrict = PGMPhysRead(pVM, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
     else
-        rc = PGMR3PhysReadExternal(pVM, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
+        rcStrict = PGMR3PhysReadExternal(pVM, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmR3DevHlp_PhysRead: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmR3DevHlp_PhysRead: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
@@ -742,14 +743,15 @@ static DECLCALLBACK(int) pdmR3DevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPh
     }
 #endif
 
-    int rc;
+    VBOXSTRICTRC rcStrict;
     if (VM_IS_EMT(pVM))
-        rc = PGMPhysWrite(pVM, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
+        rcStrict = PGMPhysWrite(pVM, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
     else
-        rc = PGMR3PhysWriteExternal(pVM, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
+        rcStrict = PGMR3PhysWriteExternal(pVM, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmR3DevHlp_PhysWrite: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmR3DevHlp_PhysWrite: caller='%s'/%d: returns %Rrc\n", pDevIns->pReg->szName, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
diff --git a/src/VBox/VMM/VMMR3/PDMLdr.cpp b/src/VBox/VMM/VMMR3/PDMLdr.cpp
index 72c45f0..db7ac7d 100644
--- a/src/VBox/VMM/VMMR3/PDMLdr.cpp
+++ b/src/VBox/VMM/VMMR3/PDMLdr.cpp
@@ -102,7 +102,7 @@ int pdmR3LdrInitU(PUVM pUVM)
     PVM pVM = pUVM->pVM; AssertPtr(pVM);
     if (!HMIsEnabled(pVM))
     {
-        int rc = PDMR3LdrLoadRC(pVM, NULL, VMMGC_MAIN_MODULE_NAME);
+        int rc = PDMR3LdrLoadRC(pVM, NULL, VMMRC_MAIN_MODULE_NAME);
         if (RT_FAILURE(rc))
             return rc;
     }
@@ -810,7 +810,7 @@ VMMR3DECL(int) PDMR3LdrGetSymbolR0(PVM pVM, const char *pszModule, const char *p
     AssertMsg(RTCritSectIsInitialized(&pUVM->pdm.s.ListCritSect), ("bad init order!\n"));
 
     if (!pszModule)
-        pszModule = "VMMR0.r0";
+        pszModule = VMMR0_MAIN_MODULE_NAME;
 
     /*
      * Find the module.
@@ -865,12 +865,12 @@ VMMR3DECL(int) PDMR3LdrGetSymbolR0Lazy(PVM pVM, const char *pszModule, const cha
     PUVM pUVM = pVM->pUVM;
     AssertMsg(RTCritSectIsInitialized(&pUVM->pdm.s.ListCritSect), ("bad init order!\n"));
 
-    /*
-     * Since we're lazy, we'll only check if the module is present
-     * and hand it over to PDMR3LdrGetSymbolR0 when that's done.
-     */
-    if (pszModule)
+    if (pszModule) /* (We don't lazy load the main R0 module.) */
     {
+        /*
+         * Since we're lazy, we'll only check if the module is present
+         * and hand it over to PDMR3LdrGetSymbolR0 when that's done.
+         */
         AssertMsgReturn(!strpbrk(pszModule, "/\\:\n\r\t"), ("pszModule=%s\n", pszModule), VERR_INVALID_PARAMETER);
         PPDMMOD pModule;
         RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
@@ -885,6 +885,7 @@ VMMR3DECL(int) PDMR3LdrGetSymbolR0Lazy(PVM pVM, const char *pszModule, const cha
             AssertMsgRCReturn(rc, ("pszModule=%s rc=%Rrc\n", pszModule, rc), VERR_MODULE_NOT_FOUND);
         }
     }
+
     return PDMR3LdrGetSymbolR0(pVM, pszModule, pszSymbol, ppvValue);
 #endif
 }
@@ -917,7 +918,7 @@ VMMR3DECL(int) PDMR3LdrGetSymbolRC(PVM pVM, const char *pszModule, const char *p
     AssertMsg(MMR3IsInitialized(pVM), ("bad init order!\n"));
 
     if (!pszModule)
-        pszModule = "VMMGC.gc";
+        pszModule = VMMRC_MAIN_MODULE_NAME;
 
     /*
      * Find the module.
@@ -959,7 +960,8 @@ VMMR3DECL(int) PDMR3LdrGetSymbolRC(PVM pVM, const char *pszModule, const char *p
  *
  * @returns VBox status code.
  * @param   pVM             Pointer to the VM.
- * @param   pszModule       Module name. If NULL the main R0 module (VMMGC.gc) is assumes.
+ * @param   pszModule       Module name.  If NULL the main RC module (VMMRC.rc)
+ *                          is assumed.
  * @param   pszSearchPath   List of directories to search if @a pszFile is
  *                          not qualified with a path.  Can be NULL, in which
  *                          case the arch dependent install dir is searched.
@@ -977,7 +979,9 @@ VMMR3DECL(int) PDMR3LdrGetSymbolRCLazy(PVM pVM, const char *pszModule, const cha
 
 #else
     AssertPtr(pVM);
-    AssertPtrNull(pszModule);
+    if (!pszModule)
+        pszModule = VMMRC_MAIN_MODULE_NAME;
+    AssertPtr(pszModule);
     AssertPtr(pRCPtrValue);
     AssertMsg(MMR3IsInitialized(pVM), ("bad init order!\n"));
 
@@ -985,26 +989,24 @@ VMMR3DECL(int) PDMR3LdrGetSymbolRCLazy(PVM pVM, const char *pszModule, const cha
      * Since we're lazy, we'll only check if the module is present
      * and hand it over to PDMR3LdrGetSymbolRC when that's done.
      */
-    if (pszModule)
+    AssertMsgReturn(!strpbrk(pszModule, "/\\:\n\r\t"), ("pszModule=%s\n", pszModule), VERR_INVALID_PARAMETER);
+    PUVM    pUVM = pVM->pUVM;
+    PPDMMOD pModule;
+    RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
+    for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
+        if (    pModule->eType == PDMMOD_TYPE_RC
+            &&  !strcmp(pModule->szName, pszModule))
+            break;
+    RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
+    if (!pModule)
     {
-        AssertMsgReturn(!strpbrk(pszModule, "/\\:\n\r\t"), ("pszModule=%s\n", pszModule), VERR_INVALID_PARAMETER);
-        PUVM    pUVM = pVM->pUVM;
-        PPDMMOD pModule;
-        RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
-        for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
-            if (    pModule->eType == PDMMOD_TYPE_RC
-                &&  !strcmp(pModule->szName, pszModule))
-                break;
-        RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
-        if (!pModule)
-        {
-            char *pszFilename = pdmR3FileRC(pszModule, pszSearchPath);
-            AssertMsgReturn(pszFilename, ("pszModule=%s\n", pszModule), VERR_MODULE_NOT_FOUND);
-            int rc = PDMR3LdrLoadRC(pVM, pszFilename, pszModule);
-            RTMemTmpFree(pszFilename);
-            AssertMsgRCReturn(rc, ("pszModule=%s rc=%Rrc\n", pszModule, rc), VERR_MODULE_NOT_FOUND);
-        }
+        char *pszFilename = pdmR3FileRC(pszModule, pszSearchPath);
+        AssertMsgReturn(pszFilename, ("pszModule=%s\n", pszModule), VERR_MODULE_NOT_FOUND);
+        int rc = PDMR3LdrLoadRC(pVM, pszFilename, pszModule);
+        RTMemTmpFree(pszFilename);
+        AssertMsgRCReturn(rc, ("pszModule=%s rc=%Rrc\n", pszModule, rc), VERR_MODULE_NOT_FOUND);
     }
+
     return PDMR3LdrGetSymbolRC(pVM, pszModule, pszSymbol, pRCPtrValue);
 #endif
 }
diff --git a/src/VBox/VMM/VMMR3/PGM.cpp b/src/VBox/VMM/VMMR3/PGM.cpp
index c7de201..0b07fa0 100644
--- a/src/VBox/VMM/VMMR3/PGM.cpp
+++ b/src/VBox/VMM/VMMR3/PGM.cpp
@@ -1456,8 +1456,8 @@ VMMR3DECL(int) PGMR3Init(PVM pVM)
     if (RT_SUCCESS(rc))
         rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_WRITE,
                                               pgmPhysRomWriteHandler,
-                                              NULL, "pgmPhysRomWritePfHandler",
-                                              NULL, "pgmPhysRomWritePfHandler",
+                                              NULL, NULL, "pgmPhysRomWritePfHandler",
+                                              NULL, NULL, "pgmPhysRomWritePfHandler",
                                               "ROM write protection",
                                               &pVM->pgm.s.hRomPhysHandlerType);
 
@@ -2429,6 +2429,8 @@ VMMR3DECL(void) PGMR3Relocate(PVM pVM, RTGCINTPTR offDelta)
     PPGMPHYSHANDLERTYPEINT pCurPhysType;
     RTListOff32ForEach(&pVM->pgm.s.pTreesR3->HeadPhysHandlerTypes, pCurPhysType, PGMPHYSHANDLERTYPEINT, ListNode)
     {
+        if (pCurPhysType->pfnHandlerRC != NIL_RTRCPTR)
+            pCurPhysType->pfnHandlerRC += offDelta;
         if (pCurPhysType->pfnPfHandlerRC != NIL_RTRCPTR)
             pCurPhysType->pfnPfHandlerRC += offDelta;
     }
@@ -2439,6 +2441,8 @@ VMMR3DECL(void) PGMR3Relocate(PVM pVM, RTGCINTPTR offDelta)
     PPGMVIRTHANDLERTYPEINT pCurVirtType;
     RTListOff32ForEach(&pVM->pgm.s.pTreesR3->HeadVirtHandlerTypes, pCurVirtType, PGMVIRTHANDLERTYPEINT, ListNode)
     {
+        if (pCurVirtType->pfnHandlerRC != NIL_RTRCPTR)
+            pCurVirtType->pfnHandlerRC += offDelta;
         if (pCurVirtType->pfnPfHandlerRC != NIL_RTRCPTR)
             pCurVirtType->pfnPfHandlerRC += offDelta;
     }
diff --git a/src/VBox/VMM/VMMR3/PGMHandler.cpp b/src/VBox/VMM/VMMR3/PGMHandler.cpp
index fbe69b7..8bdde63 100644
--- a/src/VBox/VMM/VMMR3/PGMHandler.cpp
+++ b/src/VBox/VMM/VMMR3/PGMHandler.cpp
@@ -72,7 +72,9 @@ static DECLCALLBACK(int) pgmR3InfoHandlersVirtualOne(PAVLROGCPTRNODECORE pNode,
  * @param   pVM             Pointer to the cross context VM structure.
  * @param   enmKind         The kind of access handler.
  * @param   pfnHandlerR3    Pointer to the ring-3 handler callback.
+ * @param   pfnHandlerR0    Pointer to the ring-0 handler callback.
  * @param   pfnPfHandlerR0  Pointer to the ring-0 \#PF handler callback.
+ * @param   pfnHandlerRC    Pointer to the raw-mode context handler callback.
  * @param   pfnPfHandlerRC  Pointer to the raw-mode context \#PF handler
  *                          callback.
  * @param   pszDesc         The type description.
@@ -81,12 +83,16 @@ static DECLCALLBACK(int) pgmR3InfoHandlersVirtualOne(PAVLROGCPTRNODECORE pNode,
  */
 VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKIND enmKind,
                                                        PFNPGMPHYSHANDLER pfnHandlerR3,
+                                                       R0PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR0,
                                                        R0PTRTYPE(PFNPGMRZPHYSPFHANDLER) pfnPfHandlerR0,
+                                                       RCPTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerRC,
                                                        RCPTRTYPE(PFNPGMRZPHYSPFHANDLER) pfnPfHandlerRC,
                                                        const char *pszDesc, PPGMPHYSHANDLERTYPE phType)
 {
     AssertPtrReturn(pfnHandlerR3, VERR_INVALID_POINTER);
+    AssertReturn(pfnHandlerR0   != NIL_RTR0PTR, VERR_INVALID_POINTER);
     AssertReturn(pfnPfHandlerR0 != NIL_RTR0PTR, VERR_INVALID_POINTER);
+    AssertReturn(pfnHandlerRC   != NIL_RTRCPTR || HMIsEnabled(pVM), VERR_INVALID_POINTER);
     AssertReturn(pfnPfHandlerRC != NIL_RTRCPTR || HMIsEnabled(pVM), VERR_INVALID_POINTER);
     AssertPtrReturn(pszDesc, VERR_INVALID_POINTER);
     AssertReturn(   enmKind == PGMPHYSHANDLERKIND_WRITE
@@ -104,7 +110,9 @@ VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKI
         pType->uState           = enmKind == PGMPHYSHANDLERKIND_WRITE
                                 ? PGM_PAGE_HNDL_PHYS_STATE_WRITE : PGM_PAGE_HNDL_PHYS_STATE_ALL;
         pType->pfnHandlerR3     = pfnHandlerR3;
+        pType->pfnHandlerR0     = pfnHandlerR0;
         pType->pfnPfHandlerR0   = pfnPfHandlerR0;
+        pType->pfnHandlerRC     = pfnHandlerRC;
         pType->pfnPfHandlerRC   = pfnPfHandlerRC;
         pType->pszDesc          = pszDesc;
 
@@ -143,48 +151,71 @@ VMMR3_INT_DECL(int) PGMR3HandlerPhysicalTypeRegisterEx(PVM pVM, PGMPHYSHANDLERKI
  */
 VMMR3DECL(int) PGMR3HandlerPhysicalTypeRegister(PVM pVM, PGMPHYSHANDLERKIND enmKind,
                                                 R3PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR3,
-                                                const char *pszModR0, const char *pszPfHandlerR0,
-                                                const char *pszModRC, const char *pszPfHandlerRC, const char *pszDesc,
-                                                PPGMPHYSHANDLERTYPE phType)
+                                                const char *pszModR0, const char *pszHandlerR0, const char *pszPfHandlerR0,
+                                                const char *pszModRC, const char *pszHandlerRC, const char *pszPfHandlerRC,
+                                                const char *pszDesc, PPGMPHYSHANDLERTYPE phType)
 {
-    LogFlow(("PGMR3HandlerPhysicalTypeRegister: enmKind=%d pfnHandlerR3=%RHv pszModR0=%s pszPfHandlerR0=%s pszModRC=%s pszPfHandlerRC=%s pszDesc=%s\n",
-             enmKind, pfnHandlerR3, pszModR0, pszPfHandlerR0, pszModRC, pszPfHandlerRC, pszDesc));
+    LogFlow(("PGMR3HandlerPhysicalTypeRegister: enmKind=%d pfnHandlerR3=%RHv pszModR0=%s pszHandlerR0=%s pszPfHandlerR0=%s pszModRC=%s pszHandlerRC=%s pszPfHandlerRC=%s pszDesc=%s\n",
+             enmKind, pfnHandlerR3, pszModR0, pszHandlerR0, pszPfHandlerR0, pszModRC, pszHandlerRC, pszDesc, pszPfHandlerRC, pszDesc));
 
     /*
      * Validate input.
      */
-    if (!pszModRC)
-        pszModRC = VMMGC_MAIN_MODULE_NAME;
-    if (!pszModR0)
-        pszModR0 = VMMR0_MAIN_MODULE_NAME;
-    if (!pszPfHandlerR0)
-        pszPfHandlerR0 = "pgmPhysPfHandlerRedirectToHC";
-    if (!pszPfHandlerRC)
-        pszPfHandlerRC = "pgmPhysPfHandlerRedirectToHC";
     AssertPtrReturn(pfnHandlerR3, VERR_INVALID_POINTER);
-    AssertPtrReturn(pszPfHandlerR0, VERR_INVALID_POINTER);
-    AssertPtrReturn(pszPfHandlerRC, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszModR0, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszHandlerR0, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszPfHandlerR0, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszModRC, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszHandlerRC, VERR_INVALID_POINTER);
+    AssertPtrNullReturn(pszPfHandlerRC, VERR_INVALID_POINTER);
 
     /*
-     * Resolve the R0 handler.
+     * Resolve the R0 handlers.
      */
-    R0PTRTYPE(PFNPGMR0PHYSPFHANDLER) pfnPfHandlerR0 = NIL_RTR0PTR;
-    int rc = PDMR3LdrGetSymbolR0Lazy(pVM, pszModR0, NULL /*pszSearchPath*/, pszPfHandlerR0, &pfnPfHandlerR0);
+    R0PTRTYPE(PFNPGMPHYSHANDLER) pfnHandlerR0 = NIL_RTR0PTR;
+    int rc = PDMR3LdrGetSymbolR0Lazy(pVM, pszHandlerR0 ? pszModR0 : NULL, NULL /*pszSearchPath*/,
+                                     pszHandlerR0 ? pszHandlerR0 : "pgmPhysHandlerRedirectToHC", &pfnHandlerR0);
     if (RT_SUCCESS(rc))
     {
-        /*
-         * Resolve the GC handler.
-         */
-        RTRCPTR pfnPfHandlerRC = NIL_RTRCPTR;
-        if (!HMIsEnabled(pVM))
-            rc = PDMR3LdrGetSymbolRCLazy(pVM, pszModRC, NULL /*pszSearchPath*/, pszPfHandlerRC, &pfnPfHandlerRC);
+        R0PTRTYPE(PFNPGMR0PHYSPFHANDLER) pfnPfHandlerR0 = NIL_RTR0PTR;
+        rc = PDMR3LdrGetSymbolR0Lazy(pVM, pszPfHandlerR0 ? pszModR0 : NULL, NULL /*pszSearchPath*/,
+                                     pszPfHandlerR0 ? pszPfHandlerR0 : "pgmPhysPfHandlerRedirectToHC", &pfnPfHandlerR0);
         if (RT_SUCCESS(rc))
-            return PGMR3HandlerPhysicalTypeRegisterEx(pVM, enmKind, pfnHandlerR3, pfnPfHandlerR0, pfnPfHandlerRC, pszDesc, phType);
-
-        AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", pszModRC, pszPfHandlerRC, rc));
+        {
+            /*
+             * Resolve the GC handler.
+             */
+            RTRCPTR pfnHandlerRC   = NIL_RTRCPTR;
+            RTRCPTR pfnPfHandlerRC = NIL_RTRCPTR;
+            if (!HMIsEnabled(pVM))
+            {
+                rc = PDMR3LdrGetSymbolRCLazy(pVM, pszHandlerRC ? pszModRC : NULL, NULL /*pszSearchPath*/,
+                                             pszHandlerRC ? pszHandlerRC : "pgmPhysHandlerRedirectToHC", &pfnHandlerRC);
+                if (RT_SUCCESS(rc))
+                {
+                    rc = PDMR3LdrGetSymbolRCLazy(pVM, pszPfHandlerRC ? pszModRC : NULL, NULL /*pszSearchPath*/,
+                                                 pszPfHandlerRC ? pszPfHandlerRC : "pgmPhysPfHandlerRedirectToHC", &pfnPfHandlerRC);
+                    AssertMsgRC(rc, ("Failed to resolve %s.%s, rc=%Rrc.\n", pszPfHandlerRC ? pszModRC : VMMRC_MAIN_MODULE_NAME,
+                                     pszPfHandlerRC ? pszPfHandlerRC : "pgmPhysPfHandlerRedirectToHC", rc));
+                }
+                else
+                    AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", pszHandlerRC ? pszModRC : VMMRC_MAIN_MODULE_NAME,
+                                     pszHandlerRC ? pszHandlerRC : "pgmPhysHandlerRedirectToHC", rc));
+
+            }
+            if (RT_SUCCESS(rc))
+                return PGMR3HandlerPhysicalTypeRegisterEx(pVM, enmKind, pfnHandlerR3,
+                                                          pfnHandlerR0, pfnPfHandlerR0,
+                                                          pfnHandlerRC, pfnPfHandlerRC,
+                                                          pszDesc, phType);
+        }
+        else
+            AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", pszPfHandlerR0 ? pszModR0 : VMMR0_MAIN_MODULE_NAME,
+                             pszPfHandlerR0 ? pszPfHandlerR0 : "pgmPhysHandlerRedirectToHC", rc));
     }
     else
-        AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", pszModR0, pszPfHandlerR0, rc));
+        AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", pszHandlerR0 ? pszModR0 : VMMR0_MAIN_MODULE_NAME,
+                         pszHandlerR0 ? pszHandlerR0 : "pgmPhysHandlerRedirectToHC", rc));
 
     return rc;
 }
@@ -282,8 +313,11 @@ static DECLCALLBACK(int) pgmR3HandlerPhysicalOneSet(PAVLROGCPHYSNODECORE pNode,
  * @param   fRelocUserRC    Whether the pvUserRC argument should be
  *                          automatically relocated or not.
  * @param   pfnInvalidateR3 Pointer to the ring-3 invalidation handler callback.
+ *                          Warning! This callback stopped working in VBox v1.2!
  * @param   pfnHandlerR3    Pointer to the ring-3 handler callback.
- * @param   pfnPfHandlerRC  Pointer to the raw-mode context handler callback.
+ * @param   pfnHandlerRC    Pointer to the raw-mode context handler callback.
+ * @param   pfnPfHandlerRC  Pointer to the raw-mode context \#PF handler
+ *                          callback.
  * @param   pszDesc         The type description.
  * @param   phType          Where to return the type handle (cross context
  *                          safe).
@@ -291,19 +325,30 @@ static DECLCALLBACK(int) pgmR3HandlerPhysicalOneSet(PAVLROGCPHYSNODECORE pNode,
  */
 VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegisterEx(PVM pVM, PGMVIRTHANDLERKIND enmKind, bool fRelocUserRC,
                                                       PFNPGMR3VIRTINVALIDATE pfnInvalidateR3,
-                                                      PFNPGMR3VIRTHANDLER pfnHandlerR3,
+                                                      PFNPGMVIRTHANDLER pfnHandlerR3,
+                                                      RCPTRTYPE(FNPGMVIRTHANDLER) pfnHandlerRC,
                                                       RCPTRTYPE(FNPGMRCVIRTPFHANDLER) pfnPfHandlerRC,
                                                       const char *pszDesc, PPGMVIRTHANDLERTYPE phType)
 {
     AssertReturn(!HMIsEnabled(pVM), VERR_NOT_AVAILABLE); /* Not supported/relevant for VT-x and AMD-V. */
-    AssertReturn(RT_VALID_PTR(pfnHandlerR3) || enmKind == PGMVIRTHANDLERKIND_HYPERVISOR, VERR_INVALID_POINTER);
-    AssertPtrNullReturn(pfnInvalidateR3, VERR_INVALID_POINTER);
-    AssertReturn(pfnPfHandlerRC != NIL_RTRCPTR, VERR_INVALID_POINTER);
-    AssertPtrReturn(pszDesc, VERR_INVALID_POINTER);
     AssertReturn(   enmKind == PGMVIRTHANDLERKIND_WRITE
                  || enmKind == PGMVIRTHANDLERKIND_ALL
                  || enmKind == PGMVIRTHANDLERKIND_HYPERVISOR,
                  VERR_INVALID_PARAMETER);
+    if (enmKind != PGMVIRTHANDLERKIND_HYPERVISOR)
+    {
+        AssertPtrNullReturn(pfnInvalidateR3, VERR_INVALID_POINTER);
+        AssertPtrReturn(pfnHandlerR3, VERR_INVALID_POINTER);
+        AssertReturn(pfnHandlerRC != NIL_RTRCPTR, VERR_INVALID_POINTER);
+    }
+    else
+    {
+        AssertReturn(pfnInvalidateR3 == NULL, VERR_INVALID_POINTER);
+        AssertReturn(pfnHandlerR3 == NULL, VERR_INVALID_POINTER);
+        AssertReturn(pfnHandlerRC == NIL_RTR0PTR, VERR_INVALID_POINTER);
+    }
+    AssertReturn(pfnPfHandlerRC != NIL_RTRCPTR, VERR_INVALID_POINTER);
+    AssertPtrReturn(pszDesc, VERR_INVALID_POINTER);
 
     PPGMVIRTHANDLERTYPEINT pType;
     int rc = MMHyperAlloc(pVM, sizeof(*pType), 0, MM_TAG_PGM_HANDLER_TYPES, (void **)&pType);
@@ -317,6 +362,7 @@ VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegisterEx(PVM pVM, PGMVIRTHANDLERKIN
                                 ? PGM_PAGE_HNDL_VIRT_STATE_ALL : PGM_PAGE_HNDL_VIRT_STATE_WRITE;
         pType->pfnInvalidateR3  = pfnInvalidateR3;
         pType->pfnHandlerR3     = pfnHandlerR3;
+        pType->pfnHandlerRC     = pfnHandlerRC;
         pType->pfnPfHandlerRC   = pfnPfHandlerRC;
         pType->pszDesc          = pszDesc;
 
@@ -345,7 +391,10 @@ VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegisterEx(PVM pVM, PGMVIRTHANDLERKIN
  * @param   pfnInvalidateR3 Pointer to the ring-3 invalidateion callback
  *                          (optional, can be NULL).
  * @param   pfnHandlerR3    Pointer to the ring-3 handler callback.
- * @param   pszPfHandlerRC  The name of the raw-mode context handler.
+ * @param   pszHandlerRC    The name of the raw-mode context handler callback
+ *                          (in VMMRC.rc).
+ * @param   pszPfHandlerRC  The name of the raw-mode context \#PF handler (in
+ *                          VMMRC.rc).
  * @param   pszDesc         The type description.
  * @param   phType          Where to return the type handle (cross context
  *                          safe).
@@ -353,8 +402,8 @@ VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegisterEx(PVM pVM, PGMVIRTHANDLERKIN
  */
 VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegister(PVM pVM, PGMVIRTHANDLERKIND enmKind, bool fRelocUserRC,
                                                     PFNPGMR3VIRTINVALIDATE pfnInvalidateR3,
-                                                    PFNPGMR3VIRTHANDLER pfnHandlerR3,
-                                                    const char *pszPfHandlerRC, const char *pszDesc,
+                                                    PFNPGMVIRTHANDLER pfnHandlerR3,
+                                                    const char *pszHandlerRC, const char *pszPfHandlerRC, const char *pszDesc,
                                                     PPGMVIRTHANDLERTYPE phType)
 {
     LogFlow(("PGMR3HandlerVirtualTypeRegister: enmKind=%d pfnInvalidateR3=%RHv pfnHandlerR3=%RHv pszPfHandlerRC=%s pszDesc=%s\n",
@@ -363,20 +412,30 @@ VMMR3_INT_DECL(int) PGMR3HandlerVirtualTypeRegister(PVM pVM, PGMVIRTHANDLERKIND
     /*
      * Validate input.
      */
+    AssertPtrNullReturn(pszHandlerRC, VERR_INVALID_POINTER);
     AssertPtrReturn(pszPfHandlerRC, VERR_INVALID_POINTER);
 
     /*
      * Resolve the GC handler.
      */
-    RTRCPTR pfnPfHandlerRC = NIL_RTRCPTR;
-    int rc = PDMR3LdrGetSymbolRCLazy(pVM, VMMGC_MAIN_MODULE_NAME, NULL /*pszSearchPath*/, pszPfHandlerRC, &pfnPfHandlerRC);
+    RTRCPTR pfnHandlerRC = NIL_RTRCPTR;
+    int rc = VINF_SUCCESS;
+    if (pszHandlerRC)
+        rc = PDMR3LdrGetSymbolRCLazy(pVM, VMMRC_MAIN_MODULE_NAME, NULL /*pszSearchPath*/, pszHandlerRC, &pfnHandlerRC);
     if (RT_SUCCESS(rc))
-        return PGMR3HandlerVirtualTypeRegisterEx(pVM, enmKind, fRelocUserRC,
-                                                 pfnInvalidateR3, pfnHandlerR3,
-                                                 pfnPfHandlerRC,
-                                                 pszDesc, phType);
+    {
+        RTRCPTR pfnPfHandlerRC = NIL_RTRCPTR;
+        rc = PDMR3LdrGetSymbolRCLazy(pVM, VMMRC_MAIN_MODULE_NAME, NULL /*pszSearchPath*/, pszPfHandlerRC, &pfnPfHandlerRC);
+        if (RT_SUCCESS(rc))
+            return PGMR3HandlerVirtualTypeRegisterEx(pVM, enmKind, fRelocUserRC,
+                                                     pfnInvalidateR3, pfnHandlerR3,
+                                                     pfnHandlerRC, pfnPfHandlerRC,
+                                                     pszDesc, phType);
 
-    AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", VMMGC_MAIN_MODULE_NAME, pszPfHandlerRC, rc));
+        AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", VMMRC_MAIN_MODULE_NAME, pszPfHandlerRC, rc));
+    }
+    else
+        AssertMsgFailed(("Failed to resolve %s.%s, rc=%Rrc.\n", VMMRC_MAIN_MODULE_NAME, pszHandlerRC, rc));
     return rc;
 }
 
@@ -410,6 +469,7 @@ VMMR3_INT_DECL(int) PGMR3HandlerVirtualRegister(PVM pVM, PVMCPU pVCpu, PGMVIRTHA
     switch (pType->enmKind)
     {
         case PGMVIRTHANDLERKIND_ALL:
+            /* Simplification for PGMPhysRead and others: Full pages. */
             AssertReleaseMsgReturn(   (GCPtr     & PAGE_OFFSET_MASK) == 0
                                    && (GCPtrLast & PAGE_OFFSET_MASK) == PAGE_OFFSET_MASK,
                                    ("PGMVIRTHANDLERKIND_ALL: GCPtr=%RGv GCPtrLast=%RGv\n", GCPtr, GCPtrLast),
diff --git a/src/VBox/VMM/VMMR3/PGMPhys.cpp b/src/VBox/VMM/VMMR3/PGMPhys.cpp
index 617f7a7..8d04445 100644
--- a/src/VBox/VMM/VMMR3/PGMPhys.cpp
+++ b/src/VBox/VMM/VMMR3/PGMPhys.cpp
@@ -89,7 +89,8 @@
 static DECLCALLBACK(int) pgmR3PhysReadExternalEMT(PVM pVM, PRTGCPHYS pGCPhys, void *pvBuf, size_t cbRead,
                                                   PGMACCESSORIGIN enmOrigin)
 {
-    PGMPhysRead(pVM, *pGCPhys, pvBuf, cbRead, enmOrigin);
+    VBOXSTRICTRC rcStrict = PGMPhysRead(pVM, *pGCPhys, pvBuf, cbRead, enmOrigin);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return VINF_SUCCESS;
 }
 
@@ -220,7 +221,8 @@ static DECLCALLBACK(int) pgmR3PhysWriteExternalEMT(PVM pVM, PRTGCPHYS pGCPhys, c
                                                    PGMACCESSORIGIN enmOrigin)
 {
     /** @todo VERR_EM_NO_MEMORY */
-    PGMPhysWrite(pVM, *pGCPhys, pvBuf, cbWrite, enmOrigin);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite(pVM, *pGCPhys, pvBuf, cbWrite, enmOrigin);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return VINF_SUCCESS;
 }
 
diff --git a/src/VBox/VMM/VMMR3/PGMPhysRWTmpl.h b/src/VBox/VMM/VMMR3/PGMPhysRWTmpl.h
index 88712fe..7f5899e 100644
--- a/src/VBox/VMM/VMMR3/PGMPhysRWTmpl.h
+++ b/src/VBox/VMM/VMMR3/PGMPhysRWTmpl.h
@@ -30,7 +30,8 @@ VMMDECL(PGMPHYS_DATATYPE) PGMPHYSFN_READNAME(PVM pVM, RTGCPHYS GCPhys, PGMACCESS
 {
     Assert(VM_IS_EMT(pVM));
     PGMPHYS_DATATYPE val;
-    PGMPhysRead(pVM, GCPhys, &val, sizeof(val), enmOrigin);
+    VBOXSTRICTRC rcStrict = PGMPhysRead(pVM, GCPhys, &val, sizeof(val), enmOrigin);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return val;
 }
 
@@ -49,7 +50,8 @@ VMMDECL(PGMPHYS_DATATYPE) PGMPHYSFN_READNAME(PVM pVM, RTGCPHYS GCPhys, PGMACCESS
 VMMDECL(void) PGMPHYSFN_WRITENAME(PVM pVM, RTGCPHYS GCPhys, PGMPHYS_DATATYPE val, PGMACCESSORIGIN enmOrigin)
 {
     Assert(VM_IS_EMT(pVM));
-    PGMPhysWrite(pVM, GCPhys, &val, sizeof(val), enmOrigin);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite(pVM, GCPhys, &val, sizeof(val), enmOrigin);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
 }
 
 #undef PGMPHYSFN_READNAME
diff --git a/src/VBox/VMM/VMMR3/PGMPool.cpp b/src/VBox/VMM/VMMR3/PGMPool.cpp
index 89a14c9..dee8691 100644
--- a/src/VBox/VMM/VMMR3/PGMPool.cpp
+++ b/src/VBox/VMM/VMMR3/PGMPool.cpp
@@ -282,8 +282,8 @@ int pgmR3PoolInit(PVM pVM)
     pPool->hAccessHandlerType = NIL_PGMPHYSHANDLERTYPE;
     rc = PGMR3HandlerPhysicalTypeRegister(pVM, PGMPHYSHANDLERKIND_WRITE,
                                           pgmPoolAccessHandler,
-                                          NULL, "pgmPoolAccessPfHandler",
-                                          NULL, "pgmPoolAccessPfHandler",
+                                          NULL, NULL, "pgmPoolAccessPfHandler",
+                                          NULL, NULL, "pgmPoolAccessPfHandler",
                                           "Guest Paging Access Handler",
                                           &pPool->hAccessHandlerType);
     AssertLogRelRCReturn(rc, rc);
diff --git a/src/VBox/VMM/VMMR3/SELM.cpp b/src/VBox/VMM/VMMR3/SELM.cpp
index 0590ad8..402b0ee 100644
--- a/src/VBox/VMM/VMMR3/SELM.cpp
+++ b/src/VBox/VMM/VMMR3/SELM.cpp
@@ -94,9 +94,6 @@
 static DECLCALLBACK(int)  selmR3Save(PVM pVM, PSSMHANDLE pSSM);
 static DECLCALLBACK(int)  selmR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass);
 static DECLCALLBACK(int)  selmR3LoadDone(PVM pVM, PSSMHANDLE pSSM);
-static FNPGMR3VIRTHANDLER selmR3GuestGDTWriteHandler;
-static FNPGMR3VIRTHANDLER selmR3GuestLDTWriteHandler;
-static FNPGMR3VIRTHANDLER selmR3GuestTSSWriteHandler;
 static DECLCALLBACK(void) selmR3InfoGdt(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs);
 static DECLCALLBACK(void) selmR3InfoGdtGuest(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs);
 static DECLCALLBACK(void) selmR3InfoLdt(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs);
@@ -202,37 +199,37 @@ VMMR3DECL(int) SELMR3Init(PVM pVM)
 # ifdef SELM_TRACK_SHADOW_GDT_CHANGES
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_HYPERVISOR, false /*fRelocUserRC*/,
                                              NULL /*pfnInvalidateR3*/, NULL /*pfnHandlerR3*/,
-                                             "selmRCShadowGDTWritePfHandler",
+                                             NULL /*pszHandlerRC*/, "selmRCShadowGDTWritePfHandler",
                                              "Shadow GDT write access handler", &pVM->selm.s.hShadowGdtWriteHandlerType);
         AssertRCReturn(rc, rc);
 # endif
 # ifdef SELM_TRACK_SHADOW_TSS_CHANGES
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_HYPERVISOR, false /*fRelocUserRC*/,
                                              NULL /*pfnInvalidateR3*/, NULL /*pfnHandlerR3*/,
-                                             "selmRCShadowTSSWritePfHandler",
+                                             NULL /*pszHandlerRC*/, "selmRCShadowTSSWritePfHandler",
                                              "Shadow TSS write access handler", &pVM->selm.s.hShadowTssWriteHandlerType);
         AssertRCReturn(rc, rc);
 # endif
 # ifdef SELM_TRACK_SHADOW_LDT_CHANGES
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_HYPERVISOR, false /*fRelocUserRC*/,
                                              NULL /*pfnInvalidateR3*/, NULL /*pfnHandlerR3*/,
-                                             "selmRCShadowLDTWritePfHandler",
+                                             NULL /*pszHandlerRC*/, "selmRCShadowLDTWritePfHandler",
                                              "Shadow LDT write access handler", &pVM->selm.s.hShadowLdtWriteHandlerType);
         AssertRCReturn(rc, rc);
 # endif
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
-                                             NULL /*pfnInvalidateR3*/, selmR3GuestGDTWriteHandler,
-                                             "selmRCGuestGDTWritePfHandler",
+                                             NULL /*pfnInvalidateR3*/, selmGuestGDTWriteHandler,
+                                             "selmGuestGDTWriteHandler", "selmRCGuestGDTWritePfHandler",
                                              "Guest GDT write access handler", &pVM->selm.s.hGuestGdtWriteHandlerType);
         AssertRCReturn(rc, rc);
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
-                                             NULL /*pfnInvalidateR3*/, selmR3GuestLDTWriteHandler,
-                                             "selmRCGuestLDTWritePfHandler",
+                                             NULL /*pfnInvalidateR3*/, selmGuestLDTWriteHandler,
+                                             "selmGuestLDTWriteHandler", "selmRCGuestLDTWritePfHandler",
                                              "Guest LDT write access handler", &pVM->selm.s.hGuestLdtWriteHandlerType);
         AssertRCReturn(rc, rc);
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
-                                             NULL /*pfnInvalidateR3*/, selmR3GuestTSSWriteHandler,
-                                             "selmRCGuestTSSWritePfHandler",
+                                             NULL /*pfnInvalidateR3*/, selmGuestTSSWriteHandler,
+                                             "selmGuestTSSWriteHandler", "selmRCGuestTSSWritePfHandler",
                                              "Guest TSS write access handler", &pVM->selm.s.hGuestTssWriteHandlerType);
         AssertRCReturn(rc, rc);
     }
@@ -1478,111 +1475,6 @@ VMMR3DECL(VBOXSTRICTRC) SELMR3UpdateFromCPUM(PVM pVM, PVMCPU pVCpu)
     return rcStrict;
 }
 
-#endif /*VBOX_WITH_RAW_MODE*/
-
-#ifdef SELM_TRACK_GUEST_GDT_CHANGES
-/**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           Pointer to the cross context CPU context for the
- *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making this write.
- * @param   pvUser          Unused.
- */
-static DECLCALLBACK(int) selmR3GuestGDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    Log(("selmR3GuestGDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
-    NOREF(pvPtr); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
-
-    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-#endif
-
-#ifdef SELM_TRACK_GUEST_LDT_CHANGES
-/**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           Pointer to the cross context CPU context for the
- *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making this write.
- * @param   pvUser          Unused.
- */
-static DECLCALLBACK(int) selmR3GuestLDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    Log(("selmR3GuestLDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
-    NOREF(pvPtr); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
-
-    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_LDT);
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-#endif
-
-
-#ifdef SELM_TRACK_GUEST_TSS_CHANGES
-/**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           Pointer to the cross context CPU context for the
- *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       Who is making this write.
- * @param   pvUser          Unused.
- */
-static DECLCALLBACK(int) selmR3GuestTSSWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    Log(("selmR3GuestTSSWriteHandler: write %.*Rhxs to %RGv size %d\n", RT_MIN(8, cbBuf), pvBuf, GCPtr, cbBuf));
-    NOREF(pvBuf); NOREF(GCPtr); NOREF(cbBuf); NOREF(enmOrigin); NOREF(pvUser); NOREF(pvPtr);
-
-    /** @todo This can be optimized by checking for the ESP0 offset and tracking TR
-     *        reloads in REM (setting VM_FF_SELM_SYNC_TSS if TR is reloaded). We
-     *        should probably also deregister the virtual handler if TR.base/size
-     *        changes while we're in REM. */
-
-    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-#endif
-
-#ifdef VBOX_WITH_RAW_MODE
 
 /**
  * Synchronize the shadowed fields in the TSS.
@@ -1834,7 +1726,7 @@ VMMR3DECL(int) SELMR3SyncTSS(PVM pVM, PVMCPU pVCpu)
  */
 VMMR3DECL(int) SELMR3DebugCheck(PVM pVM)
 {
-#ifdef VBOX_STRICT
+# ifdef VBOX_STRICT
     PVMCPU pVCpu = VMMGetCpu(pVM);
     AssertReturn(!HMIsEnabled(pVM), VERR_SELM_HM_IPE);
 
@@ -1955,9 +1847,9 @@ VMMR3DECL(int) SELMR3DebugCheck(PVM pVM)
         pLDTE++;
     }
 
-#else  /* !VBOX_STRICT */
+# else  /* !VBOX_STRICT */
     NOREF(pVM);
-#endif /* !VBOX_STRICT */
+# endif /* !VBOX_STRICT */
 
     return VINF_SUCCESS;
 }
@@ -1972,7 +1864,7 @@ VMMR3DECL(int) SELMR3DebugCheck(PVM pVM)
  */
 VMMR3DECL(bool) SELMR3CheckTSS(PVM pVM)
 {
-#if defined(VBOX_STRICT) && defined(SELM_TRACK_GUEST_TSS_CHANGES)
+# if defined(VBOX_STRICT) && defined(SELM_TRACK_GUEST_TSS_CHANGES)
     PVMCPU pVCpu = VMMGetCpu(pVM);
 
     if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS))
@@ -2098,10 +1990,10 @@ VMMR3DECL(bool) SELMR3CheckTSS(PVM pVM)
 
     return true;
 
-#else  /* !VBOX_STRICT */
+# else  /* !VBOX_STRICT */
     NOREF(pVM);
     return true;
-#endif /* !VBOX_STRICT */
+# endif /* !VBOX_STRICT */
 }
 
 
diff --git a/src/VBox/VMM/VMMR3/TRPM.cpp b/src/VBox/VMM/VMMR3/TRPM.cpp
index 9a67f36..497c94a 100644
--- a/src/VBox/VMM/VMMR3/TRPM.cpp
+++ b/src/VBox/VMM/VMMR3/TRPM.cpp
@@ -423,13 +423,6 @@ static VBOXIDTE_GENERIC     g_aIdt[256] =
 };
 
 
-#ifdef VBOX_WITH_RAW_MODE
-/** Enable or disable tracking of Guest's IDT. */
-# define TRPM_TRACK_GUEST_IDT_CHANGES
-/** Enable or disable tracking of Shadow IDT. */
-# define TRPM_TRACK_SHADOW_IDT_CHANGES
-#endif
-
 /** TRPM saved state version. */
 #define TRPM_SAVED_STATE_VERSION        9
 #define TRPM_SAVED_STATE_VERSION_UNI    8   /* SMP support bumped the version */
@@ -440,9 +433,6 @@ static VBOXIDTE_GENERIC     g_aIdt[256] =
 *******************************************************************************/
 static DECLCALLBACK(int) trpmR3Save(PVM pVM, PSSMHANDLE pSSM);
 static DECLCALLBACK(int) trpmR3Load(PVM pVM, PSSMHANDLE pSSM, uint32_t uVersion, uint32_t uPass);
-#ifdef TRPM_TRACK_GUEST_IDT_CHANGES
-static FNPGMR3VIRTHANDLER trpmR3GuestIDTWriteHandler;
-#endif
 
 
 /**
@@ -517,13 +507,13 @@ VMMR3DECL(int) TRPMR3Init(PVM pVM)
 # ifdef TRPM_TRACK_SHADOW_IDT_CHANGES
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_HYPERVISOR, false /*fRelocUserRC*/,
                                              NULL /*pfnInvalidateR3*/, NULL /*pfnHandlerR3*/,
-                                             "trpmRCShadowIDTWritePfHandler",
+                                             NULL /*pszHandlerRC*/, "trpmRCShadowIDTWritePfHandler",
                                              "Shadow IDT write access handler", &pVM->trpm.s.hShadowIdtWriteHandlerType);
         AssertRCReturn(rc, rc);
 # endif
         rc = PGMR3HandlerVirtualTypeRegister(pVM, PGMVIRTHANDLERKIND_WRITE, false /*fRelocUserRC*/,
-                                             NULL /*pfnInvalidateR3*/, trpmR3GuestIDTWriteHandler,
-                                             "trpmRCGuestIDTWritePfHandler",
+                                             NULL /*pfnInvalidateR3*/, trpmGuestIDTWriteHandler,
+                                             "trpmGuestIDTWriteHandler", "trpmRCGuestIDTWritePfHandler",
                                              "Guest IDT write access handler", &pVM->trpm.s.hGuestIdtWriteHandlerType);
         AssertRCReturn(rc, rc);
     }
@@ -651,16 +641,16 @@ VMMR3DECL(void) TRPMR3Relocate(PVM pVM, RTGCINTPTR offDelta)
      */
     RTRCPTR aRCPtrs[TRPM_HANDLER_MAX];
     RT_ZERO(aRCPtrs);
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aRCPtrs[TRPM_HANDLER_INT]);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aRCPtrs[TRPM_HANDLER_INT]);
     AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMMGC.gc!\n"));
 
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "TRPMGCHandlerGeneric",  &aRCPtrs[TRPM_HANDLER_TRAP]);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerGeneric",  &aRCPtrs[TRPM_HANDLER_TRAP]);
     AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerGeneric in VMMGC.gc!\n"));
 
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap08",   &aRCPtrs[TRPM_HANDLER_TRAP_08]);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap08",   &aRCPtrs[TRPM_HANDLER_TRAP_08]);
     AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap08 in VMMGC.gc!\n"));
 
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap12",   &aRCPtrs[TRPM_HANDLER_TRAP_12]);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerTrap12",   &aRCPtrs[TRPM_HANDLER_TRAP_12]);
     AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerTrap12 in VMMGC.gc!\n"));
 
     RTSEL SelCS = CPUMGetHyperCS(pVCpu);
@@ -1170,40 +1160,6 @@ VMMR3DECL(int) TRPMR3SyncIDT(PVM pVM, PVMCPU pVCpu)
 }
 
 
-# ifdef TRPM_TRACK_GUEST_IDT_CHANGES
-/**
- * \#PF Handler callback for virtual access handler ranges.
- *
- * Important to realize that a physical page in a range can have aliases, and
- * for ALL and WRITE handlers these will also trigger.
- *
- * @returns VINF_SUCCESS if the handler have carried out the operation.
- * @returns VINF_PGM_HANDLER_DO_DEFAULT if the caller should carry out the access operation.
- * @param   pVM             Pointer to the VM.
- * @param   pVCpu           Pointer to the cross context CPU context for the
- *                          calling EMT.
- * @param   GCPtr           The virtual address the guest is writing to. (not correct if it's an alias!)
- * @param   pvPtr           The HC mapping of that address.
- * @param   pvBuf           What the guest is reading/writing.
- * @param   cbBuf           How much it's reading/writing.
- * @param   enmAccessType   The access type.
- * @param   enmOrigin       The origin of this call.
- * @param   pvUser          User argument.
- */
-static DECLCALLBACK(int) trpmR3GuestIDTWriteHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
-                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
-{
-    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
-    Log(("trpmR3GuestIDTWriteHandler: write to %RGv size %d\n", GCPtr, cbBuf)); NOREF(GCPtr); NOREF(cbBuf);
-    NOREF(pvPtr); NOREF(pvUser); NOREF(pvBuf); NOREF(enmOrigin); NOREF(pvUser);
-    Assert(!HMIsEnabled(pVM));
-
-    VMCPU_FF_SET(pVCpu, VMCPU_FF_TRPM_SYNC_IDT);
-    return VINF_PGM_HANDLER_DO_DEFAULT;
-}
-# endif /* TRPM_TRACK_GUEST_IDT_CHANGES */
-
-
 /**
  * Clear passthrough interrupt gate handler (reset to default handler)
  *
@@ -1223,7 +1179,7 @@ int trpmR3ClearPassThroughHandler(PVM pVM, unsigned iTrap)
 
     memset(aGCPtrs, 0, sizeof(aGCPtrs));
 
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aGCPtrs[TRPM_HANDLER_INT]);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "TRPMGCHandlerInterupt", &aGCPtrs[TRPM_HANDLER_INT]);
     AssertReleaseMsgRC(rc, ("Couldn't find TRPMGCHandlerInterupt in VMMGC.gc!\n"));
 
     if (    iTrap < TRPM_HANDLER_INT_BASE
diff --git a/src/VBox/VMM/VMMR3/VMM.cpp b/src/VBox/VMM/VMMR3/VMM.cpp
index f17e497..25eb92f 100644
--- a/src/VBox/VMM/VMMR3/VMM.cpp
+++ b/src/VBox/VMM/VMMR3/VMM.cpp
@@ -381,7 +381,7 @@ static int vmmR3InitLoggers(PVM pVM)
      */
     if (!HMIsEnabled(pVM))
     {
-        PRTLOGGER pRelLogger = RTLogRelDefaultInstance();
+        PRTLOGGER pRelLogger = RTLogRelGetDefaultInstance();
         if (pRelLogger)
         {
             pVM->vmm.s.cbRCRelLogger = RT_OFFSETOF(RTLOGGERRC, afGroups[pRelLogger->cGroups]);
@@ -431,7 +431,6 @@ static void vmmR3InitRegisterStats(PVM pVM)
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetGDTFault,            STAMTYPE_COUNTER, "/VMM/RZRet/GDTFault",            STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_LDT_FAULT returns.");
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetIDTFault,            STAMTYPE_COUNTER, "/VMM/RZRet/IDTFault",            STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_IDT_FAULT returns.");
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetTSSFault,            STAMTYPE_COUNTER, "/VMM/RZRet/TSSFault",            STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_TSS_FAULT returns.");
-    STAM_REG(pVM, &pVM->vmm.s.StatRZRetPDFault,             STAMTYPE_COUNTER, "/VMM/RZRet/PDFault",             STAMUNIT_OCCURENCES, "Number of VINF_EM_EXECUTE_INSTRUCTION_PD_FAULT returns.");
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetCSAMTask,            STAMTYPE_COUNTER, "/VMM/RZRet/CSAMTask",            STAMUNIT_OCCURENCES, "Number of VINF_CSAM_PENDING_ACTION returns.");
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetSyncCR3,             STAMTYPE_COUNTER, "/VMM/RZRet/SyncCR",              STAMUNIT_OCCURENCES, "Number of VINF_PGM_SYNC_CR3 returns.");
     STAM_REG(pVM, &pVM->vmm.s.StatRZRetMisc,                STAMTYPE_COUNTER, "/VMM/RZRet/Misc",                STAMUNIT_OCCURENCES, "Number of misc returns.");
@@ -574,7 +573,7 @@ VMMR3_INT_DECL(int) VMMR3InitRC(PVM pVM)
      *      -# do a generic hypervisor call.
      */
     RTRCPTR RCPtrEP;
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
     if (RT_SUCCESS(rc))
     {
         CPUMSetHyperESP(pVCpu, pVCpu->vmm.s.pbEMTStackBottomRC); /* Clear the stack. */
@@ -607,7 +606,7 @@ VMMR3_INT_DECL(int) VMMR3InitRC(PVM pVM)
 #ifdef VBOX_WITH_RC_RELEASE_LOGGING
             PRTLOGGERRC pRelLogger = pVM->vmm.s.pRCRelLoggerR3;
             if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
-                RTLogFlushRC(RTLogRelDefaultInstance(), pRelLogger);
+                RTLogFlushRC(RTLogRelGetDefaultInstance(), pRelLogger);
 #endif
             if (rc != VINF_VMM_CALL_HOST)
                 break;
@@ -855,10 +854,10 @@ VMMR3_INT_DECL(void) VMMR3Relocate(PVM pVM, RTGCINTPTR offDelta)
      */
     if (!HMIsEnabled(pVM))
     {
-        int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "CPUMGCResumeGuest", &pVM->vmm.s.pfnCPUMRCResumeGuest);
+        int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "CPUMGCResumeGuest", &pVM->vmm.s.pfnCPUMRCResumeGuest);
         AssertReleaseMsgRC(rc, ("CPUMGCResumeGuest not found! rc=%Rra\n", rc));
 
-        rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "CPUMGCResumeGuestV86", &pVM->vmm.s.pfnCPUMRCResumeGuestV86);
+        rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "CPUMGCResumeGuestV86", &pVM->vmm.s.pfnCPUMRCResumeGuestV86);
         AssertReleaseMsgRC(rc, ("CPUMGCResumeGuestV86 not found! rc=%Rra\n", rc));
     }
 
@@ -890,7 +889,7 @@ VMMR3_INT_DECL(int) VMMR3UpdateLoggers(PVM pVM)
        )
     {
         Assert(!HMIsEnabled(pVM));
-        rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "vmmGCLoggerFlush", &RCPtrLoggerFlush);
+        rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "vmmGCLoggerFlush", &RCPtrLoggerFlush);
         AssertReleaseMsgRC(rc, ("vmmGCLoggerFlush not found! rc=%Rra\n", rc));
     }
 
@@ -898,7 +897,7 @@ VMMR3_INT_DECL(int) VMMR3UpdateLoggers(PVM pVM)
     {
         Assert(!HMIsEnabled(pVM));
         RTRCPTR RCPtrLoggerWrapper = 0;
-        rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "vmmGCLoggerWrapper", &RCPtrLoggerWrapper);
+        rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "vmmGCLoggerWrapper", &RCPtrLoggerWrapper);
         AssertReleaseMsgRC(rc, ("vmmGCLoggerWrapper not found! rc=%Rra\n", rc));
 
         pVM->vmm.s.pRCLoggerRC = MMHyperR3ToRC(pVM, pVM->vmm.s.pRCLoggerR3);
@@ -912,11 +911,11 @@ VMMR3_INT_DECL(int) VMMR3UpdateLoggers(PVM pVM)
     {
         Assert(!HMIsEnabled(pVM));
         RTRCPTR RCPtrLoggerWrapper = 0;
-        rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "vmmGCRelLoggerWrapper", &RCPtrLoggerWrapper);
+        rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "vmmGCRelLoggerWrapper", &RCPtrLoggerWrapper);
         AssertReleaseMsgRC(rc, ("vmmGCRelLoggerWrapper not found! rc=%Rra\n", rc));
 
         pVM->vmm.s.pRCRelLoggerRC = MMHyperR3ToRC(pVM, pVM->vmm.s.pRCRelLoggerR3);
-        rc = RTLogCloneRC(RTLogRelDefaultInstance(), pVM->vmm.s.pRCRelLoggerR3, pVM->vmm.s.cbRCRelLogger,
+        rc = RTLogCloneRC(RTLogRelGetDefaultInstance(), pVM->vmm.s.pRCRelLoggerR3, pVM->vmm.s.cbRCRelLogger,
                           RCPtrLoggerWrapper, RCPtrLoggerFlush, RTLOGFLAGS_BUFFERED);
         AssertReleaseMsgRC(rc, ("RTLogCloneRC failed! rc=%Rra\n", rc));
     }
@@ -1318,7 +1317,7 @@ VMMR3_INT_DECL(int) VMMR3RawRunGC(PVM pVM, PVMCPU pVCpu)
 #ifdef VBOX_WITH_RC_RELEASE_LOGGING
         PRTLOGGERRC pRelLogger = pVM->vmm.s.pRCRelLoggerR3;
         if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
-            RTLogFlushRC(RTLogRelDefaultInstance(), pRelLogger);
+            RTLogFlushRC(RTLogRelGetDefaultInstance(), pRelLogger);
 #endif
         if (rc != VINF_VMM_CALL_HOST)
         {
@@ -2004,7 +2003,7 @@ VMMR3DECL(int) VMMR3CallRCV(PVM pVM, RTRCPTR RCPtrEntry, unsigned cArgs, va_list
 #ifdef VBOX_WITH_RC_RELEASE_LOGGING
         PRTLOGGERRC pRelLogger = pVM->vmm.s.pRCRelLoggerR3;
         if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
-            RTLogFlushRC(RTLogRelDefaultInstance(), pRelLogger);
+            RTLogFlushRC(RTLogRelGetDefaultInstance(), pRelLogger);
 #endif
         if (rc == VERR_TRPM_PANIC || rc == VERR_TRPM_DONT_PANIC)
             VMMR3FatalDump(pVM, pVCpu, rc);
@@ -2114,7 +2113,7 @@ VMMR3DECL(int) VMMR3ResumeHyper(PVM pVM, PVMCPU pVCpu)
 # ifdef VBOX_WITH_RC_RELEASE_LOGGING
         PRTLOGGERRC pRelLogger = pVM->vmm.s.pRCRelLoggerR3;
         if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
-            RTLogFlushRC(RTLogRelDefaultInstance(), pRelLogger);
+            RTLogFlushRC(RTLogRelGetDefaultInstance(), pRelLogger);
 # endif
         if (rc == VERR_TRPM_PANIC || rc == VERR_TRPM_DONT_PANIC)
             VMMR3FatalDump(pVM, pVCpu, rc);
diff --git a/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp b/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp
index aa26353..76986e9 100644
--- a/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp
+++ b/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp
@@ -154,7 +154,7 @@ static void vmmR3FatalDumpInfoHlpInit(PVMMR3FATALDUMPINFOHLP pHlp)
     /*
      * The loggers.
      */
-    pHlp->pRelLogger  = RTLogRelDefaultInstance();
+    pHlp->pRelLogger  = RTLogRelGetDefaultInstance();
 #ifdef LOG_ENABLED
     pHlp->pLogger     = RTLogDefaultInstance();
 #else
diff --git a/src/VBox/VMM/VMMR3/VMMTests.cpp b/src/VBox/VMM/VMMR3/VMMTests.cpp
index 400eadd..2a8cd16 100644
--- a/src/VBox/VMM/VMMR3/VMMTests.cpp
+++ b/src/VBox/VMM/VMMR3/VMMTests.cpp
@@ -58,7 +58,7 @@ static int vmmR3ReportMsrRange(PVM pVM, uint32_t uMsr, uint64_t cMsrs, PRTSTREAM
      * Preps.
      */
     RTRCPTR RCPtrEP;
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMRCTestReadMsrs", &RCPtrEP);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCTestReadMsrs", &RCPtrEP);
     AssertMsgRCReturn(rc, ("Failed to resolved VMMRC.rc::VMMRCEntry(), rc=%Rrc\n", rc), rc);
 
     uint32_t const      cMsrsPerCall = 16384;
@@ -196,7 +196,7 @@ static int vmmR3DoGCTest(PVM pVM, VMMGCOPERATION enmTestcase, unsigned uVariatio
     PVMCPU pVCpu = &pVM->aCpus[0];
 
     RTRCPTR RCPtrEP;
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
     if (RT_FAILURE(rc))
         return rc;
 
@@ -222,7 +222,7 @@ static int vmmR3DoGCTest(PVM pVM, VMMGCOPERATION enmTestcase, unsigned uVariatio
 # ifdef VBOX_WITH_RC_RELEASE_LOGGING
     PRTLOGGERRC pRelLogger = pVM->vmm.s.pRCRelLoggerR3;
     if (RT_UNLIKELY(pRelLogger && pRelLogger->offScratch > 0))
-        RTLogFlushRC(RTLogRelDefaultInstance(), pRelLogger);
+        RTLogFlushRC(RTLogRelGetDefaultInstance(), pRelLogger);
 # endif
 #endif
 
@@ -252,7 +252,7 @@ static int vmmR3DoTrapTest(PVM pVM, uint8_t u8Trap, unsigned uVariation, int rcE
     RTPrintf("VMM: testing 0%x / %d - %s\n", u8Trap, uVariation, pszDesc);
 
     RTRCPTR RCPtrEP;
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
     if (RT_FAILURE(rc))
         return rc;
 
@@ -286,7 +286,7 @@ static int vmmR3DoTrapTest(PVM pVM, uint8_t u8Trap, unsigned uVariation, int rcE
     else if (pszFaultEIP)
     {
         RTRCPTR RCPtrFault;
-        int rc2 = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, pszFaultEIP, &RCPtrFault);
+        int rc2 = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, pszFaultEIP, &RCPtrFault);
         if (RT_FAILURE(rc2))
             RTPrintf("VMM: FAILURE - Failed to resolve symbol '%s', %Rrc!\n", pszFaultEIP, rc);
         else if (RCPtrFault != CPUMGetHyperEIP(pVCpu))
@@ -348,7 +348,7 @@ VMMR3DECL(int) VMMDoTest(PVM pVM)
      * Setup stack for calling VMMGCEntry().
      */
     RTRCPTR RCPtrEP;
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
     if (RT_SUCCESS(rc))
     {
         RTPrintf("VMM: VMMGCEntry=%RRv\n", RCPtrEP);
@@ -678,7 +678,7 @@ VMMR3DECL(int) VMMDoHmTest(PVM pVM)
      * Setup stack for calling VMMGCEntry().
      */
     RTRCPTR RCPtrEP;
-    rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
+    rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMGCEntry", &RCPtrEP);
     if (RT_SUCCESS(rc))
     {
         RTPrintf("VMM: VMMGCEntry=%RRv\n", RCPtrEP);
@@ -862,7 +862,7 @@ VMMR3DECL(int) VMMDoMsrExperiments(PVM pVM)
      * Preps.
      */
     RTRCPTR RCPtrEP;
-    int rc = PDMR3LdrGetSymbolRC(pVM, VMMGC_MAIN_MODULE_NAME, "VMMRCTestTestWriteMsr", &RCPtrEP);
+    int rc = PDMR3LdrGetSymbolRC(pVM, VMMRC_MAIN_MODULE_NAME, "VMMRCTestTestWriteMsr", &RCPtrEP);
     AssertMsgRCReturn(rc, ("Failed to resolved VMMRC.rc::VMMRCEntry(), rc=%Rrc\n", rc), rc);
 
     uint64_t *pauValues;
diff --git a/src/VBox/VMM/VMMRC/CSAMRC.cpp b/src/VBox/VMM/VMMRC/CSAMRC.cpp
index 071bf07..fd276f9 100644
--- a/src/VBox/VMM/VMMRC/CSAMRC.cpp
+++ b/src/VBox/VMM/VMMRC/CSAMRC.cpp
@@ -66,12 +66,11 @@
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Ignored.
  */
-DECLEXPORT(int) csamRCCodePageWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                             RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) csamRCCodePageWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                      RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     PPATMGCSTATE pPATMGCState;
     bool         fPatchCode = PATMIsPatchGCAddr(pVM, pRegFrame->eip);
-    int          rc;
     NOREF(uErrorCode);
 
     Assert(pVM->csam.s.cDirtyPages < CSAM_MAX_DIRTY_PAGES);
@@ -95,7 +94,7 @@ DECLEXPORT(int) csamRCCodePageWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
         /*
          * Make this particular page R/W.
          */
-        rc = PGMShwMakePageWritable(pVCpu, pvFault, PGM_MK_PG_IS_WRITE_FAULT);
+        int rc = PGMShwMakePageWritable(pVCpu, pvFault, PGM_MK_PG_IS_WRITE_FAULT);
         AssertMsgRC(rc, ("PGMShwModifyPage -> rc=%Rrc\n", rc));
         ASMInvalidatePage((void *)(uintptr_t)pvFault);
         return VINF_SUCCESS;
@@ -113,22 +112,23 @@ DECLEXPORT(int) csamRCCodePageWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
     /* If user code is modifying one of our monitored pages, then we can safely make it r/w as it's no longer being used for supervisor code. */
     if (cpl != 3)
     {
-        rc = PATMRCHandleWriteToPatchPage(pVM, pRegFrame, (RTRCPTR)((RTRCUINTPTR)pvRange + offRange), 4 /** @todo */);
-        if (rc == VINF_SUCCESS)
-            return rc;
-        if (rc == VINF_EM_RAW_EMULATE_INSTR)
+        VBOXSTRICTRC rcStrict = PATMRCHandleWriteToPatchPage(pVM, pRegFrame, (RTRCPTR)((RTRCUINTPTR)pvRange + offRange),
+                                                             4 /** @todo */);
+        if (rcStrict == VINF_SUCCESS)
+            return VBOXSTRICTRC_TODO(rcStrict);
+        if (rcStrict == VINF_EM_RAW_EMULATE_INSTR)
         {
             STAM_COUNTER_INC(&pVM->csam.s.StatDangerousWrite);
             return VINF_EM_RAW_EMULATE_INSTR;
         }
-        Assert(rc == VERR_PATCH_NOT_FOUND);
+        Assert(rcStrict == VERR_PATCH_NOT_FOUND);
     }
 
     VMCPU_FF_SET(pVCpu, VMCPU_FF_CSAM_PENDING_ACTION);
 
     /* Note that pvFault might be a different address in case of aliases. So use pvRange + offset instead!. */
     pVM->csam.s.pvDirtyBasePage[pVM->csam.s.cDirtyPages] = (RTRCPTR)((RTRCUINTPTR)pvRange + offRange);
-    pVM->csam.s.pvDirtyFaultPage[pVM->csam.s.cDirtyPages] = (RTRCPTR)((RTRCUINTPTR)pvRange + offRange);
+    pVM->csam.s.pvDirtyFaultPage[pVM->csam.s.cDirtyPages] = (RTRCPTR)pvFault;
     if (++pVM->csam.s.cDirtyPages == CSAM_MAX_DIRTY_PAGES)
         return VINF_CSAM_PENDING_ACTION;
 
@@ -136,7 +136,7 @@ DECLEXPORT(int) csamRCCodePageWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
      * Make this particular page R/W. The VM_FF_CSAM_FLUSH_DIRTY_PAGE handler will reset it to readonly again.
      */
     Log(("csamRCCodePageWriteHandler: enabled r/w for page %RGv\n", pvFault));
-    rc = PGMShwMakePageWritable(pVCpu, pvFault, PGM_MK_PG_IS_WRITE_FAULT);
+    int rc = PGMShwMakePageWritable(pVCpu, pvFault, PGM_MK_PG_IS_WRITE_FAULT);
     AssertMsgRC(rc, ("PGMShwModifyPage -> rc=%Rrc\n", rc));
     ASMInvalidatePage((void *)(uintptr_t)pvFault);
 
diff --git a/src/VBox/VMM/VMMRC/IOMRC.cpp b/src/VBox/VMM/VMMRC/IOMRC.cpp
index f0d8685..92b5320 100644
--- a/src/VBox/VMM/VMMRC/IOMRC.cpp
+++ b/src/VBox/VMM/VMMRC/IOMRC.cpp
@@ -26,6 +26,7 @@
 #include <VBox/vmm/selm.h>
 #include <VBox/vmm/mm.h>
 #include <VBox/vmm/em.h>
+#include <VBox/vmm/iem.h>
 #include <VBox/vmm/pgm.h>
 #include <VBox/vmm/trpm.h>
 #include "IOMInternal.h"
@@ -41,6 +42,252 @@
 #include <iprt/string.h>
 
 
+#ifdef VBOX_WITH_2ND_IEM_STEP
+/**
+ * Converts disassembler mode to IEM mode.
+ * @return IEM CPU mode.
+ * @param  enmDisMode   Disassembler CPU mode.
+ */
+DECLINLINE(IEMMODE) iomDisModeToIemMode(DISCPUMODE enmDisMode)
+{
+    switch (enmDisMode)
+    {
+        case DISCPUMODE_16BIT: return IEMMODE_16BIT;
+        case DISCPUMODE_32BIT: return IEMMODE_32BIT;
+        case DISCPUMODE_64BIT: return IEMMODE_64BIT;
+        default:
+            AssertFailed();
+            return IEMMODE_32BIT;
+    }
+}
+#endif
+
+
+
+/**
+ * IN <AL|AX|EAX>, <DX|imm16>
+ *
+ * @returns Strict VBox status code. Informational status codes other than the one documented
+ *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
+ * @retval  VINF_SUCCESS                Success.
+ * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
+ *                                      status code must be passed on to EM.
+ * @retval  VINF_IOM_R3_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
+ * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
+ * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
+ * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
+ *
+ * @param   pVM         The virtual machine (GC pointer of course).
+ * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
+ * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
+ * @param   pCpu        Disassembler CPU state.
+ */
+static VBOXSTRICTRC iomRCInterpretIN(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
+{
+#ifdef IN_RC
+    STAM_COUNTER_INC(&pVM->iom.s.StatInstIn);
+#endif
+
+    /*
+     * Get port number from second parameter.
+     * And get the register size from the first parameter.
+     */
+    uint64_t    uPort = 0;
+    unsigned    cbSize = 0;
+    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &uPort, &cbSize);
+    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
+
+    cbSize = DISGetParamSize(pCpu, &pCpu->Param1);
+    Assert(cbSize > 0);
+    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, uPort, cbSize);
+    if (rcStrict == VINF_SUCCESS)
+    {
+        /*
+         * Attempt to read the port.
+         */
+        uint32_t u32Data = UINT32_C(0xffffffff);
+        rcStrict = IOMIOPortRead(pVM, pVCpu, uPort, &u32Data, cbSize);
+        if (IOM_SUCCESS(rcStrict))
+        {
+            /*
+             * Store the result in the AL|AX|EAX register.
+             */
+            fRc = iomSaveDataToReg(pCpu, &pCpu->Param1, pRegFrame, u32Data);
+            AssertMsg(fRc, ("Failed to store register value!\n")); NOREF(fRc);
+        }
+        else
+            AssertMsg(rcStrict == VINF_IOM_R3_IOPORT_READ || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+    }
+    else
+        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+
+    return rcStrict;
+}
+
+
+/**
+ * OUT <DX|imm16>, <AL|AX|EAX>
+ *
+ * @returns Strict VBox status code. Informational status codes other than the one documented
+ *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
+ * @retval  VINF_SUCCESS                Success.
+ * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
+ *                                      status code must be passed on to EM.
+ * @retval  VINF_IOM_R3_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
+ * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
+ * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
+ * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
+ *
+ * @param   pVM         The virtual machine (GC pointer of course).
+ * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
+ * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
+ * @param   pCpu        Disassembler CPU state.
+ */
+static VBOXSTRICTRC iomRCInterpretOUT(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
+{
+#ifdef IN_RC
+    STAM_COUNTER_INC(&pVM->iom.s.StatInstOut);
+#endif
+
+    /*
+     * Get port number from first parameter.
+     * And get the register size and value from the second parameter.
+     */
+    uint64_t    uPort = 0;
+    unsigned    cbSize = 0;
+    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &uPort, &cbSize);
+    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
+
+    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, uPort, cbSize);
+    if (rcStrict == VINF_SUCCESS)
+    {
+        uint64_t u64Data = 0;
+        fRc = iomGetRegImmData(pCpu, &pCpu->Param2, pRegFrame, &u64Data, &cbSize);
+        AssertMsg(fRc, ("Failed to get reg value!\n")); NOREF(fRc);
+
+        /*
+         * Attempt to write to the port.
+         */
+        rcStrict = IOMIOPortWrite(pVM, pVCpu, uPort, u64Data, cbSize);
+        AssertMsg(rcStrict == VINF_SUCCESS || rcStrict == VINF_IOM_R3_IOPORT_WRITE || (rcStrict >= VINF_EM_FIRST && rcStrict <= VINF_EM_LAST) || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+    }
+    else
+        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+    return rcStrict;
+}
+
+
+/**
+ * [REP*] INSB/INSW/INSD
+ * ES:EDI,DX[,ECX]
+ *
+ * @returns Strict VBox status code. Informational status codes other than the one documented
+ *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
+ * @retval  VINF_SUCCESS                Success.
+ * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
+ *                                      status code must be passed on to EM.
+ * @retval  VINF_IOM_R3_IOPORT_READ     Defer the read to ring-3. (R0/GC only)
+ * @retval  VINF_EM_RAW_EMULATE_INSTR   Defer the read to the REM.
+ * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
+ * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
+ * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
+ *
+ * @param   pVM         The virtual machine.
+ * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
+ * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
+ * @param   pCpu        Disassembler CPU state.
+ */
+static VBOXSTRICTRC iomRCInterpretINS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
+{
+#ifdef VBOX_WITH_2ND_IEM_STEP
+    uint8_t cbValue = pCpu->pCurInstr->uOpcode == OP_INSB ? 1
+                    : pCpu->uOpMode == DISCPUMODE_16BIT ? 2 : 4;       /* dword in both 32 & 64 bits mode */
+    return IEMExecStringIoRead(pVCpu,
+                               cbValue,
+                               iomDisModeToIemMode((DISCPUMODE)pCpu->uCpuMode),
+                               RT_BOOL(pCpu->fPrefix & (DISPREFIX_REPNE | DISPREFIX_REP)),
+                               pCpu->cbInstr);
+#else
+    /*
+     * Get port number directly from the register (no need to bother the
+     * disassembler). And get the I/O register size from the opcode / prefix.
+     */
+    RTIOPORT    Port = pRegFrame->edx & 0xffff;
+    unsigned    cb;
+    if (pCpu->pCurInstr->uOpcode == OP_INSB)
+        cb = 1;
+    else
+        cb = (pCpu->uOpMode == DISCPUMODE_16BIT) ? 2 : 4;       /* dword in both 32 & 64 bits mode */
+
+    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, Port, cb);
+    if (RT_UNLIKELY(rcStrict != VINF_SUCCESS))
+    {
+        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+        return rcStrict;
+    }
+
+    return IOMInterpretINSEx(pVM, pVCpu, pRegFrame, Port, pCpu->fPrefix, (DISCPUMODE)pCpu->uAddrMode, cb);
+#endif
+}
+
+
+/**
+ * [REP*] OUTSB/OUTSW/OUTSD
+ * DS:ESI,DX[,ECX]
+ *
+ * @returns Strict VBox status code. Informational status codes other than the one documented
+ *          here are to be treated as internal failure. Use IOM_SUCCESS() to check for success.
+ * @retval  VINF_SUCCESS                Success.
+ * @retval  VINF_EM_FIRST-VINF_EM_LAST  Success with some exceptions (see IOM_SUCCESS()), the
+ *                                      status code must be passed on to EM.
+ * @retval  VINF_IOM_R3_IOPORT_WRITE    Defer the write to ring-3. (R0/GC only)
+ * @retval  VINF_EM_RAW_EMULATE_INSTR   Defer the write to the REM.
+ * @retval  VINF_EM_RAW_GUEST_TRAP      The exception was left pending. (TRPMRaiseXcptErr)
+ * @retval  VINF_TRPM_XCPT_DISPATCHED   The exception was raised and dispatched for raw-mode execution. (TRPMRaiseXcptErr)
+ * @retval  VINF_EM_RESCHEDULE_REM      The exception was dispatched and cannot be executed in raw-mode. (TRPMRaiseXcptErr)
+ *
+ * @param   pVM         The virtual machine.
+ * @param   pVCpu       Pointer to the virtual CPU structure of the caller.
+ * @param   pRegFrame   Pointer to CPUMCTXCORE guest registers structure.
+ * @param   pCpu        Disassembler CPU state.
+ */
+static VBOXSTRICTRC iomRCInterpretOUTS(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, PDISCPUSTATE pCpu)
+{
+#ifdef VBOX_WITH_2ND_IEM_STEP
+    uint8_t cbValue = pCpu->pCurInstr->uOpcode == OP_OUTSB ? 1
+                    : pCpu->uOpMode == DISCPUMODE_16BIT ? 2 : 4;       /* dword in both 32 & 64 bits mode */
+    return IEMExecStringIoWrite(pVCpu,
+                                cbValue,
+                                iomDisModeToIemMode((DISCPUMODE)pCpu->uCpuMode),
+                                RT_BOOL(pCpu->fPrefix & (DISPREFIX_REPNE | DISPREFIX_REP)),
+                                pCpu->cbInstr,
+                                pCpu->fPrefix & DISPREFIX_SEG ? pCpu->idxSegPrefix : X86_SREG_DS);
+#else
+    /*
+     * Get port number from the first parameter.
+     * And get the I/O register size from the opcode / prefix.
+     */
+    uint64_t    Port = 0;
+    unsigned    cb;
+    bool fRc = iomGetRegImmData(pCpu, &pCpu->Param1, pRegFrame, &Port, &cb);
+    AssertMsg(fRc, ("Failed to get reg/imm port number!\n")); NOREF(fRc);
+    if (pCpu->pCurInstr->uOpcode == OP_OUTSB)
+        cb = 1;
+    else
+        cb = (pCpu->uOpMode == DISCPUMODE_16BIT) ? 2 : 4;       /* dword in both 32 & 64 bits mode */
+
+    VBOXSTRICTRC rcStrict = IOMInterpretCheckPortIOAccess(pVM, pRegFrame, Port, cb);
+    if (RT_UNLIKELY(rcStrict != VINF_SUCCESS))
+    {
+        AssertMsg(rcStrict == VINF_EM_RAW_GUEST_TRAP || rcStrict == VINF_TRPM_XCPT_DISPATCHED || RT_FAILURE(rcStrict), ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict)));
+        return rcStrict;
+    }
+
+    return IOMInterpretOUTSEx(pVM, pVCpu, pRegFrame, Port, pCpu->fPrefix, (DISCPUMODE)pCpu->uAddrMode, cb);
+#endif
+}
+
+
 
 /**
  * Attempts to service an IN/OUT instruction.
@@ -70,18 +317,18 @@ VMMRCDECL(VBOXSTRICTRC) IOMRCIOPortHandler(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE p
     switch (pCpu->pCurInstr->uOpcode)
     {
         case OP_IN:
-            return IOMInterpretIN(pVM, pVCpu, pRegFrame, pCpu);
+            return iomRCInterpretIN(pVM, pVCpu, pRegFrame, pCpu);
 
         case OP_OUT:
-            return IOMInterpretOUT(pVM, pVCpu, pRegFrame, pCpu);
+            return iomRCInterpretOUT(pVM, pVCpu, pRegFrame, pCpu);
 
         case OP_INSB:
         case OP_INSWD:
-            return IOMInterpretINS(pVM, pVCpu, pRegFrame, pCpu);
+            return iomRCInterpretINS(pVM, pVCpu, pRegFrame, pCpu);
 
         case OP_OUTSB:
         case OP_OUTSWD:
-            return IOMInterpretOUTS(pVM, pVCpu, pRegFrame, pCpu);
+            return iomRCInterpretOUTS(pVM, pVCpu, pRegFrame, pCpu);
 
         /*
          * The opcode wasn't know to us, freak out.
diff --git a/src/VBox/VMM/VMMRC/PATMRC.cpp b/src/VBox/VMM/VMMRC/PATMRC.cpp
index bc4aaf7..42d65e0 100644
--- a/src/VBox/VMM/VMMRC/PATMRC.cpp
+++ b/src/VBox/VMM/VMMRC/PATMRC.cpp
@@ -45,25 +45,18 @@
 
 
 /**
- * \#PF Virtual Handler callback for Guest access a page monitored by PATM
+ * @callback_method_impl{FNPGMRZPHYSPFHANDLER,
+ *      PATM all access handler callback.}
  *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   pvRange     The base address of the handled virtual range.
- * @param   offRange    The offset of the access into this range.
- *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
- * @param   pvUser      The physical address of the guest page being monitored.
+ * @remarks The @a pvUser argument is the base address of the page being
+ *          monitored.
  */
-DECLEXPORT(int) patmRCVirtPagePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                        RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) patmRCVirtPagePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                 RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
-    NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange); NOREF(pvUser);
-    pVM->patm.s.pvFaultMonitor = (RTRCPTR)(RTRCUINTPTR)pvFault;
+    NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange);
+    Assert(pvUser); Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
+    pVM->patm.s.pvFaultMonitor = (RTRCPTR)((uintptr_t)pvUser + (pvFault & PAGE_OFFSET_MASK));
     return VINF_PATM_CHECK_PATCH_PAGE;
 }
 
@@ -72,50 +65,57 @@ DECLEXPORT(int) patmRCVirtPagePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCo
  * Checks if the write is located on a page with was patched before.
  * (if so, then we are not allowed to turn on r/w)
  *
- * @returns VBox status
+ * @returns Strict VBox status code.
+ * @retval  VINF_SUCCESS if access interpreted (@a pRegFrame != NULL).
+ * @retval  VINF_PGM_HANDLER_DO_DEFAULT (@a pRegFrame == NULL).
+ * @retval  VINF_EM_RAW_EMULATE_INSTR on needing to go to ring-3 to do this.
+ * @retval  VERR_PATCH_NOT_FOUND if no patch was found.
+ *
  * @param   pVM         Pointer to the VM.
- * @param   pRegFrame   CPU context
- * @param   GCPtr       GC pointer to write address
- * @param   cbWrite     Nr of bytes to write
+ * @param   pRegFrame   CPU context if \#PF, NULL if other write..
+ * @param   GCPtr       GC pointer to write address.
+ * @param   cbWrite     Number of bytes to write.
  *
  */
-VMMRC_INT_DECL(int) PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pRegFrame, RTRCPTR GCPtr, uint32_t cbWrite)
+VMMRC_INT_DECL(VBOXSTRICTRC) PATMRCHandleWriteToPatchPage(PVM pVM, PCPUMCTXCORE pRegFrame, RTRCPTR GCPtr, uint32_t cbWrite)
 {
-    RTGCUINTPTR          pWritePageStart, pWritePageEnd;
-    PPATMPATCHPAGE       pPatchPage;
+    Assert(cbWrite > 0);
 
     /* Quick boundary check */
-    if (    PAGE_ADDRESS(GCPtr) < PAGE_ADDRESS(pVM->patm.s.pPatchedInstrGCLowest)
-        ||  PAGE_ADDRESS(GCPtr) > PAGE_ADDRESS(pVM->patm.s.pPatchedInstrGCHighest)
-       )
-       return VERR_PATCH_NOT_FOUND;
+    if (   PAGE_ADDRESS(GCPtr) < PAGE_ADDRESS(pVM->patm.s.pPatchedInstrGCLowest)
+        || PAGE_ADDRESS(GCPtr) > PAGE_ADDRESS(pVM->patm.s.pPatchedInstrGCHighest))
+        return VERR_PATCH_NOT_FOUND;
 
     STAM_PROFILE_ADV_START(&pVM->patm.s.StatPatchWriteDetect, a);
 
-    pWritePageStart = (RTRCUINTPTR)GCPtr & PAGE_BASE_GC_MASK;
-    pWritePageEnd   = ((RTRCUINTPTR)GCPtr + cbWrite - 1) & PAGE_BASE_GC_MASK;
+    /*
+     * Lookup the patch page record for the write.
+     */
+    RTRCUINTPTR pWritePageStart = (RTRCUINTPTR)GCPtr & PAGE_BASE_GC_MASK;
+    RTRCUINTPTR pWritePageEnd   = ((RTRCUINTPTR)GCPtr + cbWrite - 1) & PAGE_BASE_GC_MASK;
 
-    pPatchPage = (PPATMPATCHPAGE)RTAvloU32Get(CTXSUFF(&pVM->patm.s.PatchLookupTree)->PatchTreeByPage, (AVLOU32KEY)pWritePageStart);
+    PPATMPATCHPAGE pPatchPage;
+    pPatchPage = (PPATMPATCHPAGE)RTAvloU32Get(&pVM->patm.s.CTXSUFF(PatchLookupTree)->PatchTreeByPage, pWritePageStart);
     if (    !pPatchPage
-        &&  pWritePageStart != pWritePageEnd
-       )
-    {
-        pPatchPage = (PPATMPATCHPAGE)RTAvloU32Get(CTXSUFF(&pVM->patm.s.PatchLookupTree)->PatchTreeByPage, (AVLOU32KEY)pWritePageEnd);
-    }
-
-#ifdef LOG_ENABLED
-    if (pPatchPage)
-        Log(("PATMGCHandleWriteToPatchPage: Found page %RRv for write to %RRv %d bytes (page low:high %RRv:%RRv\n", pPatchPage->Core.Key, GCPtr, cbWrite, pPatchPage->pLowestAddrGC, pPatchPage->pHighestAddrGC));
-#endif
-
+        &&  pWritePageStart != pWritePageEnd)
+        pPatchPage = (PPATMPATCHPAGE)RTAvloU32Get(&pVM->patm.s.CTXSUFF(PatchLookupTree)->PatchTreeByPage, pWritePageEnd);
     if (pPatchPage)
     {
-        if (    pPatchPage->pLowestAddrGC  > (RTRCPTR)((RTRCUINTPTR)GCPtr + cbWrite - 1)
-            ||  pPatchPage->pHighestAddrGC < (RTRCPTR)GCPtr)
+        Log(("PATMGCHandleWriteToPatchPage: Found page %RRv for write to %RRv %d bytes (page low:high %RRv:%RRv\n",
+             pPatchPage->Core.Key, GCPtr, cbWrite, pPatchPage->pLowestAddrGC, pPatchPage->pHighestAddrGC));
+        if (   (RTRCUINTPTR)pPatchPage->pLowestAddrGC  > (RTRCUINTPTR)GCPtr + cbWrite - 1U
+            || (RTRCUINTPTR)pPatchPage->pHighestAddrGC < (RTRCUINTPTR)GCPtr)
         {
-            /* This part of the page was not patched; try to emulate the instruction. */
+            /* This part of the page was not patched; try to emulate the instruction / tell the caller to do so. */
+            if (!pRegFrame)
+            {
+                LogFlow(("PATMHandleWriteToPatchPage: Allow writing %RRv LB %#x\n", pRegFrame->eip, GCPtr, cbWrite));
+                STAM_COUNTER_INC(&pVM->patm.s.StatPatchWriteInterpreted);
+                STAM_PROFILE_ADV_STOP(&pVM->patm.s.StatPatchWriteDetect, a);
+                return VINF_PGM_HANDLER_DO_DEFAULT;
+            }
             LogFlow(("PATMHandleWriteToPatchPage: Interpret %x accessing %RRv\n", pRegFrame->eip, GCPtr));
-            int rc = EMInterpretInstruction(VMMGetCpu0(pVM), pRegFrame, (RTGCPTR)(RTRCUINTPTR)GCPtr);
+            int rc = VBOXSTRICTRC_TODO(EMInterpretInstruction(VMMGetCpu0(pVM), pRegFrame, (RTGCPTR)(RTRCUINTPTR)GCPtr));
             if (rc == VINF_SUCCESS)
             {
                 STAM_COUNTER_INC(&pVM->patm.s.StatPatchWriteInterpreted);
@@ -544,8 +544,8 @@ VMMRC_INT_DECL(int) PATMRCHandleInt3PatchTrap(PVM pVM, PCPUMCTXCORE pRegFrame)
                 return VINF_EM_RAW_EMULATE_INSTR;
             }
 
-            rc = EMInterpretInstructionDisasState(pVCpu, &cpu, pRegFrame, 0 /* not relevant here */,
-                                                  EMCODETYPE_SUPERVISOR);
+            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, &cpu, pRegFrame, 0 /* not relevant here */,
+                                                                    EMCODETYPE_SUPERVISOR));
 #endif
             if (RT_FAILURE(rc))
             {
diff --git a/src/VBox/VMM/VMMRC/PDMRCDevice.cpp b/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
index e103a77..a3f3a56 100644
--- a/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
+++ b/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
@@ -200,11 +200,11 @@ static DECLCALLBACK(int) pdmRCDevHlp_PhysRead(PPDMDEVINS pDevIns, RTGCPHYS GCPhy
     LogFlow(("pdmRCDevHlp_PhysRead: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbRead=%#x\n",
              pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbRead));
 
-    int rc = PGMPhysRead(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
-    AssertRC(rc); /** @todo track down the users for this bugger. */
+    VBOXSTRICTRC rcStrict = PGMPhysRead(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbRead, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmRCDevHlp_PhysRead: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmRCDevHlp_PhysRead: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
@@ -215,11 +215,11 @@ static DECLCALLBACK(int) pdmRCDevHlp_PhysWrite(PPDMDEVINS pDevIns, RTGCPHYS GCPh
     LogFlow(("pdmRCDevHlp_PhysWrite: caller=%p/%d: GCPhys=%RGp pvBuf=%p cbWrite=%#x\n",
              pDevIns, pDevIns->iInstance, GCPhys, pvBuf, cbWrite));
 
-    int rc = PGMPhysWrite(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
-    AssertRC(rc); /** @todo track down the users for this bugger. */
+    VBOXSTRICTRC rcStrict = PGMPhysWrite(pDevIns->Internal.s.pVMRC, GCPhys, pvBuf, cbWrite, PGMACCESSORIGIN_DEVICE);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); /** @todo track down the users for this bugger. */
 
-    Log(("pdmRCDevHlp_PhysWrite: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, rc));
-    return rc;
+    Log(("pdmRCDevHlp_PhysWrite: caller=%p/%d: returns %Rrc\n", pDevIns, pDevIns->iInstance, VBOXSTRICTRC_VAL(rcStrict) ));
+    return VBOXSTRICTRC_VAL(rcStrict);
 }
 
 
diff --git a/src/VBox/VMM/VMMRC/SELMRC.cpp b/src/VBox/VMM/VMMRC/SELMRC.cpp
index 905c7f2..c6a5e85 100644
--- a/src/VBox/VMM/VMMRC/SELMRC.cpp
+++ b/src/VBox/VMM/VMMRC/SELMRC.cpp
@@ -47,23 +47,24 @@ static char const g_aszSRegNms[X86_SREG_COUNT][4] = { "ES", "CS", "SS", "DS", "F
 
 
 #ifdef SELM_TRACK_GUEST_GDT_CHANGES
+
 /**
  * Synchronizes one GDT entry (guest -> shadow).
  *
  * @returns VBox strict status code (appropriate for trap handling and GC
  *          return).
+ * @retval  VINF_SUCCESS
  * @retval  VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT
  * @retval  VINF_SELM_SYNC_GDT
- * @retval  VINF_EM_RESCHEDULE_REM
  *
  * @param   pVM         Pointer to the VM.
  * @param   pVCpu       The current virtual CPU.
- * @param   pRegFrame   Trap register frame.
+ * @param   pCtx        CPU context for the current CPU.
  * @param   iGDTEntry   The GDT entry to sync.
  *
  * @remarks Caller checks that this isn't the LDT entry!
  */
-static VBOXSTRICTRC selmRCSyncGDTEntry(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, unsigned iGDTEntry)
+static VBOXSTRICTRC selmRCSyncGDTEntry(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, unsigned iGDTEntry)
 {
     Log2(("GDT %04X LDTR=%04X\n", iGDTEntry, CPUMGetGuestLDTR(pVCpu)));
 
@@ -89,7 +90,8 @@ static VBOXSTRICTRC selmRCSyncGDTEntry(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegF
         {
             VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
             VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3); /* paranoia */
-            return VINF_EM_RESCHEDULE_REM;
+            /* return VINF_EM_RESCHEDULE_REM; - bad idea if we're in a patch. */
+            return VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT;
         }
     }
 
@@ -135,7 +137,6 @@ static VBOXSTRICTRC selmRCSyncGDTEntry(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegF
      * Detect and mark stale registers.
      */
     VBOXSTRICTRC rcStrict = VINF_SUCCESS;
-    PCPUMCTX     pCtx     = CPUMQueryGuestCtxPtr(pVCpu); Assert(CPUMCTX2CORE(pCtx) == pRegFrame);
     PCPUMSELREG  paSReg   = CPUMCTX_FIRST_SREG(pCtx);
     for (unsigned iSReg = 0; iSReg <= X86_SREG_COUNT; iSReg++)
     {
@@ -179,10 +180,10 @@ static VBOXSTRICTRC selmRCSyncGDTEntry(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegF
  *
  * @param   pVM         Pointer to the VM.
  * @param   pVCpu       The current virtual CPU.
- * @param   pRegFrame   Trap register frame.
+ * @param   pCtx        The CPU context.
  * @param   iGDTEntry   The GDT entry to sync.
  */
-static void selmRCSyncGDTSegRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, unsigned iGDTEntry)
+void selmRCSyncGdtSegRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, unsigned iGDTEntry)
 {
     /*
      * Validate the offset.
@@ -199,7 +200,6 @@ static void selmRCSyncGDTSegRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame,
      */
     PCX86DESC       pDesc    = &pVM->selm.s.CTX_SUFF(paGdt)[iGDTEntry];
     uint32_t        uCpl     = CPUMGetGuestCPL(pVCpu);
-    PCPUMCTX        pCtx     = CPUMQueryGuestCtxPtr(pVCpu); Assert(CPUMCTX2CORE(pCtx) == pRegFrame);
     PCPUMSELREG     paSReg   = CPUMCTX_FIRST_SREG(pCtx);
     for (unsigned iSReg = 0; iSReg <= X86_SREG_COUNT; iSReg++)
     {
@@ -218,26 +218,93 @@ static void selmRCSyncGDTSegRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame,
             }
         }
     }
+}
+
 
+/**
+ * Syncs hidden selector register parts before emulating a GDT change.
+ *
+ * This is shared between the selmRCGuestGDTWritePfHandler and
+ * selmGuestGDTWriteHandler.
+ *
+ * @param   pVM             Pointer to the cross context VM structure.
+ * @param   pVCpu           Pointer to the cross context virtual CPU structure.
+ * @param   offGuestTss     The offset into the TSS of the write that was made.
+ * @param   cbWrite         The number of bytes written.
+ * @param   pCtx            The current CPU context.
+ */
+void selmRCGuestGdtPreWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestGdt, uint32_t cbWrite, PCPUMCTX pCtx)
+{
+    uint32_t       iGdt      = offGuestGdt >> X86_SEL_SHIFT;
+    uint32_t const iGdtLast  = (offGuestGdt + cbWrite - 1) >> X86_SEL_SHIFT;
+    do
+    {
+        selmRCSyncGdtSegRegs(pVM, pVCpu, pCtx, iGdt);
+        iGdt++;
+    } while (iGdt <= iGdtLast);
 }
 
 
 /**
- * \#PF Virtual Handler callback for Guest write access to the Guest's own GDT.
+ * Checks the guest GDT for changes after a write has been emulated.
  *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   pvRange     The base address of the handled virtual range.
- * @param   offRange    The offset of the access into this range.
- *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
+ *
+ * This is shared between the selmRCGuestGDTWritePfHandler and
+ * selmGuestGDTWriteHandler.
+ *
+ * @retval  VINF_SUCCESS
+ * @retval  VINF_SELM_SYNC_GDT
+ * @retval  VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT
+ *
+ * @param   pVM             Pointer to the cross context VM structure.
+ * @param   pVCpu           Pointer to the cross context virtual CPU structure.
+ * @param   offGuestTss     The offset into the TSS of the write that was made.
+ * @param   cbWrite         The number of bytes written.
+ * @param   pCtx            The current CPU context.
+ */
+VBOXSTRICTRC selmRCGuestGdtPostWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestGdt, uint32_t cbWrite, PCPUMCTX pCtx)
+{
+    VBOXSTRICTRC rcStrict = VINF_SUCCESS;
+
+    /* Check if the LDT was in any way affected.  Do not sync the
+       shadow GDT if that's the case or we might have trouble in
+       the world switcher (or so they say). */
+    uint32_t const iGdtFirst = offGuestGdt >> X86_SEL_SHIFT;
+    uint32_t const iGdtLast  = (offGuestGdt + cbWrite - 1) >> X86_SEL_SHIFT;
+    uint32_t const iLdt      = CPUMGetGuestLDTR(pVCpu) >> X86_SEL_SHIFT;
+    if (iGdtFirst <= iLdt && iGdtLast >= iLdt)
+    {
+        Log(("LDTR selector change -> fall back to HC!!\n"));
+        VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
+        rcStrict = VINF_SELM_SYNC_GDT;
+        /** @todo Implement correct stale LDT handling.  */
+    }
+    else
+    {
+        /* Sync the shadow GDT and continue provided the update didn't
+           cause any segment registers to go stale in any way. */
+        uint32_t iGdt = iGdtFirst;
+        do
+        {
+            VBOXSTRICTRC rcStrict2 = selmRCSyncGDTEntry(pVM, pVCpu, pCtx, iGdt);
+            Assert(rcStrict2 == VINF_SUCCESS || rcStrict2 == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT || rcStrict2 == VINF_SELM_SYNC_GDT);
+            if (rcStrict == VINF_SUCCESS)
+                rcStrict = rcStrict2;
+            iGdt++;
+        } while (   iGdt <= iGdtLast
+                 && (rcStrict == VINF_SUCCESS || rcStrict == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT));
+        if (rcStrict == VINF_SUCCESS || rcStrict == VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT)
+            STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTHandled);
+    }
+    return rcStrict;
+}
+
+
+/**
+ * @callback_method_impl{FNPGMVIRTHANDLER, Guest GDT write access \#PF handler }
  */
-DECLEXPORT(int) selmRCGuestGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                             RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) selmRCGuestGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                      RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     LogFlow(("selmRCGuestGDTWritePfHandler errcode=%x fault=%RGv offRange=%08x\n", (uint32_t)uErrorCode, pvFault, offRange));
     NOREF(pvRange); NOREF(pvUser);
@@ -245,97 +312,40 @@ DECLEXPORT(int) selmRCGuestGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
     /*
      * Check if any selectors might be affected.
      */
-    unsigned const iGDTE1 = offRange >> X86_SEL_SHIFT;
-    selmRCSyncGDTSegRegs(pVM, pVCpu, pRegFrame, iGDTE1);
-    if (((offRange + 8) >> X86_SEL_SHIFT) != iGDTE1)
-        selmRCSyncGDTSegRegs(pVM, pVCpu, pRegFrame, iGDTE1 + 1);
+    selmRCGuestGdtPreWriteCheck(pVM, pVCpu, offRange, 8 /*cbWrite*/, CPUMCTX_FROM_CORE(pRegFrame));
 
     /*
      * Attempt to emulate the instruction and sync the affected entries.
      */
     uint32_t cb;
-    int rc = EMInterpretInstructionEx(pVCpu, pRegFrame, (RTGCPTR)(RTRCUINTPTR)pvFault, &cb);
-    if (RT_SUCCESS(rc) && cb)
-    {
-        /* Check if the LDT was in any way affected.  Do not sync the
-           shadow GDT if that's the case or we might have trouble in
-           the world switcher (or so they say). */
-        unsigned const iLdt   = CPUMGetGuestLDTR(pVCpu) >> X86_SEL_SHIFT;
-        unsigned const iGDTE2 = (offRange + cb - 1) >> X86_SEL_SHIFT;
-        if (   iGDTE1 == iLdt
-            || iGDTE2 == iLdt)
-        {
-            Log(("LDTR selector change -> fall back to HC!!\n"));
-            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
-            rc = VINF_SELM_SYNC_GDT;
-            /** @todo Implement correct stale LDT handling.  */
-        }
-        else
-        {
-            /* Sync the shadow GDT and continue provided the update didn't
-               cause any segment registers to go stale in any way. */
-            int rc2 = selmRCSyncGDTEntry(pVM, pVCpu, pRegFrame, iGDTE1);
-            if (rc2 == VINF_SUCCESS || rc2 == VINF_EM_RESCHEDULE_REM)
-            {
-                if (rc == VINF_SUCCESS)
-                    rc = rc2;
-
-                if (iGDTE1 != iGDTE2)
-                {
-                    rc2 = selmRCSyncGDTEntry(pVM, pVCpu, pRegFrame, iGDTE2);
-                    if (rc == VINF_SUCCESS)
-                        rc = rc2;
-                }
-
-                if (rc2 == VINF_SUCCESS || rc2 == VINF_EM_RESCHEDULE_REM)
-                {
-                    /* VINF_EM_RESCHEDULE_REM - bad idea if we're in a patch. */
-                    if (rc2 == VINF_EM_RESCHEDULE_REM)
-                        rc = VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT;
-                    STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTHandled);
-                    return rc;
-                }
-            }
-
-            /* sync failed, return to ring-3 and resync the GDT. */
-            if (rc == VINF_SUCCESS || RT_FAILURE(rc2))
-                rc = rc2;
-        }
-    }
+    VBOXSTRICTRC rcStrict = EMInterpretInstructionEx(pVCpu, pRegFrame, (RTGCPTR)(RTRCUINTPTR)pvFault, &cb);
+    if (RT_SUCCESS(rcStrict) && cb)
+        rcStrict = selmRCGuestGdtPostWriteCheck(pVM, pVCpu, offRange, cb, CPUMCTX_FROM_CORE(pRegFrame));
     else
     {
-        Assert(RT_FAILURE(rc));
-        if (rc == VERR_EM_INTERPRETER)
-            rc = VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT;
+        Assert(RT_FAILURE(rcStrict));
+        if (rcStrict == VERR_EM_INTERPRETER)
+            rcStrict = VINF_EM_RAW_EMULATE_INSTR; /* No, not VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT, see PGM_PHYS_RW_IS_SUCCESS.  */
         VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_GDT);
     }
 
-    STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTUnhandled);
-    return rc;
+    if (!VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_SELM_SYNC_GDT))
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTHandled);
+    else
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestGDTUnhandled);
+    return rcStrict;
 }
-#endif /* SELM_TRACK_GUEST_GDT_CHANGES */
 
+#endif /* SELM_TRACK_GUEST_GDT_CHANGES */
 
 #ifdef SELM_TRACK_GUEST_LDT_CHANGES
 /**
- * \#PF Virtual Handler callback for Guest write access to the Guest's own LDT.
- *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode   CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   pvRange     The base address of the handled virtual range.
- * @param   offRange    The offset of the access into this range.
- *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
- * @param   pvUser      Unused.
+ * @callback_method_impl{FNPGMVIRTHANDLER, Guest LDT write access \#PF handler }
  */
-DECLEXPORT(int) selmRCGuestLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                             RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) selmRCGuestLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                      RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
-    /** @todo To be implemented. */
+    /** @todo To be implemented... or not. */
     ////LogCom(("selmRCGuestLDTWriteHandler: eip=%08X pvFault=%RGv pvRange=%RGv\r\n", pRegFrame->eip, pvFault, pvRange));
     NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange); NOREF(pvUser);
 
@@ -347,6 +357,7 @@ DECLEXPORT(int) selmRCGuestLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
 
 
 #ifdef SELM_TRACK_GUEST_TSS_CHANGES
+
 /**
  * Read wrapper used by selmRCGuestTSSWriteHandler.
  * @returns VBox status code (appropriate for trap handling and GC return).
@@ -355,10 +366,8 @@ DECLEXPORT(int) selmRCGuestLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
  * @param   pvSrc       Guest address to read from.
  * @param   cb          The number of bytes to read.
  */
-DECLINLINE(int) selmRCReadTssBits(PVM pVM, void *pvDst, void const *pvSrc, size_t cb)
+DECLINLINE(int) selmRCReadTssBits(PVM pVM, PVMCPU pVCpu, void *pvDst, void const *pvSrc, size_t cb)
 {
-    PVMCPU pVCpu = VMMGetCpu0(pVM);
-
     int rc = MMGCRamRead(pVM, pvDst, (void *)pvSrc, cb);
     if (RT_SUCCESS(rc))
         return VINF_SUCCESS;
@@ -374,160 +383,164 @@ DECLINLINE(int) selmRCReadTssBits(PVM pVM, void *pvDst, void const *pvSrc, size_
     return rc;
 }
 
+
 /**
- * \#PF Virtual Handler callback for Guest write access to the Guest's own current TSS.
+ * Checks the guest TSS for changes after a write has been emulated.
  *
- * @returns VBox status code (appropriate for trap handling and GC return).
- * @param   pVM         Pointer to the VM.
- * @param   pVCpu       Pointer to the cross context CPU context for the
- *                      calling EMT.
- * @param   uErrorCode  CPU Error code.
- * @param   pRegFrame   Trap register frame.
- * @param   pvFault     The fault address (cr2).
- * @param   pvRange     The base address of the handled virtual range.
- * @param   offRange    The offset of the access into this range.
- *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
- * @param   pvUser      Unused.
+ * This is shared between the
+ *
+ * @returns Strict VBox status code appropriate for raw-mode returns.
+ * @param   pVM             Pointer to the cross context VM structure.
+ * @param   pVCpu           Pointer to the cross context virtual CPU structure.
+ * @param   offGuestTss     The offset into the TSS of the write that was made.
+ * @param   cbWrite         The number of bytes written.
  */
-DECLEXPORT(int) selmRCGuestTSSWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                             RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+VBOXSTRICTRC selmRCGuestTssPostWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestTss, uint32_t cbWrite)
 {
-    LogFlow(("selmRCGuestTSSWritePfHandler errcode=%x fault=%RGv offRange=%08x\n", (uint32_t)uErrorCode, pvFault, offRange));
-    NOREF(pvRange); NOREF(pvUser);
+    VBOXSTRICTRC rcStrict = VINF_SUCCESS;
 
     /*
-     * Try emulate the access.
+     * If it's on the same page as the esp0 and ss0 fields or actually one of them,
+     * then check if any of these has changed.
      */
-    uint32_t cb;
-    int rc = EMInterpretInstructionEx(pVCpu, pRegFrame, (RTGCPTR)(RTRCUINTPTR)pvFault, &cb);
-    if (    RT_SUCCESS(rc)
-        &&  cb)
+/** @todo just read the darn fields and put them on the stack. */
+    PCVBOXTSS pGuestTss = (PVBOXTSS)(uintptr_t)pVM->selm.s.GCPtrGuestTss;
+    if (   PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS(&pGuestTss->padding_ss0)
+        && PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS((uint8_t *)pGuestTss + offGuestTss)
+        && (   pGuestTss->esp0 !=  pVM->selm.s.Tss.esp1
+            || pGuestTss->ss0  != (pVM->selm.s.Tss.ss1 & ~1)) /* undo raw-r0 */
+       )
     {
-        rc = VINF_SUCCESS;
-
-        /*
-         * If it's on the same page as the esp0 and ss0 fields or actually one of them,
-         * then check if any of these has changed.
-         */
-        PCVBOXTSS pGuestTss = (PVBOXTSS)(uintptr_t)pVM->selm.s.GCPtrGuestTss;
-        if (    PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS(&pGuestTss->padding_ss0)
-            &&  PAGE_ADDRESS(&pGuestTss->esp0) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange)
-            &&  (    pGuestTss->esp0 !=  pVM->selm.s.Tss.esp1
-                 ||  pGuestTss->ss0  != (pVM->selm.s.Tss.ss1 & ~1)) /* undo raw-r0 */
-           )
+        Log(("selmRCGuestTSSWritePfHandler: R0 stack: %RTsel:%RGv -> %RTsel:%RGv\n",
+             (RTSEL)(pVM->selm.s.Tss.ss1 & ~1), (RTGCPTR)pVM->selm.s.Tss.esp1, (RTSEL)pGuestTss->ss0, (RTGCPTR)pGuestTss->esp0));
+        pVM->selm.s.Tss.esp1 = pGuestTss->esp0;
+        pVM->selm.s.Tss.ss1  = pGuestTss->ss0 | 1;
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandledChanged);
+    }
+# ifdef VBOX_WITH_RAW_RING1
+    else if (   EMIsRawRing1Enabled(pVM)
+             && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS(&pGuestTss->padding_ss1)
+             && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS((uint8_t *)pGuestTss + offGuestTss)
+             && (   pGuestTss->esp1 !=  pVM->selm.s.Tss.esp2
+                 || pGuestTss->ss1  != ((pVM->selm.s.Tss.ss2 & ~2) | 1)) /* undo raw-r1 */
+            )
+    {
+        Log(("selmRCGuestTSSWritePfHandler: R1 stack: %RTsel:%RGv -> %RTsel:%RGv\n",
+             (RTSEL)((pVM->selm.s.Tss.ss2 & ~2) | 1), (RTGCPTR)pVM->selm.s.Tss.esp2, (RTSEL)pGuestTss->ss1, (RTGCPTR)pGuestTss->esp1));
+        pVM->selm.s.Tss.esp2 = pGuestTss->esp1;
+        pVM->selm.s.Tss.ss2  = (pGuestTss->ss1 & ~1) | 2;
+        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandledChanged);
+    }
+# endif
+    /* Handle misaligned TSS in a safe manner (just in case). */
+    else if (   offGuestTss >= RT_UOFFSETOF(VBOXTSS, esp0)
+             && offGuestTss < RT_UOFFSETOF(VBOXTSS, padding_ss0))
+    {
+        struct
         {
-            Log(("selmRCGuestTSSWritePfHandler: R0 stack: %RTsel:%RGv -> %RTsel:%RGv\n",
-                 (RTSEL)(pVM->selm.s.Tss.ss1 & ~1), (RTGCPTR)pVM->selm.s.Tss.esp1, (RTSEL)pGuestTss->ss0, (RTGCPTR)pGuestTss->esp0));
-            pVM->selm.s.Tss.esp1 = pGuestTss->esp0;
-            pVM->selm.s.Tss.ss1  = pGuestTss->ss0 | 1;
-            STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandledChanged);
-        }
-#ifdef VBOX_WITH_RAW_RING1
-        else if (    EMIsRawRing1Enabled(pVM)
-                 &&  PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS(&pGuestTss->padding_ss1)
-                 &&  PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange)
-                 &&  (    pGuestTss->esp1 !=  pVM->selm.s.Tss.esp2
-                      ||  pGuestTss->ss1  != ((pVM->selm.s.Tss.ss2 & ~2) | 1)) /* undo raw-r1 */
-                )
+            uint32_t esp0;
+            uint16_t ss0;
+            uint16_t padding_ss0;
+        } s;
+        AssertCompileSize(s, 8);
+        rcStrict = selmRCReadTssBits(pVM, pVCpu, &s, &pGuestTss->esp0, sizeof(s));
+        if (   rcStrict == VINF_SUCCESS
+            && (    s.esp0 !=  pVM->selm.s.Tss.esp1
+                ||  s.ss0  != (pVM->selm.s.Tss.ss1 & ~1)) /* undo raw-r0 */
+           )
         {
-            Log(("selmRCGuestTSSWritePfHandler: R1 stack: %RTsel:%RGv -> %RTsel:%RGv\n",
-                 (RTSEL)((pVM->selm.s.Tss.ss2 & ~2) | 1), (RTGCPTR)pVM->selm.s.Tss.esp2, (RTSEL)pGuestTss->ss1, (RTGCPTR)pGuestTss->esp1));
-            pVM->selm.s.Tss.esp2 = pGuestTss->esp1;
-            pVM->selm.s.Tss.ss2  = (pGuestTss->ss1 & ~1) | 2;
+            Log(("selmRCGuestTSSWritePfHandler: R0 stack: %RTsel:%RGv -> %RTsel:%RGv [x-page]\n",
+                 (RTSEL)(pVM->selm.s.Tss.ss1 & ~1), (RTGCPTR)pVM->selm.s.Tss.esp1, (RTSEL)s.ss0, (RTGCPTR)s.esp0));
+            pVM->selm.s.Tss.esp1 = s.esp0;
+            pVM->selm.s.Tss.ss1  = s.ss0 | 1;
             STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandledChanged);
         }
-#endif
-        /* Handle misaligned TSS in a safe manner (just in case). */
-        else if (   offRange >= RT_UOFFSETOF(VBOXTSS, esp0)
-                 && offRange < RT_UOFFSETOF(VBOXTSS, padding_ss0))
-        {
-            struct
-            {
-                uint32_t esp0;
-                uint16_t ss0;
-                uint16_t padding_ss0;
-            } s;
-            AssertCompileSize(s, 8);
-            rc = selmRCReadTssBits(pVM, &s, &pGuestTss->esp0, sizeof(s));
-            if (    rc == VINF_SUCCESS
-                &&  (    s.esp0 !=  pVM->selm.s.Tss.esp1
-                     ||  s.ss0  != (pVM->selm.s.Tss.ss1 & ~1)) /* undo raw-r0 */
-               )
-            {
-                Log(("selmRCGuestTSSWritePfHandler: R0 stack: %RTsel:%RGv -> %RTsel:%RGv [x-page]\n",
-                     (RTSEL)(pVM->selm.s.Tss.ss1 & ~1), (RTGCPTR)pVM->selm.s.Tss.esp1, (RTSEL)s.ss0, (RTGCPTR)s.esp0));
-                pVM->selm.s.Tss.esp1 = s.esp0;
-                pVM->selm.s.Tss.ss1  = s.ss0 | 1;
-                STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandledChanged);
-            }
-        }
+    }
 
-        /*
-         * If VME is enabled we need to check if the interrupt redirection bitmap
-         * needs updating.
-         */
-        if (    offRange >= RT_UOFFSETOF(VBOXTSS, offIoBitmap)
-            &&  (CPUMGetGuestCR4(pVCpu) & X86_CR4_VME))
+    /*
+     * If VME is enabled we need to check if the interrupt redirection bitmap
+     * needs updating.
+     */
+    if (   offGuestTss >= RT_UOFFSETOF(VBOXTSS, offIoBitmap)
+        && (CPUMGetGuestCR4(pVCpu) & X86_CR4_VME))
+    {
+        if (offGuestTss - RT_UOFFSETOF(VBOXTSS, offIoBitmap) < sizeof(pGuestTss->offIoBitmap))
         {
-            if (offRange - RT_UOFFSETOF(VBOXTSS, offIoBitmap) < sizeof(pGuestTss->offIoBitmap))
+            uint16_t offIoBitmap = pGuestTss->offIoBitmap;
+            if (offIoBitmap != pVM->selm.s.offGuestIoBitmap)
             {
-                uint16_t offIoBitmap = pGuestTss->offIoBitmap;
-                if (offIoBitmap != pVM->selm.s.offGuestIoBitmap)
-                {
-                    Log(("TSS offIoBitmap changed: old=%#x new=%#x -> resync in ring-3\n", pVM->selm.s.offGuestIoBitmap, offIoBitmap));
-                    VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
-                    VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
-                }
-                else
-                    Log(("TSS offIoBitmap: old=%#x new=%#x [unchanged]\n", pVM->selm.s.offGuestIoBitmap, offIoBitmap));
+                Log(("TSS offIoBitmap changed: old=%#x new=%#x -> resync in ring-3\n", pVM->selm.s.offGuestIoBitmap, offIoBitmap));
+                VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
+                VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
             }
             else
-            {
-                /** @todo not sure how the partial case is handled; probably not allowed */
-                uint32_t offIntRedirBitmap = pVM->selm.s.offGuestIoBitmap - sizeof(pVM->selm.s.Tss.IntRedirBitmap);
-                if (   offIntRedirBitmap <= offRange
-                    && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) >= offRange + cb
-                    && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) <= pVM->selm.s.cbGuestTss)
-                {
-                    Log(("TSS IntRedirBitmap Changed: offIoBitmap=%x offIntRedirBitmap=%x cbTSS=%x offRange=%x cb=%x\n",
-                         pVM->selm.s.offGuestIoBitmap, offIntRedirBitmap, pVM->selm.s.cbGuestTss, offRange, cb));
-
-                    /** @todo only update the changed part. */
-                    for (uint32_t i = 0; i < sizeof(pVM->selm.s.Tss.IntRedirBitmap) / 8; i++)
-                    {
-                        rc = selmRCReadTssBits(pVM, &pVM->selm.s.Tss.IntRedirBitmap[i * 8],
-                                               (uint8_t *)pGuestTss + offIntRedirBitmap + i * 8, 8);
-                        if (rc != VINF_SUCCESS)
-                            break;
-                    }
-                    STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSRedir);
-                }
-            }
+                Log(("TSS offIoBitmap: old=%#x new=%#x [unchanged]\n", pVM->selm.s.offGuestIoBitmap, offIoBitmap));
         }
-
-        /* Return to ring-3 for a full resync if any of the above fails... (?) */
-        if (rc != VINF_SUCCESS)
+        else
         {
-            VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
-            VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
-            if (RT_SUCCESS(rc))
-                rc = VINF_SUCCESS;
+            /** @todo not sure how the partial case is handled; probably not allowed */
+            uint32_t offIntRedirBitmap = pVM->selm.s.offGuestIoBitmap - sizeof(pVM->selm.s.Tss.IntRedirBitmap);
+            if (   offIntRedirBitmap <= offGuestTss
+                && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) >= offGuestTss + cbWrite
+                && offIntRedirBitmap + sizeof(pVM->selm.s.Tss.IntRedirBitmap) <= pVM->selm.s.cbGuestTss)
+            {
+                Log(("TSS IntRedirBitmap Changed: offIoBitmap=%x offIntRedirBitmap=%x cbTSS=%x offGuestTss=%x cbWrite=%x\n",
+                     pVM->selm.s.offGuestIoBitmap, offIntRedirBitmap, pVM->selm.s.cbGuestTss, offGuestTss, cbWrite));
+
+                /** @todo only update the changed part. */
+                for (uint32_t i = 0; rcStrict == VINF_SUCCESS && i < sizeof(pVM->selm.s.Tss.IntRedirBitmap) / 8; i++)
+                    rcStrict = selmRCReadTssBits(pVM, pVCpu, &pVM->selm.s.Tss.IntRedirBitmap[i * 8],
+                                                 (uint8_t *)pGuestTss + offIntRedirBitmap + i * 8, 8);
+                STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSRedir);
+            }
         }
+    }
 
-        STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandled);
+    /*
+     * Return to ring-3 for a full resync if any of the above fails... (?)
+     */
+    if (rcStrict != VINF_SUCCESS)
+    {
+        VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
+        VMCPU_FF_SET(pVCpu, VMCPU_FF_TO_R3);
+        if (RT_SUCCESS(rcStrict))
+            rcStrict = VINF_SUCCESS;
     }
+
+    STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSHandled);
+    return rcStrict;
+}
+
+
+/**
+ * @callback_method_impl{FNPGMVIRTHANDLER, Guest TSS write access \#PF handler}
+ */
+DECLEXPORT(VBOXSTRICTRC) selmRCGuestTSSWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                      RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+{
+    LogFlow(("selmRCGuestTSSWritePfHandler errcode=%x fault=%RGv offRange=%08x\n", (uint32_t)uErrorCode, pvFault, offRange));
+    NOREF(pvRange); NOREF(pvUser);
+
+    /*
+     * Try emulate the access.
+     */
+    uint32_t cb;
+    VBOXSTRICTRC rcStrict = EMInterpretInstructionEx(pVCpu, pRegFrame, (RTGCPTR)(RTRCUINTPTR)pvFault, &cb);
+    if (   RT_SUCCESS(rcStrict)
+        && cb)
+        rcStrict = selmRCGuestTssPostWriteCheck(pVM, pVCpu, offRange, cb);
     else
     {
-        AssertMsg(RT_FAILURE(rc), ("cb=%u rc=%#x\n", cb, rc));
+        AssertMsg(RT_FAILURE(rcStrict), ("cb=%u rcStrict=%#x\n", cb, VBOXSTRICTRC_VAL(rcStrict)));
         VMCPU_FF_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS);
         STAM_COUNTER_INC(&pVM->selm.s.StatRCWriteGuestTSSUnhandled);
-        if (rc == VERR_EM_INTERPRETER)
-            rc = VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT;
+        if (rcStrict == VERR_EM_INTERPRETER)
+            rcStrict = VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT;
     }
-    return rc;
+    return rcStrict;
 }
-#endif /* SELM_TRACK_GUEST_TSS_CHANGES */
 
+#endif /* SELM_TRACK_GUEST_TSS_CHANGES */
 
 #ifdef SELM_TRACK_SHADOW_GDT_CHANGES
 /**
@@ -545,8 +558,8 @@ DECLEXPORT(int) selmRCGuestTSSWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Unused.
  */
-DECLEXPORT(int) selmRCShadowGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                              RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) selmRCShadowGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                       RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     LogRel(("FATAL ERROR: selmRCShadowGDTWritePfHandler: eip=%08X pvFault=%RGv pvRange=%RGv\r\n", pRegFrame->eip, pvFault, pvRange));
     NOREF(pVM); NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange); NOREF(pvUser);
@@ -571,8 +584,8 @@ DECLEXPORT(int) selmRCShadowGDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uE
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Unused.
  */
-DECLEXPORT(int) selmRCShadowLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                              RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) selmRCShadowLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                       RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     LogRel(("FATAL ERROR: selmRCShadowLDTWritePfHandler: eip=%08X pvFault=%RGv pvRange=%RGv\r\n", pRegFrame->eip, pvFault, pvRange));
     Assert(pvFault - (uintptr_t)pVM->selm.s.pvLdtRC < (unsigned)(65536U + PAGE_SIZE));
@@ -598,8 +611,8 @@ DECLEXPORT(int) selmRCShadowLDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uE
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Unused.
  */
-DECLEXPORT(int) selmRCShadowTSSWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                              RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) selmRCShadowTSSWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                       RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     LogRel(("FATAL ERROR: selmRCShadowTSSWritePfHandler: eip=%08X pvFault=%RGv pvRange=%RGv\r\n", pRegFrame->eip, pvFault, pvRange));
     NOREF(pVM); NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange); NOREF(pvUser);
diff --git a/src/VBox/VMM/VMMRC/TRPMRC.cpp b/src/VBox/VMM/VMMRC/TRPMRC.cpp
index 0405fea..c37548c 100644
--- a/src/VBox/VMM/VMMRC/TRPMRC.cpp
+++ b/src/VBox/VMM/VMMRC/TRPMRC.cpp
@@ -104,8 +104,8 @@ VMMRCDECL(void) TRPMGCHyperReturnToHost(PVM pVM, int rc)
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Unused.
  */
-DECLEXPORT(int) trpmRCGuestIDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                             RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) trpmRCGuestIDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                      RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     uint16_t    cbIDT;
     RTGCPTR     GCPtrIDT    = (RTGCPTR)CPUMGetGuestIDTR(pVCpu, &cbIDT);
@@ -170,8 +170,8 @@ DECLEXPORT(int) trpmRCGuestIDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uEr
  *                      (If it's a EIP range this is the EIP, if not it's pvFault.)
  * @param   pvUser      Unused.
  */
-DECLEXPORT(int) trpmRCShadowIDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame, RTGCPTR pvFault,
-                                              RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
+DECLEXPORT(VBOXSTRICTRC) trpmRCShadowIDTWritePfHandler(PVM pVM, PVMCPU pVCpu, RTGCUINT uErrorCode, PCPUMCTXCORE pRegFrame,
+                                                       RTGCPTR pvFault, RTGCPTR pvRange, uintptr_t offRange, void *pvUser)
 {
     LogRel(("FATAL ERROR: trpmRCShadowIDTWritePfHandler: eip=%08X pvFault=%RGv pvRange=%08RGv\r\n", pRegFrame->eip, pvFault, pvRange));
     NOREF(uErrorCode); NOREF(offRange); NOREF(pvUser);
diff --git a/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp b/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
index 7fe898e..b8b6623 100644
--- a/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
+++ b/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp
@@ -212,7 +212,8 @@ static int trpmGCExitTrap(PVM pVM, PVMCPU pVCpu, int rc, PCPUMCTXCORE pRegFrame)
              || VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TIMER | VMCPU_FF_TO_R3 | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC
                                           | VMCPU_FF_REQUEST | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL
                                           | VMCPU_FF_PDM_CRITSECT
-                                          | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT | VMCPU_FF_SELM_SYNC_TSS
+                                          | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT
+                                          | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT
                                    )
             )
        )
@@ -243,6 +244,8 @@ static int trpmGCExitTrap(PVM pVM, PVMCPU pVCpu, int rc, PCPUMCTXCORE pRegFrame)
         /* Pending GDT/LDT/TSS sync. */
         else if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT | VMCPU_FF_SELM_SYNC_TSS))
             rc = VINF_SELM_SYNC_GDT;
+        else if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TRPM_SYNC_IDT))
+            rc = VINF_EM_RAW_TO_R3;
         /* Pending interrupt: dispatch it. */
         else if (    VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC)
                  && !VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)
@@ -607,7 +610,7 @@ DECLASM(int) TRPMGCTrap06Handler(PTRPMCPU pTrpmCpu, PCPUMCTXCORE pRegFrame)
         else if (Cpu.pCurInstr->uOpcode == OP_MONITOR)
         {
             LogFlow(("TRPMGCTrap06Handler: -> EMInterpretInstructionCPU\n"));
-            rc = EMInterpretInstructionDisasState(pVCpu, &Cpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR);
+            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, &Cpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR));
         }
         else if (GIMShouldTrapXcptUD(pVCpu))
         {
@@ -871,7 +874,7 @@ static int trpmGCTrap0dHandlerRing0(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFram
         case OP_RDMSR:
         case OP_WRMSR:
         {
-            rc = EMInterpretInstructionDisasState(pVCpu, pCpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR);
+            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, pCpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR));
             if (rc == VERR_EM_INTERPRETER)
                 rc = VINF_EM_RAW_EXCEPTION_PRIVILEGED;
             TRPM_EXIT_DBG_HOOK(0xd);
@@ -958,7 +961,7 @@ static int trpmGCTrap0dHandlerRing3(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFram
         case OP_RDTSC:
         case OP_RDPMC:
         {
-            rc = EMInterpretInstructionDisasState(pVCpu, pCpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR);
+            rc = VBOXSTRICTRC_TODO(EMInterpretInstructionDisasState(pVCpu, pCpu, pRegFrame, PC, EMCODETYPE_SUPERVISOR));
             if (rc == VERR_EM_INTERPRETER)
                 rc = VINF_EM_RAW_EXCEPTION_PRIVILEGED;
             TRPM_EXIT_DBG_HOOK(0xd);
@@ -1123,7 +1126,7 @@ static int trpmGCTrap0dHandler(PVM pVM, PTRPMCPU pTrpmCpu, PCPUMCTXCORE pRegFram
                     /* Raise #DB. */
                     TRPMResetTrap(pVCpu);
                     TRPMAssertTrap(pVCpu, X86_XCPT_DE, TRPM_TRAP);
-                    if (rcStrict)
+                    if (rcStrict != VINF_SUCCESS)
                         LogRel(("trpmGCTrap0dHandler: Overriding %Rrc with #DB on I/O port access.\n", VBOXSTRICTRC_VAL(rcStrict)));
                     rcStrict = VINF_EM_RAW_GUEST_TRAP;
                 }
@@ -1265,7 +1268,6 @@ DECLASM(int) TRPMGCTrap0eHandler(PTRPMCPU pTrpmCpu, PCPUMCTXCORE pRegFrame)
     switch (rc)
     {
         case VINF_EM_RAW_EMULATE_INSTR:
-        case VINF_EM_RAW_EMULATE_INSTR_PD_FAULT:
         case VINF_EM_RAW_EMULATE_INSTR_GDT_FAULT:
         case VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT:
         case VINF_EM_RAW_EMULATE_INSTR_LDT_FAULT:
diff --git a/src/VBox/VMM/VMMRC/VMMRC.def b/src/VBox/VMM/VMMRC/VMMRC.def
index b6ceafd..5cddd40 100644
--- a/src/VBox/VMM/VMMRC/VMMRC.def
+++ b/src/VBox/VMM/VMMRC/VMMRC.def
@@ -36,7 +36,9 @@ EXPORTS
     PGMPhysWriteGCPtr
     PGMPhysSimpleDirtyWriteGCPtr
     RTLogDefaultInstance
-    RTLogRelDefaultInstance
+    RTLogDefaultInstanceEx
+    RTLogRelGetDefaultInstance
+    RTLogRelGetDefaultInstanceEx
     RTTimeMilliTS
     RTTraceBufAddMsgF
     RTTraceBufAddPos
diff --git a/src/VBox/VMM/include/CSAMInternal.h b/src/VBox/VMM/include/CSAMInternal.h
index f4d5371..6ba5e67 100644
--- a/src/VBox/VMM/include/CSAMInternal.h
+++ b/src/VBox/VMM/include/CSAMInternal.h
@@ -281,8 +281,9 @@ inline RTRCPTR CSAMResolveBranch(PDISCPUSTATE pCpu, RTRCPTR pBranchInstrGC)
 #endif
 }
 
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER)  csamCodePageWriteHandler;
 RT_C_DECLS_BEGIN
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) csamRCCodePageWritePfHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    csamRCCodePageWritePfHandler;
 RT_C_DECLS_END
 
 #endif
diff --git a/src/VBox/VMM/include/EMHandleRCTmpl.h b/src/VBox/VMM/include/EMHandleRCTmpl.h
index fcb8827..80e80a6 100644
--- a/src/VBox/VMM/include/EMHandleRCTmpl.h
+++ b/src/VBox/VMM/include/EMHandleRCTmpl.h
@@ -260,13 +260,6 @@ int emR3HmHandleRC(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, int rc)
         case VINF_EM_RAW_EMULATE_INSTR_TSS_FAULT:
             rc = emR3ExecuteInstruction(pVM, pVCpu, "TSS FAULT: ");
             break;
-        case VINF_EM_RAW_EMULATE_INSTR_PD_FAULT:
-            rc = emR3ExecuteInstruction(pVM, pVCpu, "PD FAULT: ");
-            break;
-        case VINF_EM_RAW_EMULATE_INSTR_HLT:
-            /** @todo skip instruction and go directly to the halt state. (see REM for implementation details) */
-            rc = emR3RawPrivileged(pVM, pVCpu);
-            break;
 #endif
 
 #ifdef EMHANDLERC_WITH_PATM
@@ -283,15 +276,10 @@ int emR3HmHandleRC(PVM pVM, PVMCPU pVCpu, PCPUMCTX pCtx, int rc)
             break;
 
         case VINF_EM_RAW_INJECT_TRPM_EVENT:
-#ifdef VBOX_WITH_FIRST_IEM_STEP
             rc = VBOXSTRICTRC_VAL(IEMInjectTrpmEvent(pVCpu));
             /* The following condition should be removed when IEM_IMPLEMENTS_TASKSWITCH becomes true. */
             if (rc == VERR_IEM_ASPECT_NOT_IMPLEMENTED)
                 rc = emR3ExecuteInstruction(pVM, pVCpu, "EVENT: ");
-#else
-            /* Do the same thing as VINF_EM_RAW_EMULATE_INSTR. */
-            rc = emR3ExecuteInstruction(pVM, pVCpu, "EVENT: ");
-#endif
             break;
 
 
diff --git a/src/VBox/VMM/include/EMInternal.h b/src/VBox/VMM/include/EMInternal.h
index 11a7ac3..0d8842d 100644
--- a/src/VBox/VMM/include/EMInternal.h
+++ b/src/VBox/VMM/include/EMInternal.h
@@ -266,12 +266,7 @@ typedef struct EMSTATS
     /** @name Privileged Instructions Ending Up In HC.
      * @{ */
     STAMCOUNTER             StatIoRestarted;
-#ifdef VBOX_WITH_FIRST_IEM_STEP
     STAMCOUNTER             StatIoIem;
-#else
-    STAMCOUNTER             StatIn;
-    STAMCOUNTER             StatOut;
-#endif
     STAMCOUNTER             StatCli;
     STAMCOUNTER             StatSti;
     STAMCOUNTER             StatInvlpg;
diff --git a/src/VBox/VMM/include/HMInternal.h b/src/VBox/VMM/include/HMInternal.h
index 6744d92..0877a39 100644
--- a/src/VBox/VMM/include/HMInternal.h
+++ b/src/VBox/VMM/include/HMInternal.h
@@ -950,9 +950,6 @@ typedef struct HMCPU
     STAMCOUNTER             StatExitApicAccess;
     STAMCOUNTER             StatPendingHostIrq;
 
-    STAMCOUNTER             StatPreemptPreempting;
-    STAMCOUNTER             StatPreemptSaveHostState;
-
     STAMCOUNTER             StatFlushPage;
     STAMCOUNTER             StatFlushPageManual;
     STAMCOUNTER             StatFlushPhysPageManual;
@@ -975,6 +972,8 @@ typedef struct HMCPU
     STAMCOUNTER             StatSwitchMaxResumeLoops;
     STAMCOUNTER             StatSwitchHltToR3;
     STAMCOUNTER             StatSwitchApicAccessToR3;
+    STAMCOUNTER             StatSwitchPreempt;
+    STAMCOUNTER             StatSwitchPreemptSaveHostState;
 
     STAMCOUNTER             StatTscParavirt;
     STAMCOUNTER             StatTscOffset;
diff --git a/src/VBox/VMM/include/IEMInternal.h b/src/VBox/VMM/include/IEMInternal.h
index 5b6a708..920f174 100644
--- a/src/VBox/VMM/include/IEMInternal.h
+++ b/src/VBox/VMM/include/IEMInternal.h
@@ -33,6 +33,12 @@ RT_C_DECLS_BEGIN
  * @{
  */
 
+/** For expanding symbol in slickedit and other products tagging and
+ *  crossreferencing IEM symbols. */
+#ifndef IEM_STATIC
+# define IEM_STATIC static
+#endif
+
 /** @def IEM_VERIFICATION_MODE_FULL
  * Shorthand for:
  *    defined(IEM_VERIFICATION_MODE) && !defined(IEM_VERIFICATION_MODE_MINIMAL)
diff --git a/src/VBox/VMM/include/PATMInternal.h b/src/VBox/VMM/include/PATMInternal.h
index 525cb14..a864f39 100644
--- a/src/VBox/VMM/include/PATMInternal.h
+++ b/src/VBox/VMM/include/PATMInternal.h
@@ -686,4 +686,6 @@ void patmR3DbgTerm(PVM pVM);
 void patmR3DbgReset(PVM pVM);
 void patmR3DbgAddPatch(PVM pVM, PPATMPATCHREC pPatchRec);
 
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER) patmVirtPageHandler;
+
 #endif
diff --git a/src/VBox/VMM/include/PDMInternal.h b/src/VBox/VMM/include/PDMInternal.h
index 7d32f63..968c466 100644
--- a/src/VBox/VMM/include/PDMInternal.h
+++ b/src/VBox/VMM/include/PDMInternal.h
@@ -175,7 +175,11 @@ typedef struct PDMDEVINSINT
  * This is used by PDMR3PowerOn, PDMR3Resume, PDMR3Suspend and PDMR3PowerOff
  * to make sure each device gets exactly one notification for each of those
  * events.  PDMR3Resume and PDMR3PowerOn also makes use of it to bail out on
- * a failure (already resumed/powered-on devices are suspended). */
+ * a failure (already resumed/powered-on devices are suspended).
+ * PDMR3PowerOff resets this flag once before going through the devices to make sure
+ * every device gets the power off notification even if it was suspended before with
+ * PDMR3Suspend.
+ */
 #define PDMDEVINSINT_FLAGS_SUSPENDED     RT_BIT_32(1)
 /** Indicates that the device has been reset already.  Used by PDMR3Reset. */
 #define PDMDEVINSINT_FLAGS_RESET         RT_BIT_32(2)
diff --git a/src/VBox/VMM/include/PGMInternal.h b/src/VBox/VMM/include/PGMInternal.h
index 0b67d46..d2276bc 100644
--- a/src/VBox/VMM/include/PGMInternal.h
+++ b/src/VBox/VMM/include/PGMInternal.h
@@ -589,12 +589,14 @@ typedef struct PGMPHYSHANDLERTYPEINT
     PGMPHYSHANDLERKIND                  enmKind;
     /** The PGM_PAGE_HNDL_PHYS_STATE_XXX value corresponding to enmKind. */
     uint32_t                            uState;
+    /** Pointer to RC callback function. */
+    RCPTRTYPE(PFNPGMPHYSHANDLER)        pfnHandlerRC;
     /** Pointer to RC callback function for \#PFs. */
     RCPTRTYPE(PFNPGMRZPHYSPFHANDLER)    pfnPfHandlerRC;
-    /** Explicit alignment padding. */
-    RTRCPTR                             RCPtrPadding;
     /** Pointer to R3 callback function. */
     R3PTRTYPE(PFNPGMPHYSHANDLER)        pfnHandlerR3;
+    /** Pointer to R0 callback function. */
+    R0PTRTYPE(PFNPGMPHYSHANDLER)        pfnHandlerR0;
     /** Pointer to R0 callback function for \#PFs. */
     R0PTRTYPE(PFNPGMRZPHYSPFHANDLER)    pfnPfHandlerR0;
     /** Description / Name. For easing debugging. */
@@ -708,13 +710,15 @@ typedef struct PGMVIRTANDLERTYPEINT
     uint32_t                            uState;
     /** Whether the pvUserRC argument should be automatically relocated or not. */
     bool                                fRelocUserRC;
-    bool                                afPadding[3];
+    bool                                afPadding[HC_ARCH_BITS == 64 ? 7 : 3];
+    /** Pointer to RC callback function. */
+    RCPTRTYPE(PFNPGMVIRTHANDLER)        pfnHandlerRC;
     /** Pointer to RC callback function for \#PFs. */
     RCPTRTYPE(PFNPGMRCVIRTPFHANDLER)    pfnPfHandlerRC;
     /** Pointer to the R3 callback function for invalidation. */
     R3PTRTYPE(PFNPGMR3VIRTINVALIDATE)   pfnInvalidateR3;
     /** Pointer to R3 callback function. */
-    R3PTRTYPE(PFNPGMR3VIRTHANDLER)      pfnHandlerR3;
+    R3PTRTYPE(PFNPGMVIRTHANDLER)        pfnHandlerR3;
     /** Description / Name. For easing debugging. */
     R3PTRTYPE(const char *)             pszDesc;
 } PGMVIRTHANDLERTYPEINT;
@@ -2709,7 +2713,8 @@ typedef struct PGMTREES
     AVLROGCPHYSTREE                 PhysHandlers;
     /** Virtual access handlers (AVL range + GC ptr tree). */
     AVLROGCPTRTREE                  VirtHandlers;
-    /** Virtual access handlers (Phys range AVL range + offsetptr tree). */
+    /** Virtual access handlers (Phys range AVL range + offsetptr tree).
+     * @remarks Handler of the hypervisor kind are of course not present.  */
     AVLROGCPHYSTREE                 PhysToVirtHandlers;
     /** Virtual access handlers for the hypervisor (AVL range + GC ptr tree). */
     AVLROGCPTRTREE                  HyperVirtHandlers;
@@ -4118,7 +4123,7 @@ DECLCALLBACK(void) pgmR3MapInfo(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs
 void            pgmR3HandlerPhysicalUpdateAll(PVM pVM);
 bool            pgmHandlerPhysicalIsAll(PVM pVM, RTGCPHYS GCPhys);
 void            pgmHandlerPhysicalResetAliasedPage(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhysPage, bool fDoAccounting);
-int             pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, PPGMVIRTHANDLER *ppVirt, unsigned *piPage);
+PPGMVIRTHANDLER pgmHandlerVirtualFindByPhysAddr(PVM pVM, RTGCPHYS GCPhys, unsigned *piPage);
 DECLCALLBACK(int) pgmHandlerVirtualResetOne(PAVLROGCPTRNODECORE pNode, void *pvUser);
 #if defined(VBOX_STRICT) || defined(LOG_ENABLED)
 void            pgmHandlerVirtualDumpPhysPages(PVM pVM);
@@ -4145,10 +4150,11 @@ int             pgmPhysGCPhys2CCPtrInternalDepr(PVM pVM, PPGMPAGE pPage, RTGCPHY
 int             pgmPhysGCPhys2CCPtrInternal(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, void **ppv, PPGMPAGEMAPLOCK pLock);
 int             pgmPhysGCPhys2CCPtrInternalReadOnly(PVM pVM, PPGMPAGE pPage, RTGCPHYS GCPhys, const void **ppv, PPGMPAGEMAPLOCK pLock);
 void            pgmPhysReleaseInternalPageMappingLock(PVM pVM, PPGMPAGEMAPLOCK pLock);
-PGM_ALL_CB2_DECL(FNPGMPHYSHANDLER) pgmPhysRomWriteHandler;
+PGM_ALL_CB2_DECL(FNPGMPHYSHANDLER)  pgmPhysRomWriteHandler;
 #ifndef IN_RING3
-DECLEXPORT(FNPGMRZPHYSPFHANDLER) pgmPhysPfHandlerRedirectToHC;
-DECLEXPORT(FNPGMRZPHYSPFHANDLER) pgmPhysRomWritePfHandler;
+DECLEXPORT(FNPGMPHYSHANDLER)        pgmPhysHandlerRedirectToHC;
+DECLEXPORT(FNPGMRZPHYSPFHANDLER)    pgmPhysPfHandlerRedirectToHC;
+DECLEXPORT(FNPGMRZPHYSPFHANDLER)    pgmPhysRomWritePfHandler;
 #endif
 int             pgmPhysFreePage(PVM pVM, PGMMFREEPAGESREQ pReq, uint32_t *pcPendingPages, PPGMPAGE pPage, RTGCPHYS GCPhys);
 void            pgmPhysInvalidRamRangeTlbs(PVM pVM);
diff --git a/src/VBox/VMM/include/SELMInternal.h b/src/VBox/VMM/include/SELMInternal.h
index 349ab8c..565db38 100644
--- a/src/VBox/VMM/include/SELMInternal.h
+++ b/src/VBox/VMM/include/SELMInternal.h
@@ -229,16 +229,23 @@ typedef struct SELM
 
 RT_C_DECLS_BEGIN
 
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCGuestGDTWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCGuestLDTWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCGuestTSSWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCShadowGDTWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCShadowLDTWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) selmRCShadowTSSWritePfHandler;
-
-void           selmSetRing1Stack(PVM pVM, uint32_t ss, RTGCPTR32 esp);
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER)  selmGuestGDTWriteHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCGuestGDTWritePfHandler;
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER)  selmGuestLDTWriteHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCGuestLDTWritePfHandler;
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER)  selmGuestTSSWriteHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCGuestTSSWritePfHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCShadowGDTWritePfHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCShadowLDTWritePfHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    selmRCShadowTSSWritePfHandler;
+
+void            selmRCSyncGdtSegRegs(PVM pVM, PVMCPU pVCpu, PCPUMCTXCORE pRegFrame, unsigned iGDTEntry);
+void            selmRCGuestGdtPreWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestGdt, uint32_t cbWrite, PCPUMCTX pCtx);
+VBOXSTRICTRC    selmRCGuestGdtPostWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestTss, uint32_t cbWrite, PCPUMCTX pCtx);
+VBOXSTRICTRC    selmRCGuestTssPostWriteCheck(PVM pVM, PVMCPU pVCpu, uint32_t offGuestTss, uint32_t cbWrite);
+void            selmSetRing1Stack(PVM pVM, uint32_t ss, RTGCPTR32 esp);
 #ifdef VBOX_WITH_RAW_RING1
-void           selmSetRing2Stack(PVM pVM, uint32_t ss, RTGCPTR32 esp);
+void            selmSetRing2Stack(PVM pVM, uint32_t ss, RTGCPTR32 esp);
 #endif
 
 RT_C_DECLS_END
diff --git a/src/VBox/VMM/include/TRPMInternal.h b/src/VBox/VMM/include/TRPMInternal.h
index 0be7a7c..fa0c558 100644
--- a/src/VBox/VMM/include/TRPMInternal.h
+++ b/src/VBox/VMM/include/TRPMInternal.h
@@ -24,6 +24,22 @@
 #include <VBox/vmm/cpum.h>
 #include <VBox/vmm/pgm.h>
 
+RT_C_DECLS_BEGIN
+
+
+/** @defgroup grp_trpm_int   Internals
+ * @ingroup grp_trpm
+ * @internal
+ * @{
+ */
+
+
+#ifdef VBOX_WITH_RAW_MODE
+/** Enable or disable tracking of Guest's IDT. */
+# define TRPM_TRACK_GUEST_IDT_CHANGES
+/** Enable or disable tracking of Shadow IDT. */
+# define TRPM_TRACK_SHADOW_IDT_CHANGES
+#endif
 
 
 /** Enable to allow trap forwarding in GC. */
@@ -34,14 +50,6 @@
 /** First interrupt handler. Used for validating input. */
 #define TRPM_HANDLER_INT_BASE  0x20
 
-RT_C_DECLS_BEGIN
-
-
-/** @defgroup grp_trpm_int   Internals
- * @ingroup grp_trpm
- * @internal
- * @{
- */
 
 /** @name   TRPMGCTrapIn* flags.
  * The lower bits are offsets into the CPUMCTXCORE structure.
@@ -248,8 +256,9 @@ typedef TRPMCPU *PTRPMCPU;
 #pragma pack()
 
 
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) trpmRCGuestIDTWritePfHandler;
-DECLEXPORT(FNPGMRCVIRTPFHANDLER) trpmRCShadowIDTWritePfHandler;
+PGM_ALL_CB2_DECL(FNPGMVIRTHANDLER)  trpmGuestIDTWriteHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    trpmRCGuestIDTWritePfHandler;
+DECLEXPORT(FNPGMRCVIRTPFHANDLER)    trpmRCShadowIDTWritePfHandler;
 
 /**
  * Clear guest trap/interrupt gate handler
diff --git a/src/VBox/VMM/include/VMMInternal.h b/src/VBox/VMM/include/VMMInternal.h
index d02c738..79cf915 100644
--- a/src/VBox/VMM/include/VMMInternal.h
+++ b/src/VBox/VMM/include/VMMInternal.h
@@ -349,7 +349,6 @@ typedef struct VMM
     STAMCOUNTER                 StatRZRetGDTFault;
     STAMCOUNTER                 StatRZRetIDTFault;
     STAMCOUNTER                 StatRZRetTSSFault;
-    STAMCOUNTER                 StatRZRetPDFault;
     STAMCOUNTER                 StatRZRetCSAMTask;
     STAMCOUNTER                 StatRZRetSyncCR3;
     STAMCOUNTER                 StatRZRetMisc;
diff --git a/src/VBox/VMM/testcase/tstVMStruct.h b/src/VBox/VMM/testcase/tstVMStruct.h
index d5a918a..06553ad 100644
--- a/src/VBox/VMM/testcase/tstVMStruct.h
+++ b/src/VBox/VMM/testcase/tstVMStruct.h
@@ -790,7 +790,9 @@
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, enmKind);
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, uState);
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pfnHandlerR3);
+    GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pfnHandlerR0);
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pfnPfHandlerR0);
+    GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pfnHandlerRC);
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pfnPfHandlerRC);
     GEN_CHECK_OFF(PGMPHYSHANDLERTYPEINT, pszDesc);
     GEN_CHECK_SIZE(PGMPHYS2VIRTHANDLER);
@@ -810,6 +812,7 @@
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, enmKind);
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, uState);
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, fRelocUserRC);
+    GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, pfnHandlerRC);
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, pfnPfHandlerRC);
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, pfnInvalidateR3);
     GEN_CHECK_OFF(PGMVIRTHANDLERTYPEINT, pfnHandlerR3);
diff --git a/src/VBox/ValidationKit/testdriver/vbox.py b/src/VBox/ValidationKit/testdriver/vbox.py
index d3e68f3..13d9a58 100644
--- a/src/VBox/ValidationKit/testdriver/vbox.py
+++ b/src/VBox/ValidationKit/testdriver/vbox.py
@@ -27,7 +27,7 @@ CDDL are applicable instead of those of the GPL.
 You may elect to license modified versions of this file under the
 terms and conditions of either the GPL or the CDDL or both.
 """
-__version__ = "$Revision: 100279 $"
+__version__ = "$Revision: 100505 $"
 
 
 # Standard Python imports.
@@ -403,6 +403,8 @@ class Build(object): # pylint: disable=R0903
             self.sGuestAdditionsIso = '%s/VBoxGuestAdditions.iso' % (self.sInstallPath,);
         elif self.sOs == 'darwin':
             self.sGuestAdditionsIso = '%s/VBoxGuestAdditions.iso' % (self.sInstallPath,);
+        elif self.sOs == 'solaris':
+            self.sGuestAdditionsIso = '%s/VBoxGuestAdditions.iso' % (self.sInstallPath,);
         else:
             self.sGuestAdditionsIso = '%s/additions/VBoxGuestAdditions.iso' % (self.sInstallPath,);
 
diff --git a/src/VBox/ValidationKit/testdriver/vboxwrappers.py b/src/VBox/ValidationKit/testdriver/vboxwrappers.py
index 5602572..8602fbe 100644
--- a/src/VBox/ValidationKit/testdriver/vboxwrappers.py
+++ b/src/VBox/ValidationKit/testdriver/vboxwrappers.py
@@ -27,7 +27,7 @@ CDDL are applicable instead of those of the GPL.
 You may elect to license modified versions of this file under the
 terms and conditions of either the GPL or the CDDL or both.
 """
-__version__ = "$Revision: 100185 $"
+__version__ = "$Revision: 100512 $"
 
 
 # Standard Python imports.
@@ -2249,7 +2249,7 @@ class SessionWrapper(TdTaskBase):
                and self.oVM.state is vboxcon.MachineState_Running:
                 self.o.console.pause();
             if self.fpApiVer >= 5.0:
-                oProgressCom = self.o.machine.takeSnapshot(sName, sDescription, True);
+                (oProgressCom, _) = self.o.machine.takeSnapshot(sName, sDescription, True);
             else:
                 oProgressCom = self.o.console.takeSnapshot(sName, sDescription);
             oProgress = ProgressWrapper(oProgressCom, self.oVBoxMgr, self.oTstDrv, 'Take Snapshot %s' % (sName));
diff --git a/src/recompiler/Sun/crt/stdio.h b/src/recompiler/Sun/crt/stdio.h
index 35f9326..6f106df 100644
--- a/src/recompiler/Sun/crt/stdio.h
+++ b/src/recompiler/Sun/crt/stdio.h
@@ -60,8 +60,8 @@ DECLINLINE(int) fprintf(FILE *ignored, const char *pszFormat, ...)
 }
 
 #define fflush(file)            RTLogFlush(NULL)
-#define printf(...)             LogIt(LOG_INSTANCE, 0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
-#define fprintf(logfile, ...)   LogIt(LOG_INSTANCE, 0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
+#define printf(...)             LogIt(0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
+#define fprintf(logfile, ...)   LogIt(0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
 
 #ifdef DEBUG_TMP_LOGGING
 # error "DEBUG_TMP_LOGGING doesn't work with the Sun/crt/stdio.h wrapper."
diff --git a/src/recompiler/VBoxREMWrapper.cpp b/src/recompiler/VBoxREMWrapper.cpp
index ba12b1e..4e2c766 100644
--- a/src/recompiler/VBoxREMWrapper.cpp
+++ b/src/recompiler/VBoxREMWrapper.cpp
@@ -1083,6 +1083,10 @@ static const REMPARMDESC g_aArgsRTAssertMsg2V[] =
     { REMPARMDESC_FLAGS_INT,        sizeof(const char *),       NULL },
     { REMPARMDESC_FLAGS_VALIST,     0,                          NULL }
 };
+static const REMPARMDESC g_aArgsRTLogGetDefaultInstanceEx[] =
+{
+    { REMPARMDESC_FLAGS_INT,        sizeof(uint32_t),           NULL }
+};
 static const REMPARMDESC g_aArgsRTLogFlags[] =
 {
     { REMPARMDESC_FLAGS_INT,        sizeof(PRTLOGGER),          NULL },
@@ -1336,7 +1340,9 @@ static REMFNDESC g_aRTImports[] =
     { "RTAssertMsg2Weak",                       (void *)(uintptr_t)&RTAssertMsg2Weak,               &g_aArgsRTAssertMsg2[0],                    RT_ELEMENTS(g_aArgsRTAssertMsg2),                      REMFNDESC_FLAGS_RET_VOID | REMFNDESC_FLAGS_ELLIPSIS, 0, NULL },
     { "RTAssertShouldPanic",                    (void *)(uintptr_t)&RTAssertShouldPanic,            NULL,                                       0,                                                     REMFNDESC_FLAGS_RET_INT,    sizeof(bool),       NULL },
     { "RTLogDefaultInstance",                   (void *)(uintptr_t)&RTLogDefaultInstance,           NULL,                                       0,                                                     REMFNDESC_FLAGS_RET_INT,    sizeof(PRTLOGGER),  NULL },
-    { "RTLogRelDefaultInstance",                (void *)(uintptr_t)&RTLogRelDefaultInstance,        NULL,                                       0,                                                     REMFNDESC_FLAGS_RET_INT,    sizeof(PRTLOGGER),  NULL },
+    { "RTLogRelGetDefaultInstance",             (void *)(uintptr_t)&RTLogRelGetDefaultInstance,     NULL,                                       0,                                                     REMFNDESC_FLAGS_RET_INT,    sizeof(PRTLOGGER),  NULL },
+    { "RTLogDefaultInstanceEx",                 (void *)(uintptr_t)&RTLogDefaultInstance,           &g_aArgsRTLogGetDefaultInstanceEx[0],       RT_ELEMENTS(g_aArgsRTLogGetDefaultInstanceEx),         REMFNDESC_FLAGS_RET_INT,    sizeof(PRTLOGGER),  NULL },
+    { "RTLogRelGetDefaultInstanceEx",           (void *)(uintptr_t)&RTLogRelGetDefaultInstance,     &g_aArgsRTLogGetDefaultInstanceEx[0],       RT_ELEMENTS(g_aArgsRTLogGetDefaultInstanceEx),         REMFNDESC_FLAGS_RET_INT,    sizeof(PRTLOGGER),  NULL },
     { "RTLogFlags",                             (void *)(uintptr_t)&RTLogFlags,                     &g_aArgsRTLogFlags[0],                      RT_ELEMENTS(g_aArgsRTLogFlags),                        REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
     { "RTLogFlush",                             (void *)(uintptr_t)&RTLogFlush,                     &g_aArgsRTLogFlush[0],                      RT_ELEMENTS(g_aArgsRTLogFlush),                        REMFNDESC_FLAGS_RET_INT,    sizeof(int),        NULL },
     { "RTLogLoggerEx",                          (void *)(uintptr_t)&RTLogLoggerEx,                  &g_aArgsRTLogLoggerEx[0],                   RT_ELEMENTS(g_aArgsRTLogLoggerEx),                     REMFNDESC_FLAGS_RET_VOID | REMFNDESC_FLAGS_ELLIPSIS, 0, NULL },
diff --git a/src/recompiler/VBoxRecompiler.c b/src/recompiler/VBoxRecompiler.c
index 5a7b862..6ad0418 100644
--- a/src/recompiler/VBoxRecompiler.c
+++ b/src/recompiler/VBoxRecompiler.c
@@ -1971,7 +1971,7 @@ void remR3DmaRun(CPUX86State *env)
 void remR3TimersRun(CPUX86State *env)
 {
     LogFlow(("remR3TimersRun:\n"));
-    LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("remR3TimersRun\n"));
+    LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("remR3TimersRun\n"));
     remR3ProfileStop(STATS_QEMU_RUN_EMULATED_CODE);
     remR3ProfileStart(STATS_QEMU_RUN_TIMERS);
     TMR3TimerQueuesDo(env->pVM);
@@ -3564,7 +3564,8 @@ void remR3PhysRead(RTGCPHYS SrcGCPhys, void *pvDst, unsigned cb)
 {
     STAM_PROFILE_ADV_START(&gStatMemRead, a);
     VBOX_CHECK_ADDR(SrcGCPhys);
-    PGMPhysRead(cpu_single_env->pVM, SrcGCPhys, pvDst, cb, PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysRead(cpu_single_env->pVM, SrcGCPhys, pvDst, cb, PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
 #ifdef VBOX_DEBUG_PHYS
     LogRel(("read(%d): %08x\n", cb, (uint32_t)SrcGCPhys));
 #endif
@@ -3735,7 +3736,8 @@ void remR3PhysWrite(RTGCPHYS DstGCPhys, const void *pvSrc, unsigned cb)
 {
     STAM_PROFILE_ADV_START(&gStatMemWrite, a);
     VBOX_CHECK_ADDR(DstGCPhys);
-    PGMPhysWrite(cpu_single_env->pVM, DstGCPhys, pvSrc, cb, PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite(cpu_single_env->pVM, DstGCPhys, pvSrc, cb, PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     STAM_PROFILE_ADV_STOP(&gStatMemWrite, a);
 #ifdef VBOX_DEBUG_PHYS
     LogRel(("write(%d): %08x\n", cb, (uint32_t)DstGCPhys));
@@ -3890,7 +3892,8 @@ static uint32_t remR3HandlerReadU8(void *pvVM, target_phys_addr_t GCPhys)
 {
     uint8_t u8;
     Log2(("remR3HandlerReadU8: GCPhys=%RGp\n", (RTGCPHYS)GCPhys));
-    PGMPhysRead((PVM)pvVM, GCPhys, &u8, sizeof(u8), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysRead((PVM)pvVM, GCPhys, &u8, sizeof(u8), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return u8;
 }
 
@@ -3898,7 +3901,8 @@ static uint32_t remR3HandlerReadU16(void *pvVM, target_phys_addr_t GCPhys)
 {
     uint16_t u16;
     Log2(("remR3HandlerReadU16: GCPhys=%RGp\n", (RTGCPHYS)GCPhys));
-    PGMPhysRead((PVM)pvVM, GCPhys, &u16, sizeof(u16), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysRead((PVM)pvVM, GCPhys, &u16, sizeof(u16), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return u16;
 }
 
@@ -3906,26 +3910,30 @@ static uint32_t remR3HandlerReadU32(void *pvVM, target_phys_addr_t GCPhys)
 {
     uint32_t u32;
     Log2(("remR3HandlerReadU32: GCPhys=%RGp\n", (RTGCPHYS)GCPhys));
-    PGMPhysRead((PVM)pvVM, GCPhys, &u32, sizeof(u32), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysRead((PVM)pvVM, GCPhys, &u32, sizeof(u32), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
     return u32;
 }
 
 static void     remR3HandlerWriteU8(void *pvVM, target_phys_addr_t GCPhys, uint32_t u32)
 {
     Log2(("remR3HandlerWriteU8: GCPhys=%RGp u32=%#x\n", (RTGCPHYS)GCPhys, u32));
-    PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint8_t), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint8_t), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
 }
 
 static void     remR3HandlerWriteU16(void *pvVM, target_phys_addr_t GCPhys, uint32_t u32)
 {
     Log2(("remR3HandlerWriteU16: GCPhys=%RGp u32=%#x\n", (RTGCPHYS)GCPhys, u32));
-    PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint16_t), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint16_t), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
 }
 
 static void     remR3HandlerWriteU32(void *pvVM, target_phys_addr_t GCPhys, uint32_t u32)
 {
     Log2(("remR3HandlerWriteU32: GCPhys=%RGp u32=%#x\n", (RTGCPHYS)GCPhys, u32));
-    PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint32_t), PGMACCESSORIGIN_REM);
+    VBOXSTRICTRC rcStrict = PGMPhysWrite((PVM)pvVM, GCPhys, &u32, sizeof(uint32_t), PGMACCESSORIGIN_REM);
+    AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc\n", VBOXSTRICTRC_VAL(rcStrict))); NOREF(rcStrict);
 }
 
 /* -+- disassembly -+- */
@@ -4297,15 +4305,15 @@ REMR3DECL(void) REMR3NotifyTimerPending(PVM pVM, PVMCPU pVCpuDst)
     {
         if (pVM->rem.s.Env.pVCpu == pVCpuDst)
         {
-            LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: setting\n"));
+            LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: setting\n"));
             ASMAtomicOrS32((int32_t volatile *)&pVM->rem.s.Env.interrupt_request,
                            CPU_INTERRUPT_EXTERNAL_TIMER);
         }
         else
-            LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: pVCpu:%p != pVCpuDst:%p\n", pVM->rem.s.Env.pVCpu, pVCpuDst));
+            LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: pVCpu:%p != pVCpuDst:%p\n", pVM->rem.s.Env.pVCpu, pVCpuDst));
     }
     else
-        LogIt(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: !fInREM; cpu state=%d\n", VMCPU_GET_STATE(pVCpuDst)));
+        LogIt(RTLOGGRPFLAGS_LEVEL_5, LOG_GROUP_TM, ("REMR3NotifyTimerPending: !fInREM; cpu state=%d\n", VMCPU_GET_STATE(pVCpuDst)));
 #endif
 }
 
diff --git a/src/recompiler/osdep.h b/src/recompiler/osdep.h
index 50480ce..b69d157 100644
--- a/src/recompiler/osdep.h
+++ b/src/recompiler/osdep.h
@@ -29,10 +29,10 @@
 
 /* Misc wrappers */
 #define fflush(file)            RTLogFlush(NULL)
-#define printf(...)             LogIt(LOG_INSTANCE, 0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
+#define printf(...)             LogIt(0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
 /* If DEBUG_TMP_LOGGING - goes to QEMU log file */
 #ifndef DEBUG_TMP_LOGGING
-# define fprintf(logfile, ...)  LogIt(LOG_INSTANCE, 0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
+# define fprintf(logfile, ...)  LogIt(0, LOG_GROUP_REM_PRINTF, (__VA_ARGS__))
 #endif
 
 #define assert(cond)            Assert(cond)
diff --git a/src/recompiler/qemu-log.h b/src/recompiler/qemu-log.h
index ba14794..64d375b 100644
--- a/src/recompiler/qemu-log.h
+++ b/src/recompiler/qemu-log.h
@@ -49,7 +49,7 @@ extern int loglevel;
 #else
 # define qemu_log_vprintf(fmt, va) do { \
         if (LogIsEnabled()) \
-            RTLogLoggerExV(LOG_INSTANCE, RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, fmt, va); \
+            RTLogLoggerExV(RTLOGGRPFLAGS_LEVEL_1, LOG_GROUP, fmt, va); \
     } while (0)
 #endif
 
@@ -99,7 +99,7 @@ extern int loglevel;
 #ifndef VBOX
 #define qemu_log_flush() fflush(logfile)
 #else
-# define qemu_log_flush()           RTLogFlush(LOG_INSTANCE)
+# define qemu_log_flush()           RTLogFlush(NULL)
 #endif
 
 /* Close the log file */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-virtualbox/virtualbox.git



More information about the Pkg-virtualbox-commits mailing list